From matt.kameron at gmail.com Wed Oct 3 05:20:18 2007 From: matt.kameron at gmail.com (Matt K) Date: Wed, 3 Oct 2007 13:20:18 +1000 Subject: [Edu-sig] suggestion on using python robotics in class Message-ID: <53b2477a0710022020pc9cf44i37f7245b20e6da9d@mail.gmail.com> Hi, I'm new to this list and have poked around on the net and such for a way to program robotics using Python, but have only found "annoying" ways which would involve more effort on students' behalf than I'm hoping for. I'm a highschool teacher teaching 15 year olds. They are of very mixed ability and it can be assumed that they've got a handle on based flow control using conditionals but nothing on functions of loops. I'd then like them to switch to robotics (which we do atm any) using Python (atm we do robotics using the mindsotrms GUI which is terrible). The following year they are more formally introduced to loops by writing cgi-scripts, and it is only the year *after* that in which application-level programming is considered (translation: they get to write computer games). So, what I'm after is esentially a simple way where they can type Python code and then upload it somehow to the bricks, when can be run and do their thing. Basics is all that is needed, reading inputs, sending outputs, some ifs and some loops. Maybe functions too. Can anybody either help me by answering this question, or directing me to a previous thread which might contain the answer? Thanks! Matt -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.python.org/pipermail/edu-sig/attachments/20071003/abe33f7a/attachment.htm From kirby.urner at gmail.com Wed Oct 3 05:43:21 2007 From: kirby.urner at gmail.com (kirby urner) Date: Tue, 2 Oct 2007 20:43:21 -0700 Subject: [Edu-sig] suggestion on using python robotics in class In-Reply-To: <53b2477a0710022020pc9cf44i37f7245b20e6da9d@mail.gmail.com> References: <53b2477a0710022020pc9cf44i37f7245b20e6da9d@mail.gmail.com> Message-ID: Hi Matt -- Thanks for your excellent questions. I feel we should clarify though. Is it specifically the Lego Mindstorms bricks (previously the RCX, and now the NXT) that you're targeting? A lot of us have worked with "screen robots" or "virtual robots" that aren't actual mechanical devices. Examples: http://pyrorobotics.org/ http://gvr.sourceforge.net/ On the mechanical front, there's also this Tux Droid for like $90 per unit that is Python programmable, but the experience isn't the same as Mindstorms (the Droid talks in a human voice, but doesn't walk). http://www.tuxisalive.com/ Article from 2001: http://www.onlamp.com/pub/a/python/2001/03/21/pythonnews.html Here's something only a year old about programming the NXT in Python (the newest brick): http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/498085 Re NXT (for those needing background): http://mindstorms.lego.com/Overview/The_NXT.aspx Speaking for myself, I'm more into exploring Tux Droid these days, bought one at OSCON having seen it demoed at EuroPython in Lithuania. The Lego franchise is plenty huge yet doesn't circumscribe what's meant by "robotics". Python bindings to hardware: still in its infancy. Nokia a pioneer. Kirby On 10/2/07, Matt K wrote: > Hi, > > I'm new to this list and have poked around on the net and such for a way to > program robotics using Python, but have only found "annoying" ways which > would involve more effort on students' behalf than I'm hoping for. > > I'm a highschool teacher teaching 15 year olds. They are of very mixed > ability and it can be assumed that they've got a handle on based flow > control using conditionals but nothing on functions of loops. I'd then like > them to switch to robotics (which we do atm any) using Python (atm we do > robotics using the mindsotrms GUI which is terrible). > The following year they are more formally introduced to loops by writing > cgi-scripts, and it is only the year *after* that in which application-level > programming is considered (translation: they get to write computer games). > > So, what I'm after is esentially a simple way where they can type Python > code and then upload it somehow to the bricks, when can be run and do their > thing. Basics is all that is needed, reading inputs, sending outputs, some > ifs and some loops. Maybe functions too. > > Can anybody either help me by answering this question, or directing me to a > previous thread which might contain the answer? > > Thanks! > Matt > > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > > From matt.kameron at gmail.com Wed Oct 3 06:08:54 2007 From: matt.kameron at gmail.com (Matt K) Date: Wed, 3 Oct 2007 14:08:54 +1000 Subject: [Edu-sig] suggestion on using python robotics in class In-Reply-To: References: <53b2477a0710022020pc9cf44i37f7245b20e6da9d@mail.gmail.com> Message-ID: <53b2477a0710022108l328635bbhcff425cd4292ae6@mail.gmail.com> Thanks for your thoughts! Um yes Its RCX. We've got 10 RCX bricks and all the associated bits. I do have budget to buy alternate options if necessary. I did read about the NXT bricks and their ability to go wireless, although I don't have one myself so am not in a position to easily test it. The Python code you link to that interface does look useful, but doesn't contain demo code to show what would actually need to be *written* by the student to make their program. I'm a strong believer in hiding all the unnecessary details from students so that they only learn the big-picture (they're young!), but its hard to judge how possible that will be with this code snipper. I also read other solutions which require the computer to be running Linux. Students at my school each have the own laptops which are heavily administered by IT (as I am sure you can imagine) and it would be impossible to get Linux on them, so I do need a windows-friendly solution. The Tux things seems like a great idea too, and I think I'll grab one of them. However, I still would very much like to do the RCX/NXT thing if at all possible! On 10/3/07, kirby urner wrote: > > Hi Matt -- > > Thanks for your excellent questions. > > I feel we should clarify though. Is it specifically the Lego Mindstorms > bricks (previously the RCX, and now the NXT) that you're targeting? > > A lot of us have worked with "screen robots" or "virtual robots" that > aren't actual mechanical devices. > > Examples: > > http://pyrorobotics.org/ > http://gvr.sourceforge.net/ > > On the mechanical front, there's also this Tux Droid for like $90 per > unit that is Python programmable, but the experience isn't the same > as Mindstorms (the Droid talks in a human voice, but doesn't walk). > > http://www.tuxisalive.com/ > > Article from 2001: > http://www.onlamp.com/pub/a/python/2001/03/21/pythonnews.html > > Here's something only a year old about programming the NXT in > Python (the newest brick): > http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/498085 > > Re NXT (for those needing background): > http://mindstorms.lego.com/Overview/The_NXT.aspx > > Speaking for myself, I'm more into exploring Tux Droid these days, > bought one at OSCON having seen it demoed at EuroPython in > Lithuania. > > The Lego franchise is plenty huge yet doesn't circumscribe what's > meant by "robotics". > > Python bindings to hardware: still in its infancy. Nokia a pioneer. > > Kirby > > On 10/2/07, Matt K wrote: > > Hi, > > > > I'm new to this list and have poked around on the net and such for a way > to > > program robotics using Python, but have only found "annoying" ways which > > would involve more effort on students' behalf than I'm hoping for. > > > > I'm a highschool teacher teaching 15 year olds. They are of very mixed > > ability and it can be assumed that they've got a handle on based flow > > control using conditionals but nothing on functions of loops. I'd then > like > > them to switch to robotics (which we do atm any) using Python (atm we do > > robotics using the mindsotrms GUI which is terrible). > > The following year they are more formally introduced to loops by writing > > cgi-scripts, and it is only the year *after* that in which > application-level > > programming is considered (translation: they get to write computer > games). > > > > So, what I'm after is esentially a simple way where they can type Python > > code and then upload it somehow to the bricks, when can be run and do > their > > thing. Basics is all that is needed, reading inputs, sending outputs, > some > > ifs and some loops. Maybe functions too. > > > > Can anybody either help me by answering this question, or directing me > to a > > previous thread which might contain the answer? > > > > Thanks! > > Matt > > > > _______________________________________________ > > Edu-sig mailing list > > Edu-sig at python.org > > http://mail.python.org/mailman/listinfo/edu-sig > > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.python.org/pipermail/edu-sig/attachments/20071003/f7497b12/attachment.htm From kirby.urner at gmail.com Wed Oct 3 06:18:34 2007 From: kirby.urner at gmail.com (kirby urner) Date: Tue, 2 Oct 2007 21:18:34 -0700 Subject: [Edu-sig] suggestion on using python robotics in class In-Reply-To: <53b2477a0710022108l328635bbhcff425cd4292ae6@mail.gmail.com> References: <53b2477a0710022020pc9cf44i37f7245b20e6da9d@mail.gmail.com> <53b2477a0710022108l328635bbhcff425cd4292ae6@mail.gmail.com> Message-ID: On 10/2/07, Matt K wrote: > The Tux things seems like a great idea too, and I think I'll grab one of > them. However, I still would very much like to do the RCX/NXT thing if at > all possible! > My advice (and I don't speak for anyone but me here): Trying to make Python work with a Lego brick is too esoteric to be worth your effort. On the other hand, you could still use Python (in IDLE or other shell) to talk about loops, other control structures. In my case, I dive into classes/objects almost from the first lesson (per these Showmedo videos): http://showmedo.com/videos/series?name=JkD78HdCD Also maybe check out Andre's RURPLE: http://showmedo.com/videos/series?name=RUR-PLE (I think screen robotics make more sense for a lot of us, not so costly, Legos are expensive fantasies, like 'Survivor' and other so-called "reality shows"). Use the RCX native language and interface for what it is, sounds like you've paid for it. There's no reason to adopt an "all Python, all the time" approach, even if you think it's one of the best languages ever (as I do). Kirby From bblais at bryant.edu Wed Oct 3 14:23:18 2007 From: bblais at bryant.edu (Brian Blais) Date: Wed, 3 Oct 2007 08:23:18 -0400 Subject: [Edu-sig] suggestion on using python robotics in class In-Reply-To: References: <53b2477a0710022020pc9cf44i37f7245b20e6da9d@mail.gmail.com> <53b2477a0710022108l328635bbhcff425cd4292ae6@mail.gmail.com> Message-ID: <3816108E-952D-4C02-8940-FDCA6A0C5D9B@bryant.edu> On Oct 3, 2007, at Oct 3:12:18 AM, kirby urner wrote: > On 10/2/07, Matt K wrote: > >> The Tux things seems like a great idea too, and I think I'll grab >> one of >> them. However, I still would very much like to do the RCX/NXT >> thing if at >> all possible! >> > > My advice (and I don't speak for anyone but me here): > > Trying to make Python work with a Lego brick is too esoteric > to be worth your effort. you certainly don't speak for everyone. ;) I have a very workable solution for both the RCX and the NXT, called pynqc (and pynxc) respectively, which you can find at http://web.bryant.edu/~bblais/projects.html if you email me privately, I can make sure that you have the most recent version, and help you out on install, etc... It's still a little rough on that side, and I am working on making a google project for it too, which will be more convenient. basically, what it does is translate python code to nqc (not quite C, found here: http://bricxcc.sourceforge.net/nqc/), and then lets that do the translation and download to the robot. The same for nxc, which works on the Mindstorms NXT. This one is under serious debugging now, being run for my class that I teach right now, but I'd love to share it with others. Kirby's right, in that writing to the RCX, or NXT, native format would be very hard. It's easier to write to middle-ware, and let that tool take over. In fact, nxc itself translates another language, nbc, in the background before compiling to robot byte code. bb -- Brian Blais bblais at bryant.edu http://web.bryant.edu/~bblais -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.python.org/pipermail/edu-sig/attachments/20071003/6e2cdf06/attachment.htm From kirby.urner at gmail.com Wed Oct 3 20:06:26 2007 From: kirby.urner at gmail.com (kirby urner) Date: Wed, 3 Oct 2007 11:06:26 -0700 Subject: [Edu-sig] More lesson planning... Message-ID: My thanks to the coffee clutch mathematicians [1] for inspiring lesson plans around L337.[2] You might think writing a decrypter would be easy, but I'm showing below why the simply one-for-one letter substitution idea won't work. I'd hesitate to use regular expressions. The idea of tokenizing, a subclass of parsing, rears its (not so ugly) head. So the code below, while perhaps motivational, is not (repeat not) a solution, as the test code clearly proves. Kirby [1] http://mathforum.org/kb/thread.jspa?threadID=1628625&tstart=0 [2] http://www.urbandictionary.com/define.php?term=L337 ==== # -*- coding: cp1252 -*- L337 = dict( A='4', B='B', C='(', D='|', E='3', F='Ph', G='6', H='(-)', I='1', J='j', K='K', L='!', M='/\\/\\', # escaping \ N='/\\/', O='?', P='P', Q='Q', R='r', S='$', T='7', U='()', V='\/', W='\/\/', X='xx', Y='?', Z='Z') def reverse_dict(anydict): newdict = {} for thekey in anydict: newdict[anydict[thekey]] = thekey return newdict rev_L337 = reverse_dict(L337) def decrypt(c, permuter): p = [] for letter in c: p.append(permuter.get(letter,letter)) return ''.join(p) def test(): # NOTE: the test fails print decrypt('641|_ +|-|4<|<3|2y 5|_|x0|25.', rev_L337) if __name__ == '__main__': test() From MDiPierro at cti.depaul.edu Mon Oct 8 21:53:02 2007 From: MDiPierro at cti.depaul.edu (DiPierro, Massimo) Date: Mon, 8 Oct 2007 14:53:02 -0500 Subject: [Edu-sig] teaching server side programming Message-ID: Hi, I just wanted to point you to Gluon: http://mdp.cti.depaul.edu/examples it is a web framework designed by a teacher (me) with students in mind. It requires no installation and no configuration. It comes with web server and sql database in one package. The all development, deployment and management of applications is done via a web interface. It allows teachers to focus on the Model-View-Controller without messing up with details such as shell programming. Everything has a default: Students can design the database and the system gives them an administrative interface. Students can design the application logic and the system writes default generic templates to present the output in html. Applications can be packaged via the web interface and easily exchanged between students and faculty. The framework has a built-in ticketing system so one can retrieve and debug errors at a later time. If you like Rails and Django, you may like Gluon. We will be using it at DePaul in a new class on Web Frameworks and possibly to teach intro web programming concepts. Massimo Di Pierro DePaul University, School of Computer Science, Telecommunications and Information Systems From kirby.urner at gmail.com Mon Oct 8 22:05:37 2007 From: kirby.urner at gmail.com (kirby urner) Date: Mon, 8 Oct 2007 13:05:37 -0700 Subject: [Edu-sig] teaching server side programming In-Reply-To: References: Message-ID: On 10/8/07, DiPierro, Massimo wrote: > Hi, > > I just wanted to point you to Gluon: > > http://mdp.cti.depaul.edu/examples > Way cool. Was just blogging about MVC a few minutes ago. This is very apropos to my work as a curriculum writer. Expect more links in future. http://mybizmo.blogspot.com/2007/10/more-mvc-talk.html Kirby From jan.ulrich at hasecke.com Wed Oct 10 14:28:36 2007 From: jan.ulrich at hasecke.com (Jan Ulrich Hasecke) Date: Wed, 10 Oct 2007 14:28:36 +0200 Subject: [Edu-sig] Thesis about Python & Zope Message-ID: <4438248D-9657-4AEB-B639-BE2234105EEF@hasecke.com> Hi, did anybody already posted this link? http://www.stadtgespraeche.com/technik It is a thesis in German about Python and Zope in education. The only one in German AFAIK. Next week I have a meeting as representative of the parents in the school of my boys. And the agenda sounds as if there are chances to discuss new approaches in teaching computer science. Up to now they only sporadically uses Openoffice.org. They heard about Open Source Software but Python is the name of a serpent. ;-) I hope to say something about Python, I even suggested a workshop and I would like to back up my words with educational studies. I know there are tons of good links in the archives of this list, but I am so busy that I fear I could not evaluate them. It would be more than nice, if you could point me to a page with links to revelant studies or just post links to new studies. Studies with european context preferred. TIA juh -- www.sudelbuch.de Satiren und Essays -------------- next part -------------- A non-text attachment was scrubbed... Name: PGP.sig Type: application/pgp-signature Size: 186 bytes Desc: Signierter Teil der Nachricht Url : http://mail.python.org/pipermail/edu-sig/attachments/20071010/4033cee6/attachment.pgp From kirby.urner at gmail.com Wed Oct 10 16:18:37 2007 From: kirby.urner at gmail.com (kirby urner) Date: Wed, 10 Oct 2007 07:18:37 -0700 Subject: [Edu-sig] Thesis about Python & Zope In-Reply-To: <4438248D-9657-4AEB-B639-BE2234105EEF@hasecke.com> References: <4438248D-9657-4AEB-B639-BE2234105EEF@hasecke.com> Message-ID: On 10/10/07, Jan Ulrich Hasecke wrote: > I hope to say something about Python, I even suggested a workshop and > I would like to back up my words with educational studies. > Hi Jan -- Sometimes one just needs a lot of substantive lesson plans, versus a lot of theory justifying why such lesson plans might be a good idea. If you get to that point, I have a large stash here: http://www.4dsolutions.net/ocn/cp4e.html Also showmedo.com is a good site. Also you're right: the archive here is bristling with links, going back seven years or more (many still as relevant as ever). I bet other posters with chime in with some favorites (?). So far, we teach Python to a few lucky middle and high schoolers in Portland Public Schools, as well as in our elite private academy (an NGO set up by Silicon Forest execs, specifically to nurture geekdom -- saturdayacademy.org). For example, here're some leftover web pages from my work at Winterhaven, one of our flagship publics: http://www.4dsolutions.net/ocn/winterhaven/ Plus I'm starting a new gig with LEP High, our newest public charter. http://www.koreducators.org/ > I know there are tons of good links in the archives of this list, but > I am so busy that I fear I could not evaluate them. It would be more > than nice, if you could point me to a page with links to revelant > studies or just post links to new studies. Studies with european > context preferred. > > TIA > juh Just tell your audience of parents (right?) that their counterparts in my neck of the woods are already racing ahead in this respect. Portland considers itself an open source capital with a reputation to protect: http://www.csmonitor.com/2005/1128/p03s02-ussc.html One of my own students / advisees, whom I started working with in 8th grade, was at the Portland Python User Group last night, now a high schooler, signifying the torch is already well on the way to being passed: http://worldgame.blogspot.com/2007/10/ppug-cubespace.html Kirby From jasonrbriggs at gmail.com Wed Oct 10 23:40:33 2007 From: jasonrbriggs at gmail.com (Jason R Briggs) Date: Thu, 11 Oct 2007 10:40:33 +1300 Subject: [Edu-sig] python for kids... Message-ID: <470D46D1.5090905@gmail.com> Hi All I'm hoping to get some feedback (flameback?) for a book I've been working on (on and off for the last year or so), endeavouring to teach Python to kids (8-12). It's not perfect (by any stretch of the imagination), since it hasn't had a professional edit -- nor have I given it the requisite 6 month or so cooling down period to go back and hack out large chunks of dross with a bit of "what-the-hell-was-I-thinking" objectivity. But I'm hoping some may find it useful, and over time I might get enough feedback to tidy it up a bit. Anyway, the download link can be found on this page: http://www.briggs.net.nz/log/writing/snake-wrangling-for-kids/ And a bit of background reading as to why I even bothered can be found here, if at all interested: http://www.briggs.net.nz/log/category/swfk/ Any commentary would be useful, and attribution will, of course, be given. Jason From andre.roberge at gmail.com Thu Oct 11 00:35:29 2007 From: andre.roberge at gmail.com (Andre Roberge) Date: Wed, 10 Oct 2007 19:35:29 -0300 Subject: [Edu-sig] python for kids... In-Reply-To: <470D46D1.5090905@gmail.com> References: <470D46D1.5090905@gmail.com> Message-ID: <7528bcdd0710101535j6c0ec57dlbe08f4f3f2c2864e@mail.gmail.com> This is very much a first reaction after glancing through your book. I find that, for a first draft done on your own, it looks very professional. I like the simple use of colors (green code and red visible spaces), and the illustrations are nice. After this first "reading", I would suggest to move the turtle stuff much, much sooner ... as soon as possible in fact. I think you can really get the kids hooked from that, giving them motivation to do the strings stuff later. But that's my own bias... The Tkinter introduction is really nice - I don't recall seeing something this nice before. However, I would suggest that you have a look at pyglet. After playing a bit with it, I find that pyglet has a lot of potential, perhaps more (imo) than the standard pygame. (for one thing, being a pure Python module, it can be used right way "as is" when changing Python version, rather than having to rely on someone else compiling it) I'll try to really read through it in the near future and provide more meaningful feedback. For now: "Great job!" :-) Andr? On 10/10/07, Jason R Briggs wrote: > > Hi All > > I'm hoping to get some feedback (flameback?) for a book I've been > working on (on and off for the last year or so), endeavouring to teach > Python to kids (8-12). It's not perfect (by any stretch of the > imagination), since it hasn't had a professional edit -- nor have I > given it the requisite 6 month or so cooling down period to go back and > hack out large chunks of dross with a bit of > "what-the-hell-was-I-thinking" objectivity. But I'm hoping some may > find it useful, and over time I might get enough feedback to tidy it up > a bit. > > Anyway, the download link can be found on this page: > http://www.briggs.net.nz/log/writing/snake-wrangling-for-kids/ > > And a bit of background reading as to why I even bothered can be found > here, if at all interested: > http://www.briggs.net.nz/log/category/swfk/ > > Any commentary would be useful, and attribution will, of course, be given. > > Jason > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.python.org/pipermail/edu-sig/attachments/20071010/512b0409/attachment.htm From delza at livingcode.org Thu Oct 11 05:22:51 2007 From: delza at livingcode.org (Dethe Elza) Date: Wed, 10 Oct 2007 20:22:51 -0700 Subject: [Edu-sig] python for kids... In-Reply-To: <470D46D1.5090905@gmail.com> References: <470D46D1.5090905@gmail.com> Message-ID: <24d517dd0710102022o772d7899t7118dfe203b4773@mail.gmail.com> Hi Jason, Good timing. My kids have pushed Scratch about as far as they can go, and have been pushing me to teach them Python. I'm working on a Scratch-like environment to get them started, but I'll print out your draft and test it out on them. Just a warning in advance, my kids (10 year old girl and 7 year old boy) are my usual QA team, and they can be very tough critics ;-) I'll let you know how it goes, and subscribe to your RSS feed. Thanks for taking this on. Python has great documentation in a lot of areas, but kids haven't been well served. I'm glad to see you addressing that need. --Dethe From kirby.urner at gmail.com Thu Oct 11 05:56:59 2007 From: kirby.urner at gmail.com (kirby urner) Date: Wed, 10 Oct 2007 20:56:59 -0700 Subject: [Edu-sig] python for kids... In-Reply-To: <470D46D1.5090905@gmail.com> References: <470D46D1.5090905@gmail.com> Message-ID: Hey Jason -- Just took a look, already prejudiced to like it by the title and cover. 'Snake Wrangling...' I like that. We're using 'web wrangler' instead of 'web master' around here some too. I'm looking forward to where gems such as yours get used to seed a version control tree. Talented, perhaps tiny groups, share commit privileges, one doing graphic art, another doing a particular themed section -- whatever division of labor. We do it with code, we should do it with cyber-books. Anyway, lots to like about your generous nudge in the right direction. Kirby On 10/10/07, Jason R Briggs wrote: > Hi All > > I'm hoping to get some feedback (flameback?) for a book I've been > working on (on and off for the last year or so), endeavouring to teach > Python to kids (8-12). It's not perfect (by any stretch of the > imagination), since it hasn't had a professional edit -- nor have I > given it the requisite 6 month or so cooling down period to go back and > hack out large chunks of dross with a bit of > "what-the-hell-was-I-thinking" objectivity. But I'm hoping some may > find it useful, and over time I might get enough feedback to tidy it up > a bit. > From kirby.urner at gmail.com Thu Oct 11 06:05:33 2007 From: kirby.urner at gmail.com (kirby urner) Date: Wed, 10 Oct 2007 21:05:33 -0700 Subject: [Edu-sig] python for kids... In-Reply-To: References: <470D46D1.5090905@gmail.com> Message-ID: > We're using 'web wrangler' instead of 'web master' around here > some too. > PS: and speaking of cover art, let's not forget a snake wrangler might well be a XX (vs an XY): http://mybizmo.blogspot.com/2005/08/web-wrangler.html (sometimes "boys" still think CS is their exclusive domain -- we counter that early in our Silicon Forest curriculum (with the truth)). Kirby From annaraven at gmail.com Thu Oct 11 06:29:00 2007 From: annaraven at gmail.com (Anna Ravenscroft) Date: Wed, 10 Oct 2007 21:29:00 -0700 Subject: [Edu-sig] python for kids... In-Reply-To: <7528bcdd0710101535j6c0ec57dlbe08f4f3f2c2864e@mail.gmail.com> References: <470D46D1.5090905@gmail.com> <7528bcdd0710101535j6c0ec57dlbe08f4f3f2c2864e@mail.gmail.com> Message-ID: On Oct 10, 2007 3:35 PM, Andre Roberge wrote: > This is very much a first reaction after glancing through your book. > > I find that, for a first draft done on your own, it looks very > professional. I like the simple use of colors (green code and red visible > spaces), and the illustrations are nice. Green and red are poor choices, unfortunately, since that is the most common form of color-blindness. I'd suggest you run the pdf thru vischeck to see if it really works for colorblind people. (www.vischeck.com) I look forward to having time to look at this more in depth later. Thanks for posting it (and for doing so much work to bring Python to a new audience!) -- cordially, Anna -- Walking through the water. Trying to get across. Just like everybody else. From belred at gmail.com Thu Oct 11 07:28:07 2007 From: belred at gmail.com (Bryan) Date: Wed, 10 Oct 2007 22:28:07 -0700 Subject: [Edu-sig] python for kids... In-Reply-To: <24d517dd0710102022o772d7899t7118dfe203b4773@mail.gmail.com> References: <470D46D1.5090905@gmail.com> <24d517dd0710102022o772d7899t7118dfe203b4773@mail.gmail.com> Message-ID: <38f48f590710102228qa5774ecg84e67065c13e1191@mail.gmail.com> On 10/10/07, Dethe Elza wrote: > Hi Jason, > > Good timing. My kids have pushed Scratch about as far as they can go, > and have been pushing me to teach them Python. I'm working on a > Scratch-like environment to get them started, but I'll print out your > draft and test it out on them. Just a warning in advance, my kids (10 > year old girl and 7 year old boy) are my usual QA team, and they can > be very tough critics ;-) > > I'll let you know how it goes, and subscribe to your RSS feed. Thanks > for taking this on. Python has great documentation in a lot of areas, > but kids haven't been well served. I'm glad to see you addressing > that need. > > --Dethe > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > hi dethe (and everyone), i wanted to let you know that i'm a professional developer and have recently started volunteering at a local high school teaching a python. after months of going back and forth, i've decided to take the approach of not watering down python even to kids that have never programmed before. instead, i'm taking it slow. my goal is that whatever they learn, no matter how much or how little, it will be exactly the same style/kind/type of code that i use professionally. i've decided to use "Python Programming for the Absolute Beginner, Second Edition" (http://tinyurl.com/2vbx7u) as my text book and it's working out well so far. my eight year old daughter has asked me teach her the same things i teach the class and she is understanding everything so far too. so, i'm not convinced that watering down python for kids is the right way to teach python to kids. python is easy enough already :) just my 2 cents worth... just wanted to give you another option. bryan From jan.ulrich at hasecke.com Thu Oct 11 08:02:35 2007 From: jan.ulrich at hasecke.com (Jan Ulrich Hasecke) Date: Thu, 11 Oct 2007 08:02:35 +0200 Subject: [Edu-sig] python for kids... In-Reply-To: <470D46D1.5090905@gmail.com> References: <470D46D1.5090905@gmail.com> Message-ID: <75BFFA6E-0A14-4D9E-A76C-8D117CB01585@hasecke.com> Am 10.10.2007 um 23:40 schrieb Jason R Briggs: > Anyway, the download link can be found on this page: > http://www.briggs.net.nz/log/writing/snake-wrangling-for-kids/ > > And a bit of background reading as to why I even bothered can be found > here, if at all interested: > http://www.briggs.net.nz/log/category/swfk/ > > Any commentary would be useful, and attribution will, of course, be > given. Great. There is a book in German around for some years now. http://www.amazon.de/Python-f%C3%BCr-Kids-Mit-CD-ROM/dp/3826686225/ ref=pd_bbs_sr_1/302-5092274-5951235? ie=UTF8&s=books&qid=1192082364&sr=8-1 Though it is in German you perhaps can profit from the approach. It uses turtle. juh -- www.sudelbuch.de Satiren und Essays -------------- next part -------------- A non-text attachment was scrubbed... Name: PGP.sig Type: application/pgp-signature Size: 186 bytes Desc: Signierter Teil der Nachricht Url : http://mail.python.org/pipermail/edu-sig/attachments/20071011/cd52e1d7/attachment.pgp From jasonrbriggs at gmail.com Thu Oct 11 08:52:11 2007 From: jasonrbriggs at gmail.com (Jason R Briggs) Date: Thu, 11 Oct 2007 19:52:11 +1300 Subject: [Edu-sig] Just demonstrated I shouldn't be trusted on a computer... Message-ID: <470DC81B.6060909@gmail.com> Sigh. I just realised that I replied to 3 of the postings directly to the poster, rather than to the list. Bloomin' Thunderbird default. Just so people don't think I'm ignoring all the (incredibly) helpful replies, I'm copy+pasting said replies below, and my apologies for any confusion. Blame it on 3 days of flu. To Richard Guenther: > That's brilliant. Exactly what I was hoping for. To kirby urner: > My fault. I requested cowboy rather than gal, from the artist. > > But I did keep that in mind in the text (see Chap 7). > Plus at least one of the illustrations is for the correct(!) gender. > To Anna Ravenscroft: > Very good point, and thanks for the links. I tried about 10 different > samples in ImageJ (pages with code samples, particularly the red > and the green). While they (rather obviously) don't stay red (or > green), I think it's still workable. The red spaces on that particular > page are rather close in shade to the green (for both deuteranopes > and protanopes), but I believe the difference is visible enough. Of > course, I am quite prepared to change the colour scheme as soon > as someone (colour blind) comes along > and tells me I'm a prat and it looks like rubbish... J From jasonrbriggs at gmail.com Thu Oct 11 08:57:01 2007 From: jasonrbriggs at gmail.com (Jason R Briggs) Date: Thu, 11 Oct 2007 19:57:01 +1300 Subject: [Edu-sig] python for kids... In-Reply-To: <38f48f590710102228qa5774ecg84e67065c13e1191@mail.gmail.com> References: <470D46D1.5090905@gmail.com> <24d517dd0710102022o772d7899t7118dfe203b4773@mail.gmail.com> <38f48f590710102228qa5774ecg84e67065c13e1191@mail.gmail.com> Message-ID: <470DC93D.50507@gmail.com> Hi Bryan I don't think I'm particularly watering things down. Rather taking it slow and going with the basics. The original idea came from David Brin's Salon article last year, which decried a lack of ability in finding a workable version of Basic to teach his son, and argued against 'scripting' languages (like Python). So I was focussing more on covering the basics of programming that I remember reading when I first learned basic at the age of 8 (which was, scarily, almost 30 years ago). J Bryan wrote: > hi dethe (and everyone), > > i wanted to let you know that i'm a professional developer and have > recently started volunteering at a local high school teaching a > python. after months of going back and forth, i've decided to take > the approach of not watering down python even to kids that have never > programmed before. instead, i'm taking it slow. my goal is that > whatever they learn, no matter how much or how little, it will be > exactly the same style/kind/type of code that i use professionally. > i've decided to use "Python Programming for the Absolute Beginner, > Second Edition" (http://tinyurl.com/2vbx7u) as my text book and it's > working out well so far. my eight year old daughter has asked me teach > her the same things i teach the class and she is understanding > everything so far too. so, i'm not convinced that watering down > python for kids is the right way to teach python to kids. python is > easy enough already :) just my 2 cents worth... just wanted to give > you another option. > > bryan > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > > From jasonrbriggs at gmail.com Thu Oct 11 09:26:21 2007 From: jasonrbriggs at gmail.com (Jason R Briggs) Date: Thu, 11 Oct 2007 20:26:21 +1300 Subject: [Edu-sig] python for kids... In-Reply-To: <75BFFA6E-0A14-4D9E-A76C-8D117CB01585@hasecke.com> References: <470D46D1.5090905@gmail.com> <75BFFA6E-0A14-4D9E-A76C-8D117CB01585@hasecke.com> Message-ID: <470DD01D.4070700@gmail.com> Hi Jan It looks good (although I can't read German... ;-) Maybe German kids are more advanced, because I note there's also a PHP and MySQL book for kids as well. Amazing when I consider I looked on Amazon US/UK (a year ago) and found nothing that I thought was particularly relevant to programming and kids. I'm using Turtle as well, by the way. J Jan Ulrich Hasecke wrote: > Great. There is a book in German around for some years now. > > http://www.amazon.de/Python-f%C3%BCr-Kids-Mit-CD-ROM/dp/3826686225/ref=pd_bbs_sr_1/302-5092274-5951235?ie=UTF8&s=books&qid=1192082364&sr=8-1 > > > Though it is in German you perhaps can profit from the approach. It > uses turtle. > > juh > > --www.sudelbuch.de > Satiren und Essays > > > > From jasonrbriggs at gmail.com Thu Oct 11 09:35:47 2007 From: jasonrbriggs at gmail.com (Jason R Briggs) Date: Thu, 11 Oct 2007 20:35:47 +1300 Subject: [Edu-sig] python for kids... In-Reply-To: References: <470D46D1.5090905@gmail.com> <7528bcdd0710101535j6c0ec57dlbe08f4f3f2c2864e@mail.gmail.com> Message-ID: <470DD253.2030200@gmail.com> I did (briefly) consider pyglet and a few other libraries, but in the end decided to avoid as much 3rd party stuff as possible. My hope was/is that non-(or not very)-technical parents will be able to get their kids started with as few downloads as possible. I know what you mean about moving the Turtle chapter earlier. Maybe I need to revisit that decision. I was worried that it might not make as much sense if it was too early, but perhaps I'm being to conservative. Happy to be lead on that front. Andre Roberge wrote: > > > This is very much a first reaction after glancing through your book. > > I find that, for a first draft done on your own, it looks very > professional. I like the simple use of colors (green code and red > visible spaces), and the illustrations are nice. > > After this first "reading", I would suggest to move the turtle stuff > much, much sooner ... as soon as possible in fact. I think you can > really get the kids hooked from that, giving them motivation to do the > strings stuff later. But that's my own bias... > > The Tkinter introduction is really nice - I don't recall seeing > something this nice before. However, I would suggest that you have a > look at pyglet. After playing a bit with it, I find that pyglet has a > lot of potential, perhaps more (imo) than the standard pygame. (for > one thing, being a pure Python module, it can be used right way "as > is" when changing Python version, rather than having to rely on > someone else compiling it) > > I'll try to really read through it in the near future and provide more > meaningful feedback. > > For now: "Great job!" :-) > > Andr? > > > On 10/10/07, *Jason R Briggs* < jasonrbriggs at gmail.com > > wrote: > > Hi All > > I'm hoping to get some feedback (flameback?) for a book I've been > working on (on and off for the last year or so), endeavouring to teach > Python to kids (8-12). It's not perfect (by any stretch of the > imagination), since it hasn't had a professional edit -- nor have I > given it the requisite 6 month or so cooling down period to go > back and > hack out large chunks of dross with a bit of > "what-the-hell-was-I-thinking" objectivity. But I'm hoping some may > find it useful, and over time I might get enough feedback to tidy > it up > a bit. > > Anyway, the download link can be found on this page: > http://www.briggs.net.nz/log/writing/snake-wrangling-for-kids/ > > And a bit of background reading as to why I even bothered can be found > here, if at all interested: > http://www.briggs.net.nz/log/category/swfk/ > > Any commentary would be useful, and attribution will, of course, > be given. > > Jason > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > > From delza at livingcode.org Thu Oct 11 18:34:29 2007 From: delza at livingcode.org (Dethe Elza) Date: Thu, 11 Oct 2007 09:34:29 -0700 Subject: [Edu-sig] python for kids... In-Reply-To: <38f48f590710102228qa5774ecg84e67065c13e1191@mail.gmail.com> References: <470D46D1.5090905@gmail.com> <24d517dd0710102022o772d7899t7118dfe203b4773@mail.gmail.com> <38f48f590710102228qa5774ecg84e67065c13e1191@mail.gmail.com> Message-ID: <24d517dd0710110934w1eac6aaeg31dd1f7515159c43@mail.gmail.com> Hi Bryan, I'm not trying to water down Python too much, but I want them to have a great experience right out of the box. They have both been programming in Scratch (http://scratch.mit.edu/) now, so their expectations are that they can get up and running with some graphics moving around and doing things, under their control, pretty quickly. I'm trying to build a lightweight library on top of Pygame to provide that experience. I've tried showing my seven-year-old straight Python, getting it to read his name from the command-line and say hello to him, but he doesn't really get why you would want to do that. To him, a program involves graphics, and since he's used to making programs with graphics already, it's hard to argue with that. On the other hand, Scratch sets up a pretty constrained environment: No strings, variables can only be numbers, no return values (asynchronous message sends only), no file access, no network access, can only draw on the background, not on sprites (programatically: it includes a drawing tool for editing sprites), no runtime instantiation, no subroutines, etc. It's actually amazing what you can do in such a constrained environment, and the tools it does give you are inspiring, but think kids who hit the limits of Scratch and turn to Python will be disappointed and frustrated unless there is a path for them to get productive quickly. Of course, you mileage may vary. My goal and yours are the same: Get them up to speed with Python, not a dumbed-down mini-language or environment. But on the other hand, *I* feel more productive in Scratch (until I hit the wall of its limitations), so I don't really think providing a nice graphical starter kit for Python is a bad thing. --Dethe From heistooheavy at yahoo.com Fri Oct 12 01:08:28 2007 From: heistooheavy at yahoo.com (Richard Guenther) Date: Thu, 11 Oct 2007 16:08:28 -0700 (PDT) Subject: [Edu-sig] python for kids... Message-ID: <934751.63712.qm@web63315.mail.re1.yahoo.com> >PS: and speaking of cover art, let's not forget a snake wrangler >might well be a XX (vs an XY).... Nice point, Kirby. Jason: Just tonight about 12 of my students in my high school computer programming club (more than half of them are girls, with minorities being highly represented*) began to "devour" your book. I can't think of a better term to describe the way they went at it. Some started on page 1, others went right to the turtles :-) Seven or Eight of them have volunteered to be "official" reviewers of your book. They will be going through it word by word, I imagine. (* = I have two Nepali girls, four Latinas, one Chinese girl, three girls heavily into Manga, and the usual assortment of boys....) Thanks for sharing! Richard ____________________________________________________________________________________ Building a website is a piece of cake. Yahoo! Small Business gives you all the tools to get online. http://smallbusiness.yahoo.com/webhosting -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.python.org/pipermail/edu-sig/attachments/20071011/111a2f90/attachment.htm From heistooheavy at yahoo.com Fri Oct 12 01:08:28 2007 From: heistooheavy at yahoo.com (Richard Guenther) Date: Thu, 11 Oct 2007 16:08:28 -0700 (PDT) Subject: [Edu-sig] python for kids... Message-ID: <934751.63712.qm@web63315.mail.re1.yahoo.com> >PS: and speaking of cover art, let's not forget a snake wrangler >might well be a XX (vs an XY).... Nice point, Kirby. Jason: Just tonight about 12 of my students in my high school computer programming club (more than half of them are girls, with minorities being highly represented*) began to "devour" your book. I can't think of a better term to describe the way they went at it. Some started on page 1, others went right to the turtles :-) Seven or Eight of them have volunteered to be "official" reviewers of your book. They will be going through it word by word, I imagine. (* = I have two Nepali girls, four Latinas, one Chinese girl, three girls heavily into Manga, and the usual assortment of boys....) Thanks for sharing! Richard ____________________________________________________________________________________ Building a website is a piece of cake. Yahoo! Small Business gives you all the tools to get online. http://smallbusiness.yahoo.com/webhosting -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.python.org/pipermail/edu-sig/attachments/20071011/111a2f90/attachment-0001.htm From jasonrbriggs at gmail.com Fri Oct 12 03:07:43 2007 From: jasonrbriggs at gmail.com (Jason R Briggs) Date: Fri, 12 Oct 2007 14:07:43 +1300 Subject: [Edu-sig] python for kids... In-Reply-To: <934751.63712.qm@web63315.mail.re1.yahoo.com> References: <934751.63712.qm@web63315.mail.re1.yahoo.com> Message-ID: <470EC8DF.3070004@gmail.com> Awesome. If they come back with comments, make sure you include names and so on. Cause I'll add a "Thanks to" somewhere at the beginning and start a list... J Richard Guenther wrote: > > >PS: and speaking of cover art, let's not forget a snake wrangler > >might well be a XX (vs an XY).... > > > > Nice point, Kirby. > > Jason: Just tonight about 12 of my students in my high school > computer programming club (more than half of them are girls, with > minorities being highly represented*) began to "devour" your book. I > can't think of a better term to describe the way they went at it. > Some started on page 1, others went right to the turtles :-) Seven or > Eight of them have volunteered to be "official" reviewers of your > book. They will be going through it word by word, I imagine. > > (* = I have two Nepali girls, four Latinas, one Chinese girl, three > girls heavily into Manga, and the usual assortment of boys....) > > Thanks for sharing! > > Richard > > ------------------------------------------------------------------------ > Tonight's top picks. What will you watch tonight? Preview the hottest > shows > > on Yahoo! TV. > ------------------------------------------------------------------------ > > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > From anharrington at gmail.com Fri Oct 12 17:31:40 2007 From: anharrington at gmail.com (Andrew Harrington) Date: Fri, 12 Oct 2007 10:31:40 -0500 Subject: [Edu-sig] python for kids... In-Reply-To: <470D46D1.5090905@gmail.com> References: <470D46D1.5090905@gmail.com> Message-ID: Very engaging book, Jason! I agree that earlier Turtles would be nice. I also like the idea of using Idle, but your agnostic approach is certainly a choice. I would encourage saving program files earlier. particularly if they make neat Turtle designs, it would be nice to save the code! Idle makes that easy. You can see my approach to Idle in my tutorial (aimed more at high school and older). http://cs.luc.edu/anh/python/hands-on I also use John Zelle's idea of how to start Idle in a directory where you have your files. Andy Harrington On 10/10/07, Jason R Briggs wrote: > > Hi All > > I'm hoping to get some feedback (flameback?) for a book I've been > working on (on and off for the last year or so), endeavouring to teach > Python to kids (8-12). It's not perfect (by any stretch of the > imagination), since it hasn't had a professional edit -- nor have I > given it the requisite 6 month or so cooling down period to go back and > hack out large chunks of dross with a bit of > "what-the-hell-was-I-thinking" objectivity. But I'm hoping some may > find it useful, and over time I might get enough feedback to tidy it up > a bit. > > Anyway, the download link can be found on this page: > http://www.briggs.net.nz/log/writing/snake-wrangling-for-kids/ > > And a bit of background reading as to why I even bothered can be found > here, if at all interested: > http://www.briggs.net.nz/log/category/swfk/ > > Any commentary would be useful, and attribution will, of course, be given. > > Jason > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > -- Andrew N. Harrington Director of Academic Programs Computer Science Department Loyola University Chicago 512B Lewis Towers (office) Snail mail to Lewis Towers 416 820 North Michigan Avenue Chicago, Illinois 60611 http://www.cs.luc.edu/~anh Phone: 312-915-7999 Fax: 312-915-7998 gdp at cs.luc.edu for graduate administration upd at cs.luc.edu for undergrad administration aharrin at luc.edu as professor -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.python.org/pipermail/edu-sig/attachments/20071012/7abac1a6/attachment.htm From mfh at pobox.com Fri Oct 12 18:48:37 2007 From: mfh at pobox.com (Michelle Friend Hutton) Date: Fri, 12 Oct 2007 09:48:37 -0700 Subject: [Edu-sig] python for kids... In-Reply-To: <24d517dd0710110934w1eac6aaeg31dd1f7515159c43@mail.gmail.com> References: <470D46D1.5090905@gmail.com> <24d517dd0710102022o772d7899t7118dfe203b4773@mail.gmail.com> <38f48f590710102228qa5774ecg84e67065c13e1191@mail.gmail.com> <24d517dd0710110934w1eac6aaeg31dd1f7515159c43@mail.gmail.com> Message-ID: I've only glanced at the book, but I love the writing style - a huge problem I have is in finding books appropriate for younger students. Regular books like Python Programming for Absolute Beginners are accessible for high schoolers but not younger, in my experience. I agree with the goals of not watering down Python AND getting graphics in as soon as possible. I have had a similar experience to Dethe with my students - they are simply not compelled by "Hello World" and similar text-based approaches. We need graphics as soon as possible to keep the reluctant programmers interested. I believe there's a lightweight good-for-teaching interface for pygame called livewires. It is used in the PPfAB book. One question is the goal - are we trying to inspire kids to love programming, trying to indoctrinate them into the world of open source, trying to teach some basic computer science concepts, trying to make them good digitial citizens of the 21st century... the approach depends on the kids and on the goal. --Michelle On Oct 11, 2007, at 9:34 AM, Dethe Elza wrote: > Hi Bryan, > > I'm not trying to water down Python too much, but I want them to have > a great experience right out of the box. They have both been > programming in Scratch (http://scratch.mit.edu/) now, so their > expectations are that they can get up and running with some graphics > moving around and doing things, under their control, pretty quickly. > I'm trying to build a lightweight library on top of Pygame to provide > that experience. I've tried showing my seven-year-old straight > Python, getting it to read his name from the command-line and say > hello to him, but he doesn't really get why you would want to do that. > To him, a program involves graphics, and since he's used to making > programs with graphics already, it's hard to argue with that. > > On the other hand, Scratch sets up a pretty constrained environment: > No strings, variables can only be numbers, no return values > (asynchronous message sends only), no file access, no network access, > can only draw on the background, not on sprites (programatically: it > includes a drawing tool for editing sprites), no runtime > instantiation, no subroutines, etc. It's actually amazing what you > can do in such a constrained environment, and the tools it does give > you are inspiring, but think kids who hit the limits of Scratch and > turn to Python will be disappointed and frustrated unless there is a > path for them to get productive quickly. > > Of course, you mileage may vary. My goal and yours are the same: Get > them up to speed with Python, not a dumbed-down mini-language or > environment. But on the other hand, *I* feel more productive in > Scratch (until I hit the wall of its limitations), so I don't really > think providing a nice graphical starter kit for Python is a bad > thing. > > --Dethe > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > From kirby.urner at gmail.com Fri Oct 12 21:13:57 2007 From: kirby.urner at gmail.com (kirby urner) Date: Fri, 12 Oct 2007 12:13:57 -0700 Subject: [Edu-sig] Curriculum fine tuning... Message-ID: So I'm coming to see how it's important to keep this "core Python" idea current, as newbies from other languages are used to a certain blending with eye candy, e.g. Visual Studio, and think there's a fight for "first lady" by Qt, Tk, wx and like that. But there's not. Python the language is agnostic about eye candy or, as flies around here (where theology isn't as well understood), isn't monogamous with any particular widgets library. Use none, use them all, use anything in between. Roll your own. Part of what keeps Python simple to upgrade, migrate along a 3.x path for example, is it isn't weighed down with all these enormous commitments to AWT or Swing type add-ons. Even the Standard Library is relatively spare, when it comes to UI stuff. On the other hand, Tk has a great future. I've seen it used for air traffic control systems and hey, if it does the job... easier to train new Tk programmers to enchance and debug, than to start from scratch in .NET or whatever. As long as the planes stay just as safe. Tk is pretty stable, well understood, so really, I'm not kidding. Bright future. Kirby From kirby.urner at gmail.com Fri Oct 12 21:20:14 2007 From: kirby.urner at gmail.com (kirby urner) Date: Fri, 12 Oct 2007 12:20:14 -0700 Subject: [Edu-sig] Curriculum fine tuning... In-Reply-To: References: Message-ID: On 10/12/07, kirby urner wrote: > So I'm coming to see how it's important to keep this > "core Python" idea current, as newbies from other > languages are used to a certain blending with eye > candy, e.g. Visual Studio, and think there's a fight > for "first lady" by Qt, Tk, wx and like that. > And let me just add that I think the better eye candy add-ons are going to be shell friendly in some way, i.e. you want to be able to stand in front of an audience, projecting in real time, and animate a parrot or open a new window or whatever, interactively, from a command prompt. This implies "import widgets" semantics, with Python the controller. I think ZODB became more mature when it stopped trying to wrap Python as some baroque controller from hell, and became just another snake in the snake farm. Now a developer just goes 'import zodb' and has full shell mode access to sophisticated object storage -- everything from videos to grandma's cookie recipies will fit, with eye candy galore for your PDA -- or your server farm (thanks to Zeo, it scales). Kirby From francois.schnell at gmail.com Sat Oct 13 02:21:09 2007 From: francois.schnell at gmail.com (=?ISO-8859-1?Q?Fran=E7ois_Schnell?=) Date: Sat, 13 Oct 2007 02:21:09 +0200 Subject: [Edu-sig] PyPy and Squeak (sprint) Message-ID: <13a83ca10710121721y6bcf2d39qf7bab4b852ee5f44@mail.gmail.com> Hello all, For information, seen here: http://codespeak.net/pypy/extradoc/sprintinfo/bern2007/announce.html """ Bern Squeak/PyPy sprint October 22 - October 26 2007 We are proud to announce the first Squeak-PyPy-collaboration-sprint. The plan is to bring people from the Squeak/Smalltalk and the PyPy/Python communities together to learn about each others projects and to think about collaboration possibilies. The sprint will be hosted by the Software Composition Group of the University of Bern from the 22nd to the 26th of October 2007. """ francois From winstonw at stratolab.com Sat Oct 13 20:47:37 2007 From: winstonw at stratolab.com (Winston Wolff) Date: Sat, 13 Oct 2007 14:47:37 -0400 Subject: [Edu-sig] python for kids... In-Reply-To: <24d517dd0710110934w1eac6aaeg31dd1f7515159c43@mail.gmail.com> References: <470D46D1.5090905@gmail.com> <24d517dd0710102022o772d7899t7118dfe203b4773@mail.gmail.com> <38f48f590710102228qa5774ecg84e67065c13e1191@mail.gmail.com> <24d517dd0710110934w1eac6aaeg31dd1f7515159c43@mail.gmail.com> Message-ID: <95B69873-CB9D-46D8-9952-CEDB57B8D672@stratolab.com> Dethe- For a lightweight graphics library on top of Pygame, you should look at "moonunit" which comes with my MakeBot program http://stratolab.com/misc/makebot Alternatively you can look at the subversion source code: http://svn.stratotools.python-hosting.com/trunk/moonunit/ Check out the examples to see if the API looks good to you. I think that's its selling point--a simple API get get going quickly. -ww On Oct 11, 2007, at 12:34 PM, Dethe Elza wrote: > Hi Bryan, > > I'm not trying to water down Python too much, but I want them to have > a great experience right out of the box. They have both been > programming in Scratch (http://scratch.mit.edu/) now, so their > expectations are that they can get up and running with some graphics > moving around and doing things, under their control, pretty quickly. > I'm trying to build a lightweight library on top of Pygame to provide > that experience. I've tried showing my seven-year-old straight > Python, getting it to read his name from the command-line and say > hello to him, but he doesn't really get why you would want to do that. > To him, a program involves graphics, and since he's used to making > programs with graphics already, it's hard to argue with that. > > On the other hand, Scratch sets up a pretty constrained environment: > No strings, variables can only be numbers, no return values > (asynchronous message sends only), no file access, no network access, > can only draw on the background, not on sprites (programatically: it > includes a drawing tool for editing sprites), no runtime > instantiation, no subroutines, etc. It's actually amazing what you > can do in such a constrained environment, and the tools it does give > you are inspiring, but think kids who hit the limits of Scratch and > turn to Python will be disappointed and frustrated unless there is a > path for them to get productive quickly. > > Of course, you mileage may vary. My goal and yours are the same: Get > them up to speed with Python, not a dumbed-down mini-language or > environment. But on the other hand, *I* feel more productive in > Scratch (until I hit the wall of its limitations), so I don't really > think providing a nice graphical starter kit for Python is a bad > thing. > > --Dethe > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig From jasonrbriggs at gmail.com Mon Oct 15 13:04:00 2007 From: jasonrbriggs at gmail.com (Jason R Briggs) Date: Tue, 16 Oct 2007 00:04:00 +1300 Subject: [Edu-sig] python for kids... In-Reply-To: References: <470D46D1.5090905@gmail.com> <24d517dd0710102022o772d7899t7118dfe203b4773@mail.gmail.com> <38f48f590710102228qa5774ecg84e67065c13e1191@mail.gmail.com> <24d517dd0710110934w1eac6aaeg31dd1f7515159c43@mail.gmail.com> Message-ID: <47134920.8080604@gmail.com> Hi all (again) In response to the various suggestions to move the chapter on graphics forward, I've split the turtle chapter in half and moved the first part forward to Chapter 5. Not as early as perhaps it should be, but it's difficult to justify it appearing earlier in the book (particularly since it relies on the kids already knowing some of the earlier bits). The updated version can here (not yet public) if interested: http://www.briggs.net.nz/log/wp-content/uploads/2007/10/swfk-0.2.zip J From kirby.urner at gmail.com Mon Oct 15 16:18:34 2007 From: kirby.urner at gmail.com (kirby urner) Date: Mon, 15 Oct 2007 07:18:34 -0700 Subject: [Edu-sig] python for kids... In-Reply-To: <47134920.8080604@gmail.com> References: <470D46D1.5090905@gmail.com> <24d517dd0710102022o772d7899t7118dfe203b4773@mail.gmail.com> <38f48f590710102228qa5774ecg84e67065c13e1191@mail.gmail.com> <24d517dd0710110934w1eac6aaeg31dd1f7515159c43@mail.gmail.com> <47134920.8080604@gmail.com> Message-ID: Thanks Jason. I'm starting a new Python gig at a local high school soon. If you'd like an opportunity for feedback from real students in Portland, Oregon, I'd be happy to shoot them a declassified copy. What's in it for them: a new way to learn Python while thinking critically about what's maybe working, what's maybe not. What's in it for you: feedback from the front lines. Just a thought, let me know if interested. Details of this LEP High gig aren't completely hammered out. My goal is to keep it short, as I'm just looking to train in-house faculty up to self-sufficiency (meaning they get hooked, want to study Python on their own, don't really need me for anything). So yeah, you might get some feedback from teachers as well. The school runs Ubuntu laptops. Kirby On 10/15/07, Jason R Briggs wrote: > > Hi all (again) > > In response to the various suggestions to move the chapter on graphics > forward, I've split the turtle chapter in half and moved the first part > forward to Chapter 5. Not as early as perhaps it should be, but it's > difficult to justify it appearing earlier in the book (particularly > since it relies on the kids already knowing some of the earlier bits). > > The updated version can here (not yet public) if interested: > > http://www.briggs.net.nz/log/wp-content/uploads/2007/10/swfk-0.2.zip > > J > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.python.org/pipermail/edu-sig/attachments/20071015/a993751c/attachment.htm From kirby.urner at gmail.com Mon Oct 15 17:22:58 2007 From: kirby.urner at gmail.com (kirby urner) Date: Mon, 15 Oct 2007 08:22:58 -0700 Subject: [Edu-sig] python for kids... In-Reply-To: References: <470D46D1.5090905@gmail.com> <24d517dd0710102022o772d7899t7118dfe203b4773@mail.gmail.com> <38f48f590710102228qa5774ecg84e67065c13e1191@mail.gmail.com> <24d517dd0710110934w1eac6aaeg31dd1f7515159c43@mail.gmail.com> <47134920.8080604@gmail.com> Message-ID: On 10/15/07, kirby urner wrote: > > Thanks Jason. > > I'm starting a new Python gig at a local high school soon. If you'd like an opportunity > for feedback from real students in Portland, Oregon, I'd be happy to shoot them a > declassified copy. What's in it for them: a new way to learn Python while thinking > critically about what's maybe working, what's maybe not. What's in it for you: > feedback from the front lines. Adding: Some might consider your visual motifs a tad young for high schoolers, at least in our neck of the woods, but that's no prob, as for feedback we just say "would this be useful when teaching your younger sister, niece, cousin or whatever Python?" Lots of extended families, easy to find a test audience. Kirby From jasonrbriggs at gmail.com Mon Oct 15 23:59:29 2007 From: jasonrbriggs at gmail.com (Jason R Briggs) Date: Tue, 16 Oct 2007 10:59:29 +1300 Subject: [Edu-sig] python for kids... In-Reply-To: References: <470D46D1.5090905@gmail.com> <24d517dd0710102022o772d7899t7118dfe203b4773@mail.gmail.com> <38f48f590710102228qa5774ecg84e67065c13e1191@mail.gmail.com> <24d517dd0710110934w1eac6aaeg31dd1f7515159c43@mail.gmail.com> <47134920.8080604@gmail.com> Message-ID: <4713E2C1.1000402@gmail.com> hi kirby Any feedback is useful. As long as they're aware up front that it's written for a younger audience, then I'm happy. Thanks very much, J kirby urner wrote: > On 10/15/07, kirby urner wrote: > >> Thanks Jason. >> >> I'm starting a new Python gig at a local high school soon. If you'd like an opportunity >> for feedback from real students in Portland, Oregon, I'd be happy to shoot them a >> declassified copy. What's in it for them: a new way to learn Python while thinking >> critically about what's maybe working, what's maybe not. What's in it for you: >> feedback from the front lines. >> > > Adding: > > Some might consider your visual motifs a tad young for high schoolers, at > least in our neck of the woods, but that's no prob, as for feedback we just > say "would this be useful when teaching your younger sister, niece, cousin > or whatever Python?" Lots of extended families, easy to find a test audience. > > Kirby > > From sb at csse.unimelb.edu.au Wed Oct 17 02:46:24 2007 From: sb at csse.unimelb.edu.au (Steven Bird) Date: Wed, 17 Oct 2007 10:46:24 +1000 Subject: [Edu-sig] Python for Natural Language Processing Message-ID: <97e4e62e0710161746w4dcd970mce1c3df3d8c37cec@mail.gmail.com> NLTK-Lite version 0.9 has been released -- http://nltk.org/index.php NLTK -- the Natural Language Toolkit -- is a suite of open source Python modules, data and documentation for research and development in natural language processing. NLTK contains code supporting dozens of NLP tasks, along with 30 popular corpora and extensive documentation including a 360-page online book. Distributions for Windows, Mac OSX and Linux are available. The toolkit has been used in 50+ university courses in over 15 countries, and is in the top 0.1% of SourceForge projects (32,000 downloads in the past 12 months). Contents: NLTK consists of over 50k lines of Python code and 480Mb of data: Corpora: Treebanks (English, Chinese, Dutch, Catalan, Spanish, Portuguese); POS-tagged corpora including the Brown Corpus; text corpora; PP attachment, named entity, WSD, TIMIT sample, Chat-80 database, WordNet, CMU Pronunciation Dictionary. Tokenizers: whitespace, newline, blankline, word, wordpunct, treebank, regexp, Punkt sentence segmenter Stemmers: Porter, Lancaster, regexp Taggers: regexp, n-gram, backoff, Brill, HMM Parsers: recursive descent, shift-reduce, chunk, chart, feature-based, probabilistic, ... Semantic interpretation: untyped lambda calculus, first-order models, parser interface Wordnet: wordnet interface, lexical relations, similarity Classifiers: decision tree, maximum entropy, naive Bayes, Weka interface Clusterers: expectation maximization, agglomerative, k-means Evaluation: accuracy, precision, recall, F-measure, windowdiff Estimation: uniform, maximum likelihood, Lidstone, Laplace, expected likelihood, heldout, cross-validation, Good-Turing, Witten-Bell Miscellaneous: feature detection, unification, chatbots, many utilities Changes: Version 0.9 is substantially revised and expanded from version 0.8. The entire toolkit can be accessed via a single import statement "import nltk", and there is a more convenient naming scheme. Calling deprecated functions generates messages that help programmers update their code. The corpus, tagger, and classifier modules have been redesigned. All functionality of the old NLTK 1.4.3 is now covered by NLTK-Lite 0.9. The book has been revised and expanded. A new data package incorporates the existing corpus collection and contains new sections for pre-specified grammars and pre-computed models. Several new corpora have been added, including treebanks for Portuguese, Spanish, Catalan and Dutch. A Macintosh distribution is provided. For full details of the changes, please see: http://nltk.svn.sourceforge.net/viewvc/*checkout*/nltk/trunk/nltk/ChangeLog From jeff at taupro.com Wed Oct 17 07:06:06 2007 From: jeff at taupro.com (Jeff Rush) Date: Wed, 17 Oct 2007 00:06:06 -0500 Subject: [Edu-sig] Python for Natural Language Processing In-Reply-To: <97e4e62e0710161746w4dcd970mce1c3df3d8c37cec@mail.gmail.com> References: <97e4e62e0710161746w4dcd970mce1c3df3d8c37cec@mail.gmail.com> Message-ID: <4715983E.2090701@taupro.com> Steven Bird wrote: > NLTK-Lite version 0.9 has been released -- http://nltk.org/index.php > > NLTK -- the Natural Language Toolkit -- is a suite of open source > Python modules, data and documentation for research and development in > natural language processing. NLTK contains code supporting dozens of > NLP tasks, along with 30 popular corpora and extensive documentation > including a 360-page online book. Distributions for Windows, Mac OSX > and Linux are available. The toolkit has been used in 50+ university courses > in over 15 countries, and is in the top 0.1% of SourceForge projects > (32,000 downloads in the past 12 months). > > Contents: NLTK consists of over 50k lines of Python code and 480Mb of data: Steven, thanks for posting this - this is very cool. I think I can find use for it inside my rst2speech.py program, in breaking down the text to associate better quality pronunciation with it. -Jeff From matt.kameron at gmail.com Wed Oct 17 08:48:23 2007 From: matt.kameron at gmail.com (Matt K) Date: Wed, 17 Oct 2007 16:48:23 +1000 Subject: [Edu-sig] python for kids... In-Reply-To: <4713E2C1.1000402@gmail.com> References: <470D46D1.5090905@gmail.com> <24d517dd0710102022o772d7899t7118dfe203b4773@mail.gmail.com> <38f48f590710102228qa5774ecg84e67065c13e1191@mail.gmail.com> <24d517dd0710110934w1eac6aaeg31dd1f7515159c43@mail.gmail.com> <47134920.8080604@gmail.com> <4713E2C1.1000402@gmail.com> Message-ID: <53b2477a0710162348o1462cf67n29e2f9a8425db876@mail.gmail.com> My preliminary assessment is that its good. I'm going to try using it for one of my Year 9 classes now (they've just started programming Python) and I'm skipping straight to the chapter on turtle. My initial comment is that turtle needs to come *even* earlier than you've edited it to be. My suggestion would be: - intro stuff - variables - ifs [at this point students can write trivial games like "what starsign are you?"] - functions [briefly] - turtle - loops Most notably, I strongly suggest *not* talking about loops at all until they've started turtling. The reason for this is that loops are completely abstract. Most students will struggle to grasp loops at all, let alone quickly. By giving them turtle they'll have fun with it. Furthermore, it is extremely easy to justify the usefulness of loops in the context of turtle. They will quickly see how they work *and* they can quickly break over the biggest hurdle - loops which are *different* each iteration. In the case of turle, you can make a simple spiral to demonstrate that. While all my teaching experience is Year 9 and above (I've taught up to 1st year university level), my experience also tells me that everything true of Year 9 students is even more true of younger students. The level of description and simplicity of writing in this book are ideal in my opinion for my Year 9 class too (with a few exceptions, such as "You may not have learned about degrees in school so far"). I'll be able to give you more feedback in a few weeks, once I've tried it out. Matt PS The only other comment I can give is that when running turtle, the window doesn't refresh properly unless it is off to the side of the window. You may wish to make some comment on that in the book, as some people may be confused by why windows comments "not responding". On 10/16/07, Jason R Briggs wrote: > > hi kirby > > Any feedback is useful. As long as they're aware up front that it's > written for a younger audience, then I'm happy. > > Thanks very much, > J > > kirby urner wrote: > > On 10/15/07, kirby urner wrote: > > > >> Thanks Jason. > >> > >> I'm starting a new Python gig at a local high school soon. If you'd > like an opportunity > >> for feedback from real students in Portland, Oregon, I'd be happy to > shoot them a > >> declassified copy. What's in it for them: a new way to learn Python > while thinking > >> critically about what's maybe working, what's maybe not. What's in it > for you: > >> feedback from the front lines. > >> > > > > Adding: > > > > Some might consider your visual motifs a tad young for high schoolers, > at > > least in our neck of the woods, but that's no prob, as for feedback we > just > > say "would this be useful when teaching your younger sister, niece, > cousin > > or whatever Python?" Lots of extended families, easy to find a test > audience. > > > > Kirby > > > > > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.python.org/pipermail/edu-sig/attachments/20071017/00cd4496/attachment.htm From kirby.urner at gmail.com Wed Oct 17 21:42:59 2007 From: kirby.urner at gmail.com (kirby urner) Date: Wed, 17 Oct 2007 12:42:59 -0700 Subject: [Edu-sig] PyCon 2008: Call for Talk & Tutorial Proposals In-Reply-To: <47140763.30009@python.org> References: <47140763.30009@python.org> Message-ID: Got as far as making a footprint, using my python.org address and PKL affiliation. Was born in Chicago, want to show it to Tara. Maybe John and Alexia join us and tool around town while I geek out. Too early to know actually. Trying to figure out the LEP High puzzle, as I think the spotlight should be on what students are doing. I've seen enough in my SA: classes to know we've got plenty of talent in this region. I'd rather strut their stuff than mine (I get other chances). Kirby On 10/15/07, David Goodger wrote: > Proposals for PyCon 2008 talks & tutorials are now being accepted. > The deadline for proposals is November 16. > > PyCon 2008 will be held in Chicago, Illinois, USA, from March 13-20. > > http://us.pycon.org/2008/ > > > Tutorial Day: Half-Day Tutorials > ================================ > > Do you enjoy teaching classes or tutorials? Are you good at it? > PyCon is looking for proposals for tutorials. The PyCon Tutorial Day > will be March 13, 2008 (Thursday). > > There will be morning and afternoon tutorial sessions (3 hours each, > plus a 30-minute break); presenters may request two sessions in order > to make up a full day. Tutorials may be on any topic, but obviously > should be instructional in nature. > > Full details and instructions here: > http://us.pycon.org/2008/tutorials/proposals/ > > > Conference Days: Scheduled Talks > ================================ > > Want to share your experience and expertise? PyCon is looking for > proposals to fill the formal presentation tracks. The PyCon > Conference Days will be March 14-16, 2008 (Friday-Sunday). > > Previous PyCon conferences have had a broad range of presentations, > ranging from reports on academic and commercial projects to tutorials > and case studies. We hope to continue that tradition this year. As > long as the presentation is interesting and potentially useful to the > Python community, it will be considered for inclusion in the program. > > We're especially interested in short tutorial presentations that will > teach conference-goers something new and useful. Can you show > attendees how to: use a module? explore a Python language feature? > package an application? > > Full details and instructions here: > http://us.pycon.org/2008/conference/proposals/ > > > Development Sprints > =================== > > Four days of development sprints will follow the conference days, > March 17-20 (Monday-Thursday). Start thinking about sprints you'd > like to lead or join. We'll have an announcement about these soon! > http://us.pycon.org/2008/sprints/ > > > Lightning Talks & Open Space > ============================ > > If you don't want to make a formal presentation, you can still bring > your new project or idea to PyCon. > > There will be several sessions of Lightning Talks (five minute > mini-talks, scheduled at the conference). > http://us.pycon.org/2008/conference/lightning > > There will also be several Open Space rooms for informal and > spur-of-the-moment presentations. Open Space slots are allocated > during PyCon on a first-come first-served basis. These slots can be > used for presentations, round table discussions, hands-on tutorials, > follow-up discussions after scheduled talks, or anything else you wish > to present. > http://us.pycon.org/2008/conference/openspace/ > > > Help Out! > ========= > > PyCon 2008 planning is in full swing, but we can still use more help, > *your* help! http://us.pycon.org/2008/helping/ > > -- > http://mail.python.org/mailman/listinfo/python-announce-list > > Support the Python Software Foundation: > http://www.python.org/psf/donations.html > From kirby.urner at gmail.com Sun Oct 21 02:59:28 2007 From: kirby.urner at gmail.com (kirby urner) Date: Sat, 20 Oct 2007 17:59:28 -0700 Subject: [Edu-sig] Python for Halloween (Anniversary Reply) Message-ID: On 10/3/06, kirby urner wrote: I'd rather huddle with MIT, Bruce Sherwood, Alan Kay and play > *against* Arthur's team. Which is sort of what ended up happening. I put Kay in my lineage on Math Forum, had a friend in common with Bruce, other stuff. But we never dissed Arthur. This wasn't about "beating" but about "competing". Ya win some, ya lose some. Great game. Arthur, you make too many enemies too quickly and too easily. Of course his side of the room thinks the same about me. << SNIP >> Kirby -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.python.org/pipermail/edu-sig/attachments/20071020/85aa6cb9/attachment.htm From kirby.urner at gmail.com Sun Oct 21 03:00:38 2007 From: kirby.urner at gmail.com (kirby urner) Date: Sat, 20 Oct 2007 18:00:38 -0700 Subject: [Edu-sig] Python for Halloween In-Reply-To: <4523235C.9070100@optonline.com> References: <4523235C.9070100@optonline.com> Message-ID: On 10/3/06, Arthur wrote: > > kirby urner wrote: > > > Arthur, you make too many enemies too quickly and too easily. > > Nah, just making friends the hard way. Which was absolutely the truth with Arthur. Kirby -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.python.org/pipermail/edu-sig/attachments/20071020/67fb16ff/attachment.htm From kirby.urner at gmail.com Sun Oct 21 03:02:04 2007 From: kirby.urner at gmail.com (kirby urner) Date: Sat, 20 Oct 2007 18:02:04 -0700 Subject: [Edu-sig] Python for Halloween In-Reply-To: References: <4523235C.9070100@optonline.com> Message-ID: And I told him so at the time: On 10/3/06, Arthur wrote: > kirby urner wrote: > > > Arthur, you make too many enemies too quickly and too easily. > > Nah, just making friends the hard way. > Yeah, I've benefitted from your brand of hard ball, no question. Thanks. > > On 10/20/07, kirby urner wrote: > > > > On 10/3/06, Arthur wrote: > > > > kirby urner wrote: > > > > > Arthur, you make too many enemies too quickly and too easily. > > > > Nah, just making friends the hard way. > > > Which was absolutely the truth with Arthur. > > Kirby > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.python.org/pipermail/edu-sig/attachments/20071020/1ee9317c/attachment.htm From jasonrbriggs at gmail.com Tue Oct 23 02:19:58 2007 From: jasonrbriggs at gmail.com (Jason R Briggs) Date: Tue, 23 Oct 2007 13:19:58 +1300 Subject: [Edu-sig] python for kids... In-Reply-To: <471D3DC3.8060707@iuac.ernet.in> References: <471D3DC3.8060707@iuac.ernet.in> Message-ID: <471D3E2E.70707@gmail.com> Hi Ajith I think the difference is probably Python 2.4 to Python 2.5 (which I was using). Pen() also works on Py2.5, so I think I'd better change to that. Will also add while-loops as well. Good idea. Thanks, J Ajith Kumar wrote: > Hello, > Thanks Jason. Excellent material. I was looking for something to > get people started in Python. By the way I use python for doing > computer interfaced > science experiments, a project named Phoenix > . > > t = turtle.Turtle() did not work on my Fedora core 3 machine. > t= turtle.Pen() worked instead. > > I felt it would have been better to mention while loop also in the > chapter explaining for loops. > > with regards > > Ajith Kumar > > > > From vceder at canterburyschool.org Tue Oct 23 03:32:25 2007 From: vceder at canterburyschool.org (Vern Ceder) Date: Mon, 22 Oct 2007 21:32:25 -0400 Subject: [Edu-sig] python for kids... In-Reply-To: <471D3E2E.70707@gmail.com> References: <471D3DC3.8060707@iuac.ernet.in> <471D3E2E.70707@gmail.com> Message-ID: <471D4F29.8060508@canterburyschool.org> Yes, we (several of us on this list who use the turtle module in teaching) actually got several changes/enhancements to the turtle module added for Python 2.5. Earlier versions have a turtle module that is somewhat harder to work with, in my admittedly biased opinion. ;-) Cheers, Vern Ceder Jason R Briggs wrote: > Hi Ajith > > I think the difference is probably Python 2.4 to Python 2.5 (which I was > using). Pen() also works on Py2.5, so I think I'd better change to that. > > Will also add while-loops as well. Good idea. > > Thanks, > J > > > > Ajith Kumar wrote: >> Hello, >> Thanks Jason. Excellent material. I was looking for something to >> get people started in Python. By the way I use python for doing >> computer interfaced >> science experiments, a project named Phoenix >> . >> >> t = turtle.Turtle() did not work on my Fedora core 3 machine. >> t= turtle.Pen() worked instead. >> >> I felt it would have been better to mention while loop also in the >> chapter explaining for loops. >> >> with regards >> >> Ajith Kumar >> >> >> >> > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig -- This time for sure! -Bullwinkle J. Moose ----------------------------- Vern Ceder, Director of Technology Canterbury School, 3210 Smith Road, Ft Wayne, IN 46804 vceder at canterburyschool.org; 260-436-0746; FAX: 260-436-5137 From kirby.urner at gmail.com Tue Oct 23 22:21:35 2007 From: kirby.urner at gmail.com (kirby urner) Date: Tue, 23 Oct 2007 13:21:35 -0700 Subject: [Edu-sig] Ditch "self"? Message-ID: Guido: "Personally, I find that the criticism of explicit self has about as much merit as the criticism of Python's use of whitespace." [ http://www.artima.com/weblogs/viewpost.jsp?thread=214325 ] Ya, my thought as well. Lotsa people with nasty bad Java habits come kibitzing to Python's door, expecting to be taken seriously (not! -- except sometimes). What I like about 'self', as much documented here (edu-sig), is it ain't a key word, i.e. it's a placeholder in which any unicode glyph might go. And as discussed with John Zelle, I see advantages into projecting a sense of one's self into 'self' -- *not* as some exercise in introversion, but in order to better empathize with some external knowledge domain (dams, horse farms whatever). "I am an hydraulic pump, these are my attributes" -- that kind of thing. OO's use of "self" inherently promotes empathy *if* the pedagogy is skillful, sensitive to future developer responsibilities (and if the students are adepts, have true geek potential). Believe it or not, all this connects to my math-thinking-l position that women clearly control computer science (Ada... Grace Hopper), if not other disciplines, and even if guys with big egos like to pretend *they* do. Kirby From pdfernhout at kurtz-fernhout.com Wed Oct 24 04:36:11 2007 From: pdfernhout at kurtz-fernhout.com (Paul D. Fernhout) Date: Tue, 23 Oct 2007 22:36:11 -0400 Subject: [Edu-sig] Ditch "self"? In-Reply-To: References: Message-ID: <471EAF9B.8050406@kurtz-fernhout.com> Kirby- Whitespace clearly removes redundant clutter (either braces or begin/end); all complex human-edited programs need to be indented for readability anyway. The redundant "self" in Python method/function definitions mainly adds clutter IMHO, and so is a wart IMHO (even as it is sometimes changed when used in class methods, and so on). Smalltalk managed to get by with "self" being implicit, and that language definitely has people reading code sometimes with the kind of "self" projection you mention. Conceptually, I feel that since globals are not passed in explicitly into functions, "self" should not be either. The word "self" not a global of course, and nor it is reserved in Python (unlike Smalltalk), but it still feels to me that "self" is more a part of an active function's namespace more than it is a calling parameter IMHO. But I can also see the arguments to have it be explicit, including the ones you mention. I specially like the Unicode name change one for people coding in a language other than English, but even then, there are so many other English words you can't change in Python statements, so does it really get you very far to be able to change only "self"? It seems like a deeper multi-language paradigm for programming is needed to address that specific issue, and that is something, say, the OLPC project is struggling with in terms of viewing source code written mostly in English. I do know that in supporting prototypes under Python in PataPata, I did wrestle with issues where assigning new functions into slots used as methods was more complex than I naively would have expected. === EXAMPLE For example, when copying a method from one prototype to another, I ended up with this complex code, both for assignment and calling, using an indirect PrototypeMethod class as a wrapper for functions: class PrototypeClass(object): ... def __setattr__(self, name, value): ... if callable(value): if isinstance(value, PrototypeMethod): if value.prototypeHoldingTheFunction != self: wrappedMethod = PrototypeMethod(self, value.function, value.source) value = wrappedMethod else: value = PrototypeMethod(self, value) ... class PrototypeMethod: ... def __call__(self, *args, **kwargs): return self.function(self.prototypeHoldingTheFunction, *args, **kwargs) This was rather than a more simple assign of Python functions. There was an issue in that the method function was already bound to the specific prototype instance, rather than being a more generic function as "self" in the parameter list might imply. Maybe someone who knows more about Python internals than I could have done this more simply without introducing these extra classes? Clearly this works: $ python Python 2.4.4 (#2, Apr 5 2007, 20:11:18) [GCC 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> class Foo: ... def bar(self): ... print "hello" ... >>> Foo().bar() hello >>> def test(self): ... print "hello 2" ... >>> test(None) hello 2 >>> Foo.bar = test >>> Foo().bar() hello 2 >>> >>> y = Foo() >>> y.bar = Foo().bar >>> y.bar() hello 2 >>> But this additional code does not work: >>> x = Foo() >>> x.bar > >>> test >>> x.bar = test >>> x.bar() Traceback (most recent call last): File "", line 1, in ? TypeError: test() takes exactly 1 argument (0 given) >>> And it is this second case which I was concerned about in prototypes. Clearly the two functions are different. One if a "function"; the other is a "bound method". It seems to me that if "self" is indeed the same in both functions that the assign of test to the Foo instance should work the same way the assign of test to the Foo class does. But it does not, because the assignment to the instance needs to be with a function which already has "self" bound to the specific instance. So, I feel like there is a conceptual mismatch here. But maybe I am just not looking at it the right way? I certainly understated why, to pass function pointers using "x.bar" to objects which call them, that "self" needs to be bound. Although I have some problems with even this, since the function pointer is bound so tightly that if you completely replace it in the class or instance, the previously bound version is used, not the new one (unless you just replace code internal to the function). A common place where this issue comes up is if you build a GUI which has methods linked to button events, and you want to modify or reload the class on the fly and have the button activate the new code, not the old code; you can do it, but it is non-obvious how to do it and involves mucking about with the internals of functions (as has been discussed here before). I'd rather see "actionPerformed=x.foo" bind foo more lightly, so that the actual function was looked up at dispatch time rather than at assignment time, as a form of late binding. Even Smalltalk has some issues with this sort of thing, though they are not exactly the same -- in Smalltalk's case, when you assign a block to be performed at a GUI action, and you modify the code which defined the block, typically the new block is not used, just the old block; as long as your block just does something like "self bar." and you never change the name of method "bar" you are OK, but if you do, you can have problems. And they can be confusing if you do not know what to expect. === In any case, clearly a major reason I and many others like Python is precisely the use of significant whitespace; whether "self" is explicit or not is not would at best be a minor issue for most people. So I myself don't see that one can completely equate the criticism of the two, based on significance to the user and the language. Like the superfluous trailing colon in Python (which personally I don't really like and find a frequent source of typos), I could see how requiring "self" might be more a matter of opinion -- some people might think it adds to readability, some might think it detracts from readability. But then, I feel the superfluous dot (.) between accessor names (as in "Foo.bar.baz()" instead of "Foo bar baz()" also detracts from readability, :-) but then I like Smalltalk syntax in part for that reason. Python initially was to be easy for C programmers, and the dot is what C used. It's part of history now. I doubt any of those superfluous things, the trailing colon, "self", or the embedded dot is going to change now in Python (nor probably should it). The language is what it is -- with strengths and weaknesses, clarities and warts. I'd rather see core effort go into PyPy, even better IDEs and libraries, Jython improvements, and "edit and continue". And maybe improved multiprocessing support (even if just by libraries). I think the late binding of function calls against objects might be possible as an improvement without breaking much of anything else though, but I have not thought all the potential side effects through for existing Python code. Those might be more bang for the buck rather than tinkering with major language features which are pretty much set in stone in the community by now (whether they are features or "misfeatures"). http://catb.org/jargon/html/M/misfeature.html But then, I guess I still like "print", if (unlike Smalltalk) you are going to have any statements at all. :-) I know that all will sound funny or even hypocritical coming from someone who has talked about and worked towards adding improved prototypes support to Python -- but remember, after our discussions here, I agreed it made sense not to mess with the Python syntax, unlike, say, the syntax changing direction that Prothon went in. http://blog.ianbicking.org/initial-thoughts-on-prothon.html Even then, I encountered the issues you rightly pointed out, that if the base libraries are written in a different style using classes, and all the error messages are oriented around classes, and all the documentation is oriented around classes, it is hard for anyone to grok the prototype layer and use it easily. I think that may be one issue if, say, "print" disappears. :-) So, all that is not to say experiments aren't sometimes interesting, of course, or that they might not eventually lead to new and better things. Just an issue of priorities, and I can only set them for myself. --Paul Fernhout kirby urner wrote: > Guido: "Personally, I find that the criticism of explicit self has > about as much merit as the criticism of Python's use of > whitespace." > > [ http://www.artima.com/weblogs/viewpost.jsp?thread=214325 ] > > Ya, my thought as well. > > Lotsa people with nasty bad Java habits come kibitzing to Python's > door, expecting to be taken seriously (not! -- except sometimes). > > What I like about 'self', as much documented here (edu-sig), is it > ain't a key word, i.e. it's a placeholder in which any unicode glyph > might go. > > And as discussed with John Zelle, I see advantages into projecting > a sense of one's self into 'self' -- *not* as some exercise in introversion, > but in order to better empathize with some external knowledge domain > (dams, horse farms whatever). > > "I am an hydraulic pump, these are my attributes" -- that kind of thing. > > OO's use of "self" inherently promotes empathy *if* the pedagogy > is skillful, sensitive to future developer responsibilities (and if the > students are adepts, have true geek potential). > > Believe it or not, all this connects to my math-thinking-l position that > women clearly control computer science (Ada... Grace Hopper), if > not other disciplines, and even if guys with big egos like to pretend > *they* do. > > Kirby > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > > From kirby.urner at gmail.com Wed Oct 24 04:45:20 2007 From: kirby.urner at gmail.com (kirby urner) Date: Tue, 23 Oct 2007 19:45:20 -0700 Subject: [Edu-sig] Ditch "self"? In-Reply-To: <471EAF9B.8050406@kurtz-fernhout.com> References: <471EAF9B.8050406@kurtz-fernhout.com> Message-ID: Yeah Paul, you have an opinion too, I realize. I just respect Guido's is all. Someday I might study your thinking on the topic. Unlikely though. Welcome back. Kirby From kirby.urner at gmail.com Wed Oct 24 04:51:23 2007 From: kirby.urner at gmail.com (kirby urner) Date: Tue, 23 Oct 2007 19:51:23 -0700 Subject: [Edu-sig] Ditch "self"? In-Reply-To: References: <471EAF9B.8050406@kurtz-fernhout.com> Message-ID: Sorry, but I've really downgraded my opinion of Smalltalk *a lot* in recent months, because of what it apparently does to peoples minds. I like the effects of Python more. A better community, healthier outlook. So I tend to have this knee jerk reaction to your ilk. I apologize up front and in advance for simply tuning out all the Smalltalker talk. Simply not interested. Kirby On 10/23/07, kirby urner wrote: > Yeah Paul, you have an opinion too, I realize. I just respect Guido's is all. > > Someday I might study your thinking on the topic. Unlikely though. > > Welcome back. > > Kirby > From kirby.urner at gmail.com Wed Oct 24 04:55:36 2007 From: kirby.urner at gmail.com (kirby urner) Date: Tue, 23 Oct 2007 19:55:36 -0700 Subject: [Edu-sig] Ditch "self"? In-Reply-To: References: <471EAF9B.8050406@kurtz-fernhout.com> Message-ID: And that's all just speaking for myself of course. You may well have a friendlier reception. Since you've rejoined, I promise to keep quiet until you leave, which may be never. I have other lists to get work in, so no biggie for me. Kirby On 10/23/07, kirby urner wrote: > Sorry, but I've really downgraded my opinion of Smalltalk *a lot* in recent > months, because of what it apparently does to peoples minds. I like the > effects of Python more. A better community, healthier outlook. So I tend > to have this knee jerk reaction to your ilk. I apologize up front and > in advance > for simply tuning out all the Smalltalker talk. Simply not interested. > > Kirby > > > On 10/23/07, kirby urner wrote: > > Yeah Paul, you have an opinion too, I realize. I just respect Guido's is all. > > > > Someday I might study your thinking on the topic. Unlikely though. > > > > Welcome back. > > > > Kirby > > > From delza at livingcode.org Wed Oct 24 06:42:38 2007 From: delza at livingcode.org (Dethe Elza) Date: Tue, 23 Oct 2007 21:42:38 -0700 Subject: [Edu-sig] Ditch "self"? In-Reply-To: <471EAF9B.8050406@kurtz-fernhout.com> References: <471EAF9B.8050406@kurtz-fernhout.com> Message-ID: <24d517dd0710232142k1712ac1bwfb9532193f9eead8@mail.gmail.com> Paul, to assign a function to an instance object (rather than a class) as a new method, use the "new" module: ===== start module prototype.py ====== ''' Example of adding methods to an instance object and a class ''' import new class Foo(object): def bar(self): print 'bar', self.__class__ # outside of class Foo, define some functions to turn into methods: def baz(self): print 'baz', self.__class__ def foobar(self): print 'foobar', self.__class__ # make some instances a = Foo() b = Foo() # make baz a method of Foo, both a and b should be able to call it Foo.baz = baz print 'baz:', Foo.baz a.baz() b.baz() # make foobar a method of a, calling b.foobar should fail a.foobar = new.instancemethod(foobar, a, a.__class__) print 'foobar:', a.foobar a.foobar() b.foobar() # fails ===== end of module ====== and when you run it: $ python prototype_based.py baz: baz baz foobar: > foobar Traceback (most recent call last): File "prototype_based.py", line 42, in b.foobar() # fails AttributeError: 'Foo' object has no attribute 'foobar' More info: http://docs.python.org/lib/module-new.html HTH --Dethe From pdfernhout at kurtz-fernhout.com Wed Oct 24 14:57:17 2007 From: pdfernhout at kurtz-fernhout.com (Paul D. Fernhout) Date: Wed, 24 Oct 2007 08:57:17 -0400 Subject: [Edu-sig] Ditch "self"? In-Reply-To: <24d517dd0710232142k1712ac1bwfb9532193f9eead8@mail.gmail.com> References: <471EAF9B.8050406@kurtz-fernhout.com> <24d517dd0710232142k1712ac1bwfb9532193f9eead8@mail.gmail.com> Message-ID: <471F412D.4000609@kurtz-fernhout.com> Dethe- Thanks; that was very helpful in improving my understanding of Python in practice. --Paul Fernhout Dethe Elza wrote: > Paul, > > to assign a function to an instance object (rather than a class) as a > new method, use the "new" module: > > ===== start module prototype.py ====== > > > ''' > Example of adding methods to an instance object and a class > ''' > > import new > > class Foo(object): > > def bar(self): > print 'bar', self.__class__ > > > # outside of class Foo, define some functions to turn into methods: > > def baz(self): > print 'baz', self.__class__ > > def foobar(self): > print 'foobar', self.__class__ > > # make some instances > > a = Foo() > b = Foo() > > # make baz a method of Foo, both a and b should be able to call it > > Foo.baz = baz > > print 'baz:', Foo.baz > > a.baz() > b.baz() > > # make foobar a method of a, calling b.foobar should fail > > a.foobar = new.instancemethod(foobar, a, a.__class__) > > print 'foobar:', a.foobar > > a.foobar() > b.foobar() # fails > > ===== end of module ====== > > and when you run it: > > $ python prototype_based.py > baz: > baz > baz > foobar: > > foobar > Traceback (most recent call last): > File "prototype_based.py", line 42, in > b.foobar() # fails > AttributeError: 'Foo' object has no attribute 'foobar' > > > More info: http://docs.python.org/lib/module-new.html > > HTH > > --Dethe > > From pdfernhout at kurtz-fernhout.com Wed Oct 24 15:19:43 2007 From: pdfernhout at kurtz-fernhout.com (Paul D. Fernhout) Date: Wed, 24 Oct 2007 09:19:43 -0400 Subject: [Edu-sig] Ditch "self"? In-Reply-To: References: <471EAF9B.8050406@kurtz-fernhout.com> Message-ID: <471F466F.6000501@kurtz-fernhout.com> kirby urner wrote: > Since you've rejoined, To be clear, I never left. Just been listening and learning and focusing my writing on other stuff (even towards a new PataPata version focused mainly on Jython). > I promise to keep quiet until you leave, which > may be never. I know you posted similar things in your interactions here with Art, but I personally hope you continue to post your interesting thoughts on edusig, whether we agree on everything or not or whether another topic comes of here of immediate interest to me. As I said, I am focusing mainly on other things right now, but this issue of "self" in declarations was just one I have wrestled with in the context of trying (and perhaps failing) to make Python easier to use and learn (and I appreciated Dethe's help in coming up with an implementation alternative). By the way, on rereading my post, I realize I should make clear, while I feel "self" in function declarations may be superfluous as a matter of opinion (given the typical indentation of the declaration of such functions inside the scope of a class definition), I like the explicit use of "self" within the body of a function (unlike the common standard practice in, say, Java or the language "Self" where it can be frequently omitted); the two issues are different ones; I should have been clearer on the distinction, and as I realize now I think your post was likely more focused on the issue of "self" in the body of a function as opposed to the declaration, and in that area I think you, Guido, and I (as well as Smalltalk's designers) all agree on the value of an "explicit" self. All the best. --Paul Fernhout From krstic at solarsail.hcs.harvard.edu Wed Oct 24 15:43:27 2007 From: krstic at solarsail.hcs.harvard.edu (=?UTF-8?Q?Ivan_Krsti=C4=87?=) Date: Wed, 24 Oct 2007 15:43:27 +0200 Subject: [Edu-sig] Ditch "self"? In-Reply-To: <471F412D.4000609@kurtz-fernhout.com> References: <471EAF9B.8050406@kurtz-fernhout.com> <24d517dd0710232142k1712ac1bwfb9532193f9eead8@mail.gmail.com> <471F412D.4000609@kurtz-fernhout.com> Message-ID: <61658F11-8268-4101-8DE3-FF5988FB9A4A@solarsail.hcs.harvard.edu> On Oct 24, 2007, at 2:57 PM, Paul D. Fernhout wrote: > Thanks; that was very helpful in improving my understanding of > Python in > practice. And for understanding the relevant theory, take a look at: -- Ivan Krsti? | http://radian.org From kirby.urner at gmail.com Wed Oct 24 16:50:47 2007 From: kirby.urner at gmail.com (kirby urner) Date: Wed, 24 Oct 2007 07:50:47 -0700 Subject: [Edu-sig] Ditch "self"? In-Reply-To: <471F466F.6000501@kurtz-fernhout.com> References: <471EAF9B.8050406@kurtz-fernhout.com> <471F466F.6000501@kurtz-fernhout.com> Message-ID: > I know you posted similar things in your interactions here with Art, but I > personally hope you continue to post your interesting thoughts on edusig, True. I also told Art I thought edu-sig was becoming a distraction for me (something I left off from a recent quote). I'm ambivalent enough to want to unsubscribe I guess. Art is gone, no one to talk to really, a lot of me just talking to myself seems like. Bye then. I'll be checking the archives. Might come back later, if I see the point. I'm very in to OLPC by the way, much more so than when you last were prolific on this list. Know Ken Brown up near Calgary? Lots of action in the Silicon Forest (not just XO stuff). My think tank in PDX (wwwanderers.org -- yeah, website out of date, not dear Nirel's fault) knows my agenda as follows: OLPC -- focusing on CARE / Darfur these days, reality TV P4E -- inherits from CP4E, still quite Pythonic though not exclusively so HP4E -- hexapents for everybody (Bucky a big influence, and Glenn Stockton) FPP -- First Person Physics (Bob Fuller, Karplus, discovery learning). Regarding Arthur and Pygeo, I've come a long way towards appreciating Klein in the context of Paul Laffoley's art: http://controlroom.blogspot.com/2007/08/esozone.html More on *all* of this stuff in me blogs, yar! See ya! Kirby From pdfernhout at kurtz-fernhout.com Wed Oct 24 19:57:25 2007 From: pdfernhout at kurtz-fernhout.com (Paul D. Fernhout) Date: Wed, 24 Oct 2007 13:57:25 -0400 Subject: [Edu-sig] Ditch "self"? In-Reply-To: <61658F11-8268-4101-8DE3-FF5988FB9A4A@solarsail.hcs.harvard.edu> References: <471EAF9B.8050406@kurtz-fernhout.com> <24d517dd0710232142k1712ac1bwfb9532193f9eead8@mail.gmail.com> <471F412D.4000609@kurtz-fernhout.com> <61658F11-8268-4101-8DE3-FF5988FB9A4A@solarsail.hcs.harvard.edu> Message-ID: <471F8785.7020400@kurtz-fernhout.com> Ivan- Thanks for the link; that's a very interesting essay. There's a lot in there to wrap my mind around; I'll need to think about more. >From a first reading, perhaps I could sometimes think of methods defined in the normal indentation style within a class like a functional-programming partial "currying" (binding some arguments in with a function call to return a new function) when they are being built and assigned? That helps me make more sense of the Python design approach. The approach Dethe outlined invoking code from the "new" module: "a.foobar = new.instancemethod(foobar, a, a.__class__)" seems to me to be a form of currying (although not exactly, since the class gets involved). By the way, see for example how to generalize currying in Python: http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/52549 or for Python 2.5: http://docs.python.org/whatsnew/pep-309.html Support is there to do currying (directly in Python2.5 or via kludges in earlier versions), but it still kind of an add-on to Python is feels to me. This still leaves me wondering about the issue what happens when an instance gets the method definition from a class? That's not quite curried in a sense, since the method is stored in the class, not the instance, and is specialized on the fly for use with the instance. It seems inconsistent to me, even though it works in practice. :-) And it seems one reason why having "self" in a method definition like it was a regular argument is somewhat misleading, since it seems to me that this first argument is being treated specially, perhaps being sort-of-curried if the method is stored directly in the instance, but being dynamically set if the method is stored in the class or a superclass. Also, in the prototype case,(which is admittedly out of the normal Python real right now), assuming prototypes lookup functions in parents if they do not implement them themselves, an instance/prototype probably wants a function it inherits from a parent to run as if "self" was the instance it was evoked on ("foo" in foo.bar()) as opposed to "self" still being the parent, as in "foo.parent.bar()". This is similar but not identical to how normal Python lookup which I refer to above where "self" is not bound to the class for typical instance methods, but instead is bound to the particular instance the method is called with. It seems to me that because Python does not generally handle the previous issue raised in what I might feel is an elegant enough and consistent way (not that I am completely sure what that would look like :-), that implementing a prototype based system on top of Python requires more implementation hoops to jump through and related performance hits and cryptic error messages than it might otherwise. If, for example, "self" was truly a namespace aspect and not in the function definition, then it could just be looked up at run time when the function was called or be filled into the current context on the stack; on the other hand, if it was a curried parameter, then presumably there would be some other means of supporting looking up methods and specifically binding variables with certain names or in certain positions at function invocation (or other times) which prototypes could take advantage of efficiently. So, I feel both of these issues show a weakness in Python's conceptual model for consistent attribute lookup related to method functions. Not that Python does not work in practice, as it certainly does (sometimes you can either get it working or get it right, as in "worse is better" :-). It's amazing that prototypes work at all (like I tried with PataPata), and a real tribute to Python's flexibility. It is just that this sort of inconsistency (as I see it, clearly others don't agree) leads to difficulties learning and generalizing this sort of knowledge. Python seems (historically) to treat instance methods as curried sometimes (the direct invocation), but embedded within a namespace in others (when found in a class). So when I think about the value of "self" in a function definition, I lean more towards the Smalltalk-side of it being implicitly defined and so see it as superfluous within the definition of a function (but not the body, where I like it as being explicit), but I can see how other people might lean towards the Lisp or functional side where "self" is like a curried argument and so should be explicitly defined. Python has some roots in both areas. Still, Python is not Smalltalk, Lisp, or Haskell/OCaml, so it has its own philosophy, and own strengths and weaknesses because of it. What it does clearly works within certain bounds, and works well in practice for writing many interesting and useful applications. This is all a little abstract and I'm likely mixing Smalltalk and Pythonic names for various things, so thanks to anybody who was willing to wade through this comment this far. :-) I still may not fully understand something about the Python model, so I'll need to continue to think about it based on the feedback from you and Dethe. Thanks again for the links. --Paul Fernhout Ivan Krsti? wrote: > On Oct 24, 2007, at 2:57 PM, Paul D. Fernhout wrote: >> Thanks; that was very helpful in improving my understanding of Python in >> practice. > > And for understanding the relevant theory, take a look at: > From jasonrbriggs at gmail.com Thu Oct 25 22:13:27 2007 From: jasonrbriggs at gmail.com (Jason R Briggs) Date: Fri, 26 Oct 2007 09:13:27 +1300 Subject: [Edu-sig] python for kids... In-Reply-To: References: Message-ID: <4720F8E7.8020705@gmail.com> Hi Philip I'm afraid that your attachment didn't make it through. Can you try again? Perhaps an screenshot image on its own might work. If you get the error when entering the line: t = turtle.Turtle() try with: t = turtle.Pen() As a side-note, I've almost finished updating a newer version of the book, with slightly re-ordered chapters and fixing a few minor errors (such as the reference to Turtle()) Kind regards Jason phil danaher wrote: > Dear Jason R Briggs > > I have been looking at snake wrangling for kids and reached page 47 > which introduces turtle graphics. I am using a MacBook with your > recommended version of MacPython and get the attached error message > when entering the code. Any suggestions for the FAQ section. Until > this point have enjoyed the book and would like to test it with my > students next year if OK with you :) Keep up the good work. > > cheers > > Phiilip > > > Date: Thu, 11 Oct 2007 10:40:33 +1300 > > From: jasonrbriggs at gmail.com > > To: edu-sig at python.org > > Subject: [Edu-sig] python for kids... > > > > Hi All > > > > I'm hoping to get some feedback (flameback?) for a book I've been > > working on (on and off for the last year or so), endeavouring to teach > > Python to kids (8-12). It's not perfect (by any stretch of the > > imagination), since it hasn't had a professional edit -- nor have I > > given it the requisite 6 month or so cooling down period to go back and > > hack out large chunks of dross with a bit of > > 'what-the-hell-was-I-thinking' objectivity. But I'm hoping some may > > find it useful, and over time I might get enough feedback to tidy it up > > a bit. > > > > Anyway, the download link can be found on this page: > > http://www.briggs.net.nz/log/writing/snake-wrangling-for-kids/ > > > > And a bit of background reading as to why I even bothered can be found > > here, if at all interested: > > http://www.briggs.net.nz/log/category/swfk/ > > > > Any commentary would be useful, and attribution will, of course, be > given. > > > > Jason > > _______________________________________________ > > Edu-sig mailing list > > Edu-sig at python.org > > http://mail.python.org/mailman/listinfo/edu-sig > > ------------------------------------------------------------------------ > Listen now! New music from the Rogue Traders. > > ------------------------------------------------------------------------ > From horst.jens at chello.at Fri Oct 26 12:30:24 2007 From: horst.jens at chello.at (Horst JENS) Date: Fri, 26 Oct 2007 12:30:24 +0200 Subject: [Edu-sig] python for kids... Message-ID: <1193394624.6430.18.camel@BaumBox> sorry for being late... just discovered the Edu-sig list today. I want to add that Gregor Lindl, the author of the German book "Python f?r Kids" has improved the turtle module to a module called "xturtle". xturtle was presented at the Europython 2006 but sadly come too late to be included into Python 2.5. It is well worth a look and there is a homepage in English from the author about it: http://www.rg16.asn-wien.ac.at/~python/xturtle/index.html also want to add that i teach Python to kids and made some videos about Easygui: http://www.showmedo.com/videos/series?name=pythonJensFromKidsSeries The videos are in German but have English subtitles. I would love to work together with other teachers to make more videos. For fun, mostly, and also to show that teaching PYthon to kids is a good idea. Now i happy dive into "Snake-Wrangler" :-) -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part Url : http://mail.python.org/pipermail/edu-sig/attachments/20071026/8b41f127/attachment.pgp From jasonrbriggs at gmail.com Sun Oct 28 04:55:24 2007 From: jasonrbriggs at gmail.com (Jason R Briggs) Date: Sun, 28 Oct 2007 16:55:24 +1300 Subject: [Edu-sig] python for kids... (version 0.4) Message-ID: <4724082C.6050702@gmail.com> Hi All I've just updated the site with the latest version of SWFK (see here for more info: http://www.briggs.net.nz/log/2007/10/28/version-04/) This adds a ToC, fixes some of the references that weren't valid for Python2.4, adds while-loops and, as previously discussed, moves some of the Turtle discussion a few chapters earlier. Kind regards Jason From jasonrbriggs at gmail.com Sun Oct 28 05:19:42 2007 From: jasonrbriggs at gmail.com (Jason R Briggs) Date: Sun, 28 Oct 2007 17:19:42 +1300 Subject: [Edu-sig] python for kids... (version 0.4) In-Reply-To: <4724082C.6050702@gmail.com> References: <4724082C.6050702@gmail.com> Message-ID: <47240DDE.90502@gmail.com> I forgot to mention that I've had over 200 downloads since announcing the first release on this mailing list. So, thanks for the interest, and the various tips and pointers. J Jason R Briggs wrote: > Hi All > > I've just updated the site with the latest version of SWFK (see here for > more info: http://www.briggs.net.nz/log/2007/10/28/version-04/) > > This adds a ToC, fixes some of the references that weren't valid for > Python2.4, adds while-loops and, as previously discussed, moves some of > the Turtle discussion a few chapters earlier. > > Kind regards > Jason > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > > From ernesto at dei.uc.pt Sun Oct 28 09:36:38 2007 From: ernesto at dei.uc.pt (Ernesto Costa) Date: Sun, 28 Oct 2007 08:36:38 +0000 Subject: [Edu-sig] python for kids... (version 0.4) In-Reply-To: <4724082C.6050702@gmail.com> References: <4724082C.6050702@gmail.com> Message-ID: <5AC119DF-454E-4E4A-B8B4-94F9BCF4DC40@dei.uc.pt> Hi Jason, Thanks for the nice book. It is really very well written and quite usefull for novice programmers. Just one remark concerning your statement about Python for Mac OS X. I use MacPython 2.5.1 (http://www.python.org/download/releases/) on my Mac and there is no problem whatsoever regarding Tkinter. Regards Ernesto Costa Em 2007/10/28, ?s 03:55, Jason R Briggs escreveu: > Hi All > > I've just updated the site with the latest version of SWFK (see > here for > more info: http://www.briggs.net.nz/log/2007/10/28/version-04/) > > This adds a ToC, fixes some of the references that weren't valid for > Python2.4, adds while-loops and, as previously discussed, moves > some of > the Turtle discussion a few chapters earlier. > > Kind regards > Jason > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig From jasonrbriggs at gmail.com Sun Oct 28 09:48:53 2007 From: jasonrbriggs at gmail.com (Jason R Briggs) Date: Sun, 28 Oct 2007 21:48:53 +1300 Subject: [Edu-sig] python for kids... (version 0.4) In-Reply-To: <5AC119DF-454E-4E4A-B8B4-94F9BCF4DC40@dei.uc.pt> References: <4724082C.6050702@gmail.com> <5AC119DF-454E-4E4A-B8B4-94F9BCF4DC40@dei.uc.pt> Message-ID: <47244CF5.2010402@gmail.com> Might be your version of OS X. On my wife's iBook (10.3) it definitely didn't work without additional effort. Ernesto Costa wrote: > Hi Jason, > > Thanks for the nice book. It is really very well written and quite > usefull for novice programmers. > > Just one remark concerning your statement about Python for Mac OS X. > I use MacPython 2.5.1 (http://www.python.org/download/releases/) on my > Mac and there is no problem whatsoever regarding Tkinter. > > > Regards > > Ernesto Costa > > > > Em 2007/10/28, ?s 03:55, Jason R Briggs escreveu: > >> Hi All >> >> I've just updated the site with the latest version of SWFK (see here for >> more info: http://www.briggs.net.nz/log/2007/10/28/version-04/) >> >> This adds a ToC, fixes some of the references that weren't valid for >> Python2.4, adds while-loops and, as previously discussed, moves some of >> the Turtle discussion a few chapters earlier. >> >> Kind regards >> Jason >> _______________________________________________ >> Edu-sig mailing list >> Edu-sig at python.org >> http://mail.python.org/mailman/listinfo/edu-sig > From heistooheavy at yahoo.com Sun Oct 28 16:05:49 2007 From: heistooheavy at yahoo.com (Richard Guenther) Date: Sun, 28 Oct 2007 08:05:49 -0700 (PDT) Subject: [Edu-sig] (no subject) Message-ID: <920759.24447.qm@web63301.mail.re1.yahoo.com> __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.python.org/pipermail/edu-sig/attachments/20071028/8ae786a1/attachment.htm From heistooheavy at yahoo.com Sun Oct 28 16:09:18 2007 From: heistooheavy at yahoo.com (Richard Guenther) Date: Sun, 28 Oct 2007 08:09:18 -0700 (PDT) Subject: [Edu-sig] Forum hosting for HS Python group Message-ID: <816621.28157.qm@web63301.mail.re1.yahoo.com> Hi everyone. Anyone have recommendations for a good online forum host. I wouldn't mind paying a bit to ensure a few things like: 1. No poor taste spambot postings (this will be used by students) 2. Open only to members of our programming club 3. Easy to set up so that students can maintain it This would be for my high school computer programming club. Basically, we want an easy way to share our Python code and have some fun. Thanks, Richard __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.python.org/pipermail/edu-sig/attachments/20071028/6f3c411b/attachment.htm From delza at livingcode.org Sun Oct 28 20:50:25 2007 From: delza at livingcode.org (Dethe Elza) Date: Sun, 28 Oct 2007 12:50:25 -0700 Subject: [Edu-sig] Forum hosting for HS Python group In-Reply-To: <816621.28157.qm@web63301.mail.re1.yahoo.com> References: <816621.28157.qm@web63301.mail.re1.yahoo.com> Message-ID: <24d517dd0710281250h1efe86bjae7f2ffcf296b5fc@mail.gmail.com> Hi Richard, Any of the one-click instaler hosts should be able to host forums like this. I use Dreamhost, but TextDrive also has a good reputation. They have inexpensive hosting options. Alternatively you can get a free blog site through WordPress or Blogger and give each student a login for posting. For eliminating spam, you will need to use whatever facilities the tool you use has, and also actively monitor and clean anything that gets through anyway. I know WordPress has Akismet support for eliminating spam, and also you can set the rules for when a post or reply triggers moderation (no-one will see a moderated post until you approve it). The part about "only open to members of the programming club" is trickier. Do you mean that only they can see or read it, or that only they can post to it. Setting it up so that only they can post to it is easy, but making it invisible to the rest of the web makes me think you need a very different solution than what I've proposed. --Dethe From delza at livingcode.org Sun Oct 28 20:56:56 2007 From: delza at livingcode.org (Dethe Elza) Date: Sun, 28 Oct 2007 12:56:56 -0700 Subject: [Edu-sig] python for kids... (version 0.4) In-Reply-To: <47244CF5.2010402@gmail.com> References: <4724082C.6050702@gmail.com> <5AC119DF-454E-4E4A-B8B4-94F9BCF4DC40@dei.uc.pt> <47244CF5.2010402@gmail.com> Message-ID: <24d517dd0710281256u6c760857rb138350d7b744354@mail.gmail.com> The Mac/Python folks recommend treating the Python that comes pre-installed as part of the built-in operating system--don't remove it because things will break, but don't rely on it for your own code. There are several reasons for this: it's an older version of Python, it shipped with known bugs, and if you build stand-alone applications using it, they will not work when you upgrade the OS or someone uses you app on a different version of the OS. Far better is to download and install the latest python and use that. In that case, Tkinter should work fine, and if you build stand-alone apps (using py2app) Python will be packaged into the app bundle, so it will work regardless of OS upgrades. --Dethe From matt.kameron at gmail.com Sun Oct 28 22:44:47 2007 From: matt.kameron at gmail.com (Matt K) Date: Mon, 29 Oct 2007 08:44:47 +1100 Subject: [Edu-sig] Forum hosting for HS Python group In-Reply-To: <24d517dd0710281250h1efe86bjae7f2ffcf296b5fc@mail.gmail.com> References: <816621.28157.qm@web63301.mail.re1.yahoo.com> <24d517dd0710281250h1efe86bjae7f2ffcf296b5fc@mail.gmail.com> Message-ID: <53b2477a0710281444o29e839a3m2806429b33a88b79@mail.gmail.com> Don't overlook just using a facebook group. They can be set as completely invisible to all people except those who recieve a direct invite, and people can use it as a full forum. On 10/29/07, Dethe Elza wrote: > > Hi Richard, > > Any of the one-click instaler hosts should be able to host forums like > this. I use Dreamhost, but TextDrive also has a good reputation. > They have inexpensive hosting options. Alternatively you can get a > free blog site through WordPress or Blogger and give each student a > login for posting. > > For eliminating spam, you will need to use whatever facilities the > tool you use has, and also actively monitor and clean anything that > gets through anyway. I know WordPress has Akismet support for > eliminating spam, and also you can set the rules for when a post or > reply triggers moderation (no-one will see a moderated post until you > approve it). > > The part about "only open to members of the programming club" is > trickier. Do you mean that only they can see or read it, or that only > they can post to it. Setting it up so that only they can post to it > is easy, but making it invisible to the rest of the web makes me think > you need a very different solution than what I've proposed. > > --Dethe > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.python.org/pipermail/edu-sig/attachments/20071029/7cbfa44a/attachment.htm From delza at livingcode.org Mon Oct 29 02:33:58 2007 From: delza at livingcode.org (Dethe Elza) Date: Sun, 28 Oct 2007 18:33:58 -0700 Subject: [Edu-sig] Forum hosting for HS Python group In-Reply-To: <53b2477a0710281444o29e839a3m2806429b33a88b79@mail.gmail.com> References: <816621.28157.qm@web63301.mail.re1.yahoo.com> <24d517dd0710281250h1efe86bjae7f2ffcf296b5fc@mail.gmail.com> <53b2477a0710281444o29e839a3m2806429b33a88b79@mail.gmail.com> Message-ID: <24d517dd0710281833p4ae00765m32c3112442097c78@mail.gmail.com> On 10/28/07, Matt K wrote: > Don't overlook just using a facebook group. They can be set as completely > invisible to all people except those who recieve a direct invite, and people > can use it as a full forum. Um, but introducing kids to Facebook. Shouldn't we give them something less addictive, like crack, first? --Dethe From jasonrbriggs at gmail.com Mon Oct 29 02:44:44 2007 From: jasonrbriggs at gmail.com (Jason R Briggs) Date: Mon, 29 Oct 2007 14:44:44 +1300 Subject: [Edu-sig] Forum hosting for HS Python group In-Reply-To: <24d517dd0710281833p4ae00765m32c3112442097c78@mail.gmail.com> References: <816621.28157.qm@web63301.mail.re1.yahoo.com> <24d517dd0710281250h1efe86bjae7f2ffcf296b5fc@mail.gmail.com> <53b2477a0710281444o29e839a3m2806429b33a88b79@mail.gmail.com> <24d517dd0710281833p4ae00765m32c3112442097c78@mail.gmail.com> Message-ID: <47253B0C.3070304@gmail.com> They're probably already using facebook anyway. You just don't know it. ;-) And trust me, you don't want to know to what uses they're putting that basic chemistry set they got for Christmas.... Dethe Elza wrote: > On 10/28/07, Matt K wrote: > >> Don't overlook just using a facebook group. They can be set as completely >> invisible to all people except those who recieve a direct invite, and people >> can use it as a full forum. >> > > Um, but introducing kids to Facebook. Shouldn't we give them > something less addictive, like crack, first? > > --Dethe > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > > From delza at livingcode.org Mon Oct 29 05:16:07 2007 From: delza at livingcode.org (Dethe Elza) Date: Sun, 28 Oct 2007 21:16:07 -0700 Subject: [Edu-sig] Forum hosting for HS Python group In-Reply-To: <47253B0C.3070304@gmail.com> References: <816621.28157.qm@web63301.mail.re1.yahoo.com> <24d517dd0710281250h1efe86bjae7f2ffcf296b5fc@mail.gmail.com> <53b2477a0710281444o29e839a3m2806429b33a88b79@mail.gmail.com> <24d517dd0710281833p4ae00765m32c3112442097c78@mail.gmail.com> <47253B0C.3070304@gmail.com> Message-ID: <24d517dd0710282116h6c487456q3815377a15437c2b@mail.gmail.com> > And trust me, you don't want to know to what uses they're putting that > basic chemistry set they got for Christmas.... At the risk of going seriously off-topic, but I didn't think Homeland Security let anyone buy chemistry sets anymore. I haven't seen very many chemistry sets in the toys stores here in Canada either. Maybe the liability insurance is too high? --Dethe From matt at schinckel.net Mon Oct 29 06:09:57 2007 From: matt at schinckel.net (Matthew Schinckel) Date: Mon, 29 Oct 2007 15:39:57 +1030 Subject: [Edu-sig] Forum hosting for HS Python group In-Reply-To: <24d517dd0710281250h1efe86bjae7f2ffcf296b5fc@mail.gmail.com> References: <816621.28157.qm@web63301.mail.re1.yahoo.com> <24d517dd0710281250h1efe86bjae7f2ffcf296b5fc@mail.gmail.com> Message-ID: <2521244f0710282209u6d3a3092xbedc1dac65a2a24e@mail.gmail.com> I can recommend nearlyFreeSpeech.net as a host - you can install whatever sort of software on it you want. Of course, you'll need to do all of the administration stuff yourself. (A satisfied user, no other connection to NFS) On 29/10/2007, Dethe Elza wrote: > Hi Richard, > > Any of the one-click instaler hosts should be able to host forums like > this. I use Dreamhost, but TextDrive also has a good reputation. > They have inexpensive hosting options. Alternatively you can get a > free blog site through WordPress or Blogger and give each student a > login for posting. > > For eliminating spam, you will need to use whatever facilities the > tool you use has, and also actively monitor and clean anything that > gets through anyway. I know WordPress has Akismet support for > eliminating spam, and also you can set the rules for when a post or > reply triggers moderation (no-one will see a moderated post until you > approve it). > > The part about "only open to members of the programming club" is > trickier. Do you mean that only they can see or read it, or that only > they can post to it. Setting it up so that only they can post to it > is easy, but making it invisible to the rest of the web makes me think > you need a very different solution than what I've proposed. > > --Dethe > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > -- Matthew Schinckel The Feynman Problem-Solving Algorithm: (1) write down the problem; (2) think very hard; (3) write down the answer. From mtobis at gmail.com Mon Oct 29 20:17:30 2007 From: mtobis at gmail.com (Michael Tobis) Date: Mon, 29 Oct 2007 14:17:30 -0500 Subject: [Edu-sig] Forum hosting for HS Python group In-Reply-To: <2521244f0710282209u6d3a3092xbedc1dac65a2a24e@mail.gmail.com> References: <816621.28157.qm@web63301.mail.re1.yahoo.com> <24d517dd0710281250h1efe86bjae7f2ffcf296b5fc@mail.gmail.com> <2521244f0710282209u6d3a3092xbedc1dac65a2a24e@mail.gmail.com> Message-ID: Google code. http://code.google.com/hosting . Most wikis are code-unfriendly. You'll have to jump through a few hoops to get started, but you won't actually have to install your own wiki. Google code is what you need, I think. If you are willing to do some sysadmin, as far as open source wikis go, MoinMoin is probably friendliest to embedded Python. http://moinmo.in/MoinMoinFeatures mt On 10/29/07, Matthew Schinckel wrote: > I can recommend nearlyFreeSpeech.net as a host - you can install > whatever sort of software on it you want. > > Of course, you'll need to do all of the administration stuff yourself. > > (A satisfied user, no other connection to NFS) > > On 29/10/2007, Dethe Elza wrote: > > Hi Richard, > > > > Any of the one-click instaler hosts should be able to host forums like > > this. I use Dreamhost, but TextDrive also has a good reputation. > > They have inexpensive hosting options. Alternatively you can get a > > free blog site through WordPress or Blogger and give each student a > > login for posting. > > > > For eliminating spam, you will need to use whatever facilities the > > tool you use has, and also actively monitor and clean anything that > > gets through anyway. I know WordPress has Akismet support for > > eliminating spam, and also you can set the rules for when a post or > > reply triggers moderation (no-one will see a moderated post until you > > approve it). > > > > The part about "only open to members of the programming club" is > > trickier. Do you mean that only they can see or read it, or that only > > they can post to it. Setting it up so that only they can post to it > > is easy, but making it invisible to the rest of the web makes me think > > you need a very different solution than what I've proposed. > > > > --Dethe > > _______________________________________________ > > Edu-sig mailing list > > Edu-sig at python.org > > http://mail.python.org/mailman/listinfo/edu-sig > > > > > -- > Matthew Schinckel > > The Feynman Problem-Solving Algorithm: > (1) write down the problem; > (2) think very hard; > (3) write down the answer. > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > From heistooheavy at yahoo.com Mon Oct 29 23:35:50 2007 From: heistooheavy at yahoo.com (Richard Guenther) Date: Mon, 29 Oct 2007 15:35:50 -0700 (PDT) Subject: [Edu-sig] Forum hosting for HS Python group Message-ID: <430972.74116.qm@web63315.mail.re1.yahoo.com> Thanks. And thanks to everyone else who responded. I have many choices here and will let students drive some of these decisions. Other recommendations have been noted and I will be presenting these possibilities to a group of teachers in the near future. We've got a google page started (just a group page, a code wiki will possibly follow), and I think we may also use Blogger somehow. Both of those are just too convienient to pass by. Although I could get our district to host, it's easier to just bypass them for now. In the future we'll probably host with Moodle as our school is moving to a Science Technology Engineering Math (STEM) focus. Right now, however, OS is seen as either "too good to be true" or "security risk!" or even "what the heck is that?" Thank you to all that responded. I read each and every one :-) Richard P.S. My students indeed ARE very familiar with facebook. I'm sure that suggestion will go over well with them. It's the parents who tend to get nervous about facebook. ----- Original Message ---- From: Michael Tobis To: Matthew Schinckel Cc: edu-sig at python.org Sent: Monday, October 29, 2007 1:17:30 PM Subject: Re: [Edu-sig] Forum hosting for HS Python group Google code. http://code.google.com/hosting . Most wikis are code-unfriendly. You'll have to jump through a few hoops to get started, but you won't actually have to install your own wiki. Google code is what you need, I think..... __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.python.org/pipermail/edu-sig/attachments/20071029/7a59d5e5/attachment.htm