From stho at manning.com Wed Apr 1 00:27:39 2009 From: stho at manning.com (Steven Hong) Date: Tue, 31 Mar 2009 15:27:39 -0700 Subject: [Edu-sig] New Beginning Python book for children Message-ID: Hi all, I'm emailing to make you all aware of a fun new beginning programming book called Hello World! Computer Programming for Kids and Other Beginners. Written by Warren Sande and his son, Carter, the book is a true introductory book for programming in Python. If your kid can use email and surf the web, then they could learn to program their own game using this book. Light on technical jargon and heavy on pictures, cartoons and fun examples, it's the perfect gift for a child, text for a classroom computer lab or even introductory text for adult beginners. If you want to get your child programming in no time, why not start with this easy book? For the month of April, Manning Publications will offer edu-sig members a 35% discount on the book when using the code edusig upon checkout at www.manning.com. Steven Hong Marketing Coordinator Manning Publications www.manning.com =================== Skype: stevenhong02 Twitter: ManningBooks -------------- next part -------------- An HTML attachment was scrubbed... URL: From kirby.urner at gmail.com Fri Apr 3 19:19:03 2009 From: kirby.urner at gmail.com (kirby urner) Date: Fri, 3 Apr 2009 10:19:03 -0700 Subject: [Edu-sig] re skool politics and fixing the broken math track Message-ID: One positive aspect of Pycon is I get to meet a lot of world savvy people with skills outside of my skill set. We also get to exchange ideas about economic matters. One electrifying email from ISEPP, my home office for the conference, told me of plans to close our flagship charter where Edubuntu is used and students learn entrepreneurship skills like music publishing. This is one of the most innovative charters in the state, and because it makes other more unimaginative schools look tawdry by comparison, it has never been offered a building, though by law it's public, and the Portland District has a surfeit of unused school buildings in inventory, many of them standing quite empty. The goal among some has been to force LEP High into a high rent corner, suck all the life out of it, then leave it for dead. March 30th with supposed to be the final nail in the coffin. Fortunately, Portland's leadership is not quite that short sighted and the thugs behind this mendacious plan were met head on by student activists and community organizers, who managed to raise much of the cash needed for rent. Even the landlord got into the act, by lowering the amount due. http://www.oregonlive.com/portland/index.ssf/2009/03/portland_school_board_closes_p.html (Oregonian write-up) Willamette Week wrote a highly supportive editorial whereas I fired off some Wiki stuff (Dr. Benson and I both use Wikis for political work, easier to change on the fly) attn school board, letting 'em know that LEP High has some friends in high places, including at ISEPP, represented at Pycon. http://wweek.com/editorial/3520/12350/ (Willamette Week) http://wanderers.pbwiki.com/PyconPromo (my Wiki page promoting PDX as FOSS capital) Anyway, that's just local politics, maybe not that exciting to outsiders. The economics are more general though: charter schools, networking directly with federal agencies (many of which have stimulus money) allow fast tracking noob teachers, including geeks with still-intact ideals, with the added benefit of merit pay (not just mindless "seniority") to keep the more skilled from fleeing to more lucrative careers (that's been the problem: learn any math industry actually uses and you're out the door, gone from teaching, especially high school). If you can make up in perks and status what's missing in basic income, yet still offer a livable pay grade, that's something. Having summers off is another big plus, although LEP High adopted a year round model (same number of vacation days), as other schools are likely to do, on top of whatever remote access. Some teachers do computer camps during this time period, The model here is a numerate faculty with skills will maintain its own RAMP stack (R is for Ruby, Linux presumed -- more a joke than a serious proposal, but we should acknowledge that LAMP is a bit dated, given Google App Engine et al -- just saying MVC might be better) in tandem with apprenticing students. Why would a school want an intranet, a place to store history, trophies, results of virtual contests, lore? Why would a biology class want to register field work from year to year? Why would class photos still be meaningful to alumni years later? Yearbooks on the intranet? Why would anyone want that? A few charters might. The rhetoric here is "all schools are charter schools" i.e. it's more a matter of when, in time, you got handed your template, which mixins you've got. By today's rules, it's OK to fast track and merit pay geeks. It's also worthwhile to upgrade in place i.e. get those skills on the job (no matter when your charter). There's this tendency to say "charter" versus "public" among those ignorant of the code, whereas the whole point of charters is to integrate them into the public framework (moves which antediluvians resist, by encouraging the perception of charters as "not public" -- an transparent deception if you think about it). The current federal administration is on board with these innovations, which many conservative Republicans like as well as this is seen as a "states rights" issue, e.g. Alaska doesn't want to kow-tow to some national standards committee with its sorry textbook recommendations (there is no such national committee but you can bet some old skool recyclers would want there to be -- plus they should mandate TI calculator use while they're being lazy). That's the easy way to get a market, dictate through legislatures, but in a democracy promising lots of choices, that's unlikely to be sustainable. The politicians need a credible rhetoric as well, can't do the impossible, no matter how much a lobby group make think it "owns" someone. If a charter in Matsu District wants to contract directly with O'Reilly for teacher training, and go with a more geekish discrete math track, such as we're working on here in Oregon (TechStart of Software Association of Oregon a player here), then who's to stop 'em? Freedom of choice is what parents want as well. The bogus argument that "changing schools will mean falling behind if not everyone is using the same textbook" is another idiotic dodge you'll find in the literature, an argument for lockstep conformity, using ETS (Educational Testing Service) as the one common beacon ("blue meanies revenge" might be a name for this syndrome). Minus a Math Czar, the Prussian objectivists, filled with fantasies of lockstep, see ETS as the next best thing. If we have top-down control over the math track, we'll be able to enforce the "broken pipeline" philosophy that keeps our math bereft of anything that smacks of computer science, nevermind the social costs in terms of kids turning away, not seeing the point of ascending Calculus Mountain merely to please the AP bosses (last year's Chicago talk). My daughter's public charter, a geek Hogwarts called Winterhaven, went with Math Learning Center's visual math for its cohorts, something mostly unheard of at the national level, and way better for some types of learner. It's maybe easier for a middle school to innovate in this way as they're further from the ETS gatekeepers, time-wise. This is the same school where I was invited to teach Python to all the 8th graders, which they ask I present with the GIS spin. That meant using XML-RPC to get lat/long coords based on home address, KML files from Google Earth, lots of geographic rich data structures (e.g. Python dicts with embedded lists). http://www.4dsolutions.net/ocn/winterhaven/ I've archived all this before so will trail off at this juncture... Kirby PS: Thx to Steve Holden's tutorial for reminding me that string interpolation in key:value mode works with any object with a __getitem__ rib, not just a dict. I hadn't quite remembered that, plan to use that in classes this month. >>> class C(object): def __getitem__(self, key): return self.__dict__[key] >>> o = C() >>> o.a = 1 >>> o.b = 2 >>> o.__dict__['a'] 1 >>> "and a %(a)d and a %(b)s" % o 'and a 1 and a 2' From jjposner at snet.net Sat Apr 4 21:48:04 2009 From: jjposner at snet.net (John Posner) Date: Sat, 04 Apr 2009 15:48:04 -0400 Subject: [Edu-sig] Generating prime numbers Message-ID: <057A4CD088914E408E2CB5A8AA412A36@AMDUP> Sent today to python-list ... Inspired by recent threads (and recalling my first message to Python edu-sig), I did some Internet searching on producing prime numbers using Python generators. Most algorithms I found don't go for the infinite, contenting themselves with "list all the primes below a given number". Here's a very Pythonic (IMHO) implementation that keeps going and going and going ...: from itertools import count from math import sqrt def prime_gen(): """ Generate all prime numbers """ primes = [] for n in count(2): if all(n%p for p in primes if p <= sqrt(n)): primes.append(n) yield n The use of all() is particularly nifty (see http://code.activestate.com/recipes/576640/). And so is the way in which the list comprehension easily incorporates the sqrt(n) optimization. Question: Is there a way to implement this algorithm using generator expressions only -- no "yield" statements allowed? E-mail message checked by Spyware Doctor (6.0.0.386) Database version: 5.12110 http://www.pctools.com/en/spyware-doctor-antivirus/ From echerlin at gmail.com Sat Apr 4 23:30:51 2009 From: echerlin at gmail.com (Edward Cherlin) Date: Sat, 4 Apr 2009 14:30:51 -0700 Subject: [Edu-sig] Generating prime numbers In-Reply-To: <057A4CD088914E408E2CB5A8AA412A36@AMDUP> References: <057A4CD088914E408E2CB5A8AA412A36@AMDUP> Message-ID: Your message text got stuck in an attachment, where I almost missed it. I wonder what your mail system thinks it is doing? Comment below. On Sat, Apr 4, 2009 at 12:48 PM, John Posner wrote: > Sent today to python-list ... Inspired by recent threads (and recalling my first message to Python edu-sig), I did some Internet searching on producing prime numbers using Python generators. Most algorithms I found don't go for the infinite, contenting themselves with "list all the primes below a given number". Here's a very Pythonic (IMHO) implementation that keeps going and going and going ...: from itertools import count from math import sqrt def prime_gen(): """ Generate all prime numbers """ primes = [] for n in count(2): if all(n%p for p in primes if p <= sqrt(n)): primes.append(n) yield n The use of all() is particularly nifty (see http://code.activestate.com/recipes/576640/). And so is the way in which the list comprehension easily incorporates the sqrt(n) optimization. Question: Is there a way to implement this algorithm using generator expressions only -- no "yield" statements allowed? I don't know about Python, but there are lazy evaluation languages with streams that can handle something like isprime=: {n.0 in [2:floor(sqrt(n))] | n} isprime each [2:_]/[2:_] where floor is round down | is remainder (mod) each applies a function to each member of the argument _ is positive infinity / (compress) returns elements of the right argument corresponding to True values in the left argument and we can get rid of the named function by simple substitution, thus {n.0 in [2:floor(sqrt(n))] | n} [2:_] 2 passes as prime because [2:1] is empty, so it generates no 0 remainder. Can you say that in Python? -- Silent Thunder (??/???????????????/????????????? ?) is my name And Children are my nation. The Cosmos is my dwelling place, The Truth my destination. http://earthtreasury.net/ (Edward Mokurai Cherlin) From kirby.urner at gmail.com Sun Apr 5 16:57:31 2009 From: kirby.urner at gmail.com (kirby urner) Date: Sun, 5 Apr 2009 07:57:31 -0700 Subject: [Edu-sig] Generating prime numbers In-Reply-To: References: <057A4CD088914E408E2CB5A8AA412A36@AMDUP> Message-ID: Excellente! kind sir. > I don't know about Python, but there are lazy evaluation languages > with streams that can handle something like > > isprime=: {n.0 in [2:floor(sqrt(n))] | n} > > isprime each [2:_]/[2:_] I'm wanting to say Haskell but that's just talking through my hat. Once you get it down to a line, they'll complain it's not just one symbol, which it sort of is in J, or at least converting to cyclic notation is a primitive (my J __dict__ is a bit scrambled from lack of much practice). Under the hood though, you've got reams of chip flops, no matter how crypto-poetic the mathematics. So I resist the trend to always compress to the next level. Python feels less compressed than APL too, but that's a feature not a bug. On Sat, Apr 4, 2009 at 2:30 PM, Edward Cherlin wrote: > Your message text got stuck in an attachment, where I almost missed > it. I wonder what your mail system thinks it is doing? Comment below. Kirby interpolating, cutting and pasting from Python 3: >>> from itertools import count >>> from math import sqrt >>> def prime_gen(): """ Generate all prime numbers """ primes = [] for n in count(2): if all(n%p for p in primes if p <= sqrt(n)): primes.append(n) yield n >>> p = prime_gen() >>> next(p) 2 >>> next(p) 3 >>> next(p) 5 >>> next(p) 7 >>> next(p) 11 >>> next(p) 13 >>> next(p) 17 >>> next(p) 19 > > On Sat, Apr 4, 2009 at 12:48 PM, John Posner wrote: > > > Sent today to python-list ... > > Inspired by recent threads (and recalling my first message to Python > edu-sig), I did some Internet searching on producing prime numbers using > Python generators. Most algorithms I found don't go for the infinite, > contenting themselves with "list all the primes below a given number". > > Here's a very Pythonic (IMHO) implementation that keeps going and going and > going ...: > > from itertools import count > from math import sqrt > > def prime_gen(): > ? ?""" > ? ?Generate all prime numbers > ? ?""" > ? ?primes = [] > ? ?for n in count(2): > ? ? ? ?if all(n%p for p in primes if p <= sqrt(n)): > ? ? ? ? ? ?primes.append(n) > ? ? ? ? ? ?yield n > > The use of all() is particularly nifty (see > http://code.activestate.com/recipes/576640/). And so is the way in which the > list comprehension easily incorporates the sqrt(n) optimization. > > Question: Is there a way to implement this algorithm using generator > expressions only -- no "yield" statements allowed? > > I don't know about Python, but there are lazy evaluation languages > with streams that can handle something like > > isprime=: {n.0 in [2:floor(sqrt(n))] | n} > > isprime each [2:_]/[2:_] > > where > > floor is round down > | is remainder (mod) > each applies a function to each member of the argument > _ is positive infinity > / (compress) returns elements of the right argument corresponding to > True values in the left argument > > and we can get rid of the named function by simple substitution, thus > > {n.0 in [2:floor(sqrt(n))] | n} [2:_] > > 2 passes as prime because [2:1] is empty, so it generates no 0 remainder. > > Can you say that in Python? > -- > Silent Thunder (??/???????????????/????????????? ?) is my name > And Children are my nation. > The Cosmos is my dwelling place, The Truth my destination. > http://earthtreasury.net/ (Edward Mokurai Cherlin) > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > From jjposner at snet.net Sun Apr 5 17:27:53 2009 From: jjposner at snet.net (John Posner) Date: Sun, 05 Apr 2009 11:27:53 -0400 Subject: [Edu-sig] Generating prime numbers In-Reply-To: References: <057A4CD088914E408E2CB5A8AA412A36@AMDUP> Message-ID: <49D8CDF9.30606@snet.net> kirby urner wrote: > Excellente! kind sir. > Here's a Python solution from Kay Schluehr on python-list. I've pretty-printed it, sort of. If the line endings get garbled, just look for the backslashes: g = (lambda primes = []: \ (n for n in count(2) if \ (lambda n, primes: \ (n in primes if (primes and n<=primes[-1]) \ else (primes.append(n) or True if all(n%p for p in primes if p <= sqrt(n)) \ else False) \ ) \ )(n, primes) \ ) \ )() "g" is a generator, so get the values with g.next(). > On Sat, Apr 4, 2009 at 2:30 PM, Edward Cherlin wrote: > >> Your message text got stuck in an attachment, where I almost missed >> it. I wonder what your mail system thinks it is doing? Comment below. >> Yes, I know it's bad. This message is sent from Thunderbird 2.0.0.21, instead of MS-Outlook 2003. Any better? -John From kirby.urner at gmail.com Sun Apr 5 18:07:47 2009 From: kirby.urner at gmail.com (kirby urner) Date: Sun, 5 Apr 2009 09:07:47 -0700 Subject: [Edu-sig] Generating prime numbers In-Reply-To: <49D8CDF9.30606@snet.net> References: <057A4CD088914E408E2CB5A8AA412A36@AMDUP> <49D8CDF9.30606@snet.net> Message-ID: As my grandmother might have said: ai yai yai http://answers.yahoo.com/question/index?qid=20081203103806AA4TSOq I'm guessing Kay (XY? XX? -- not that I need to know) is a LISP and/or Scheme head, by the looks of those lambdas. Probably why Python doesn't want a big one is precisely this: the language would fall under the control of the Great Lambda Kings (a small tribe to our north, spends all its time extending emacs). Ya gotta love 'em! Kirby On Sun, Apr 5, 2009 at 8:27 AM, John Posner wrote: > kirby urner wrote: >> >> Excellente! kind sir. >> > > Here's a Python solution from Kay Schluehr on python-list. I've > pretty-printed it, sort of. If the line endings get garbled, just look for > the backslashes: > > g = (lambda primes = []: \ > ? ? ? (n for n in count(2) if \ > ? ? ? ? ? (lambda n, primes: \ > ? ? ? ? ? ? ? (n in primes if (primes and n<=primes[-1]) \ > ? ? ? ? ? ? ? ? ? ? ? ? ? ?else (primes.append(n) or True if all(n%p for p > in primes if p <= sqrt(n)) \ > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? else False) \ > ? ? ? ? ? ? ? ) \ > ? ? ? ? ? )(n, primes) \ > ? ? ? ) \ > ? )() > > "g" is a generator, so get the values with g.next(). > > >> On Sat, Apr 4, 2009 at 2:30 PM, Edward Cherlin wrote: >> >>> >>> Your message text got stuck in an attachment, where I almost missed >>> it. I wonder what your mail system thinks it is doing? Comment below. >>> > > Yes, I know it's bad. This message is sent from Thunderbird 2.0.0.21, > instead of MS-Outlook 2003. Any better? > > -John > > From gary.pajer at gmail.com Mon Apr 6 20:33:53 2009 From: gary.pajer at gmail.com (Gary Pajer) Date: Mon, 6 Apr 2009 14:33:53 -0400 Subject: [Edu-sig] Progamming advice. (Was: Why MIT switched from Scheme to Python) Message-ID: <88fe22a0904061133t664fd501u807e7eefddceec1d@mail.gmail.com> On Wed, Mar 25, 2009 at 4:43 PM, kirby urner wrote: [...] > > > What does the robot look like I wonder. Open source? API? Yes, I > should Google, but I'm trying to track a "Django in the real world" > workshop at the moment. Pycon. Packed room. They're showing the > slide that scares me the most: LiveJournal Backend: Today (roughly). > LAMP isn't as easy as it sounds. > > Here're the slides we're looking at FYI: > http://jacobian.org/speaking/2009/real-world-django/ > This is orthogonal to everything: I looked at those slides, and they hint at good practical tips and advice for structuring your Django app. Just this past weekend I was wondering where I could find such things, that is, help at learning good ways to structure a python program (for generic python, not specifically Django), written for the non-programmer scientist/educator. When I write my programs I always feel that certainly I am attacking the problem in the least-elegant, least-extendable, least-reusable, most-brute-force way possible. It's easy to find beginners manuals, but what's the best way to learn better programming techniques / structures / etc? Maybe the request is a bit off-topic, but it came up in reference to the above, and besides, there are probably people here who understand the question and can answer it! Thanks, gary -------------- next part -------------- An HTML attachment was scrubbed... URL: From kirby.urner at gmail.com Mon Apr 6 21:34:04 2009 From: kirby.urner at gmail.com (kirby urner) Date: Mon, 6 Apr 2009 12:34:04 -0700 Subject: [Edu-sig] Progamming advice. (Was: Why MIT switched from Scheme to Python) In-Reply-To: <88fe22a0904061133t664fd501u807e7eefddceec1d@mail.gmail.com> References: <88fe22a0904061133t664fd501u807e7eefddceec1d@mail.gmail.com> Message-ID: Hey excellent questions Gary, expect others will pipe up. What I see as a challenge with Python is precisely its liberal nature, as coders from earlier generations, cutting teeth in BASIC or FORTRAN, find there's sufficient procedural syntax to sort of barrel ahead with the same kind of thinking, involving loops within loops, not many user-defined classes. My friend Bernie Gunn was a scientist of this variety, a veteran of Pascal, a serious-minded geochemist. He was evaluating Java versus Python for a next iteration. Making the leap across paradigms was far from trivial for the guy (who flew his own plane well into his 80s): http://www.geokem.com/ (you'll see a write-up on Python in the Background section) The hype around "object oriented" rubbed a lot of seasoned professionals the wrong way and many still refuse to make it the ground zero for coding, think a year of procedural code should be a prerequisite for all that newfangled object stuff (kind of like insisting on a land line before moving to cell). However, I think most happy camper Pythoneers have become comfortable with OO and exploit its chief ability, which is to mirror a problem domain using the shoptalk of the trade. The Python version should "fit your brain" because it's pretty close to the way you were thinking about things anyway. Your code is in terms of your chemistry, biology, astronomy or whatever. Things (nouns) have behaviors (verbs) and attributes (adjectives). You're sharing ideas with peers in your field, with Python syntax becoming more incidental, getting out of the way. Like with other mathematical notations, you might use code snippets to describe what's going on. Two particles collide, what's that look like in snake? Just trying to aim for what I take to be the "aesthetic ballpark" (our Pythonic Valhalla): using lots of classes and objects to mirror the stuff one actually encounters on the job. Think of Python as a language for talking shop to your peers (the best code is collaborative) and not as a way to pay homage to the computer science gods (or goddesses, as the case may well be). Of course some people are computer scientists and their Python is "about CS". So much other code isn't like that. Kirby On Mon, Apr 6, 2009 at 11:33 AM, Gary Pajer wrote: > On Wed, Mar 25, 2009 at 4:43 PM, kirby urner wrote: > [...] > >> >> What does the robot look like I wonder. ?Open source? ?API? ?Yes, I >> should Google, but I'm trying to track a "Django in the real world" >> workshop at the moment. ?Pycon. ?Packed room. ?They're showing the >> slide that scares me the most: ?LiveJournal Backend: Today (roughly). >> LAMP isn't as easy as it sounds. >> >> Here're the slides we're looking at FYI: >> http://jacobian.org/speaking/2009/real-world-django/ > > This is orthogonal to everything: > I looked at those slides, and they hint at good practical tips and advice > for structuring your Django app. > > Just this past weekend I was wondering where I could find such things, that > is, help at learning good ways to structure a python program (for generic > python, not specifically Django), written for the non-programmer > scientist/educator.? When I write my programs I always feel that certainly I > am attacking the problem in the least-elegant, least-extendable, > least-reusable, most-brute-force way possible.? It's easy to find beginners > manuals, but what's the best way to learn better programming techniques / > structures / etc? > > Maybe the request is a bit off-topic, but it came up in reference to the > above, and besides, there are probably people here who understand the > question and can answer it! > > Thanks, > gary > > > > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > > From Scott.Daniels at Acm.Org Mon Apr 6 22:35:15 2009 From: Scott.Daniels at Acm.Org (Scott David Daniels) Date: Mon, 06 Apr 2009 13:35:15 -0700 Subject: [Edu-sig] Progamming advice. (Was: Why MIT switched from Scheme to Python) In-Reply-To: <88fe22a0904061133t664fd501u807e7eefddceec1d@mail.gmail.com> References: <88fe22a0904061133t664fd501u807e7eefddceec1d@mail.gmail.com> Message-ID: Gary Pajer wrote: > ... Just this past weekend I was wondering where I could find such things, > that is, help at learning good ways to structure a python program (for > generic python, not specifically Django), written for the non-programmer > scientist/educator. When I write my programs I always feel that > certainly I am attacking the problem in the least-elegant, > least-extendable, least-reusable, most-brute-force way possible. It's > easy to find beginners manuals, but what's the best way to learn better > programming techniques / structures / etc? OK, I may be CS-biased, but I think a data structures course, taught well, can be the quickest way to get to core structures you'll need. As to general programming rules: much like in writing in English, go for short clear exposition. Think of a program not so much as controlling a computer as describing to another programmer how you go about accomplishing this computing task. Just as you don't write twelve-page paragraphs; don't write 12-page functions or methods. Remember the other programmer may be you in year or two, so be kind about making details clear. Although this is tangential, I've recently been remembering one of the great moments in "Corporate Politics JuJitsu" that I experienced decades ago. I was working in an OS and Languages group, and we would regularly get requests for short programs do "just do something simple." We would give estimates that frustrated the requester, in that we'd be taking a week for what may well have been a half-day programming task. Of course, a lot of our maintenance work consisted of coping with hack- on-hack-on-hack software. Finally, we hit upon a solution. We offered two-pronged estimates: one day if we delete the source before delivering the program, or one week if we keep the source. The dual-estimate satisfied everyone. We had the luxury of getting things right to support, without "over-charging" for things that were truly one-off productions. It was amazing how many one-time requests wanted the full week version when they realized that "what you did last week with this little change" was going to cost them a full redevelop. These days I see this as matching the Agile Programming goal of leaving the customer in charge, but then I just thought it was a miraculous way of explaining explaining what the extra time went for. --Scott David Daniels Scott.Daniels at Acm.Org From gary.pajer at gmail.com Mon Apr 6 22:50:09 2009 From: gary.pajer at gmail.com (Gary Pajer) Date: Mon, 6 Apr 2009 16:50:09 -0400 Subject: [Edu-sig] Progamming advice. (Was: Why MIT switched from Scheme to Python) In-Reply-To: References: <88fe22a0904061133t664fd501u807e7eefddceec1d@mail.gmail.com> Message-ID: <88fe22a0904061350t679fa8ecta0d46f15b5a1f71c@mail.gmail.com> On Mon, Apr 6, 2009 at 3:34 PM, kirby urner wrote: > Hey excellent questions Gary, expect others will pipe up. > > What I see as a challenge with Python is precisely its liberal nature, > as coders from earlier generations, cutting teeth in BASIC or FORTRAN, > find there's sufficient procedural syntax to sort of barrel ahead with > the same kind of thinking, involving loops within loops, not many > user-defined classes. It would be nice if a discussion ensued, but I'm still a little concerned that this might not be the right place. But to clarify: I've been programming in python for about six years, along the way abandoning Matlab in which I was a local go-to guy. By the way, I've also adopted Traits and the Enthought Tool Suite, which IMHO might possibly be the future of practical laboratory programming in python. So I'm comfortable enough with the nuts and bolts of OOP. But higher level questions like what to make a function, what to make a class, what to make a module, how best to factor it all out, when to decimate a long routine into a bunch of shorter ones, how best to organize input, computation and output (Traits' MVC architecture helps there), how to think about designing for reuse, how to reuse what's already available, when does sub-classing make sense, when do exceptions make sense... and so on and so on. My current habit is to start coding somewhere and keep patching things on till it does what I want. Imagine building a house starting with "I know I need at least one upright piece of lumber. I'll put it here. I need another to hold it up. Then another set over here, and a horizontal one over there...". I wouldn't want to live in the resulting house. My code ... the resultant code is hard to follow, hard to document, hard to extend or change, and probably slower than it might be, and I wouldn't want to live in that, either. When I try to plan my code the way I might plan a house, I soon find myself swimming in possible ideas, going in circles with different plans, having disparate approaches in different parts of the program, etc. I'm wondering if some wizard has written a guide to program structure paradigms for the intermediate programmer. Or perhaps this kind of thing is actually taught in books somewhere... -gary > > My friend Bernie Gunn was a scientist of this variety, a veteran of > Pascal, a serious-minded geochemist. He was evaluating Java versus > Python for a next iteration. Making the leap across paradigms was far > from trivial for the guy (who flew his own plane well into his 80s): > > http://www.geokem.com/ (you'll see a write-up on Python in the > Background section) > > The hype around "object oriented" rubbed a lot of seasoned > professionals the wrong way and many still refuse to make it the > ground zero for coding, think a year of procedural code should be a > prerequisite for all that newfangled object stuff (kind of like > insisting on a land line before moving to cell). > > However, I think most happy camper Pythoneers have become comfortable > with OO and exploit its chief ability, which is to mirror a problem > domain using the shoptalk of the trade. The Python version should > "fit your brain" because it's pretty close to the way you were > thinking about things anyway. > > Your code is in terms of your chemistry, biology, astronomy or > whatever. Things (nouns) have behaviors (verbs) and attributes > (adjectives). You're sharing ideas with peers in your field, with > Python syntax becoming more incidental, getting out of the way. Like > with other mathematical notations, you might use code snippets to > describe what's going on. Two particles collide, what's that look > like in snake? > > Just trying to aim for what I take to be the "aesthetic ballpark" (our > Pythonic Valhalla): using lots of classes and objects to mirror the > stuff one actually encounters on the job. > > Think of Python as a language for talking shop to your peers (the best > code is collaborative) and not as a way to pay homage to the computer > science gods (or goddesses, as the case may well be). Of course some > people are computer scientists and their Python is "about CS". So > much other code isn't like that. > > Kirby > > On Mon, Apr 6, 2009 at 11:33 AM, Gary Pajer wrote: > > On Wed, Mar 25, 2009 at 4:43 PM, kirby urner > wrote: > > [...] > > > >> > >> What does the robot look like I wonder. Open source? API? Yes, I > >> should Google, but I'm trying to track a "Django in the real world" > >> workshop at the moment. Pycon. Packed room. They're showing the > >> slide that scares me the most: LiveJournal Backend: Today (roughly). > >> LAMP isn't as easy as it sounds. > >> > >> Here're the slides we're looking at FYI: > >> http://jacobian.org/speaking/2009/real-world-django/ > > > > This is orthogonal to everything: > > I looked at those slides, and they hint at good practical tips and advice > > for structuring your Django app. > > > > Just this past weekend I was wondering where I could find such things, > that > > is, help at learning good ways to structure a python program (for generic > > python, not specifically Django), written for the non-programmer > > scientist/educator. When I write my programs I always feel that > certainly I > > am attacking the problem in the least-elegant, least-extendable, > > least-reusable, most-brute-force way possible. It's easy to find > beginners > > manuals, but what's the best way to learn better programming techniques / > > structures / etc? > > > > Maybe the request is a bit off-topic, but it came up in reference to the > > above, and besides, there are probably people here who understand the > > question and can answer it! > > > > Thanks, > > gary > > > > > > > > _______________________________________________ > > 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: From kirby.urner at gmail.com Mon Apr 6 22:56:35 2009 From: kirby.urner at gmail.com (kirby urner) Date: Mon, 6 Apr 2009 13:56:35 -0700 Subject: [Edu-sig] Progamming advice. (Was: Why MIT switched from Scheme to Python) In-Reply-To: <88fe22a0904061350t679fa8ecta0d46f15b5a1f71c@mail.gmail.com> References: <88fe22a0904061133t664fd501u807e7eefddceec1d@mail.gmail.com> <88fe22a0904061350t679fa8ecta0d46f15b5a1f71c@mail.gmail.com> Message-ID: There's the design patterns literature, sometimes fun to just eyeball so you get used to seeing patterns, even if different from the ones described. In some of my venues, there's a rule against any one person getting to code a whole project i.e. deliberate management strategy to force a minimum of two heads in any one black box, with the thought being, if you have to explain it to me as you go, and I to you, then we won't get away with just "documenting in our heads" (I'll get back to it later). When your counterpart starts saying "I no longer understand this" then you know you've got some rewriting to do. More than two if feasible. Of course that's too much a luxury some maybe thing. Also, don't get me wrong: to collaborate on code is still to write big pieces of it yourself. It's just that the other coder has to be a consumer of your API. Encapsulation: I'm exporting some API for this other coder to use, and once I've put it out there, I should think twice about changing it, lest I break stuff I don't know about... that's a good mentality in general, even if just writing for yourself. Think of the little "dashboards" that makes sense e.g. "increase heartrate" (if a patient object). comp.lang.python also good, any number of friendly people. Programming is hard, if doable. Having collaborators makes it easier in part by adding to the fun. Plus think of coding as a kind of publishing and how academia puts such stress on "peer review" (at least when addressing outsiders). So why should code be any different? You're probably familiar with test driven development (TDD). If not, I'd do some reading. Write tests, lots of them, as you go, partly just as an advertisement to another coder what your API is expected to do. doctest is good, easy. I'd say "every module comes with tests" is a good rule of thumb. This is especially important in Python where so much happens only at runtime, i.e. there's no compile time type checking or stuff of that nature, so writing lots of traps, looking for holes, is a huge time saver in the end. Then stick to the discipline of never committing (publishing, sharing) code that breaks your own tests. A lot of this is "passing on lore" i.e. I've done a lot of solo coding in my day, with no one to explain it to, and test driven development hasn't always been my thing either. However, if you're really seeking more discipline and professionalism in the coding department (as I am, as we all are) then it makes sense to heed what the experts are telling us. In sum: design patterns, TDD / XP. Kirby PS: I also like list comprehensions, use 'em quite a bit. Generators: way cool. Limited experience with scipy distro, suspicious of traits, scared of Zope. Lots of small modules, using __init__.py for package management (ever do that?). On Mon, Apr 6, 2009 at 1:24 PM, Gary Pajer wrote: > > On Mon, Apr 6, 2009 at 3:34 PM, kirby urner wrote: >> >> Hey excellent questions Gary, expect others will pipe up. >> >> What I see as a challenge with Python is precisely its liberal nature, >> as coders from earlier generations, cutting teeth in BASIC or FORTRAN, >> find there's sufficient procedural syntax to sort of barrel ahead with >> the same kind of thinking, involving loops within loops, not many >> user-defined classes. > > It would be nice if a discussion ensued, but I'm still a little concerned > that this might not be the right place. > > But to clarify: I've been programming in python for about six years, along > the way abandoning Matlab in which I was a local go-to guy. By the way, > I've also adopted Traits and the Enthought Tool Suite, which IMHO might > possibly be the future of practical laboratory programming in python. So > I'm comfortable enough with the nuts and bolts of OOP. But higher level > questions like what to make a function, what to make a class, what to make a > module, how best to factor it all out, when to decimate a long routine into > a bunch of shorter ones, how best to organize input, computation and output > (Traits' MVC architecture helps there), how to think about designing for > reuse, how to reuse what's already available, when does sub-classing make > sense, when do exceptions make sense... and so on and so on. > > My current habit is to start coding somewhere and keep patching things on > till it does what I want. Imagine building a house starting with "I know I > need at least one upright piece of lumber. I'll put it here. I need > another to hold it up. Then another set over here, and a horizontal one > over there...". I wouldn't want to live in the resulting house. My code > ... the resultant code is hard to follow, hard to document, hard to extend > or change, and probably slower than it might be, and I wouldn't want to live > in that, either. When I try to plan my code the way I might plan a house, > I soon find myself swimming in possible ideas, going in circles with > different plans, having disparate approaches in different parts of the > program, etc. > > I'm wondering if some wizard has written a guide to program structure > paradigms for the intermediate programmer. Or perhaps this kind of thing is > actually taught in books somewhere... > > -gary > From kirby.urner at gmail.com Tue Apr 7 00:05:36 2009 From: kirby.urner at gmail.com (kirby urner) Date: Mon, 6 Apr 2009 15:05:36 -0700 Subject: [Edu-sig] Do we "teach computers" when we write code? Message-ID: I'm wondering what others on this list think of this non-standard use of "teaching" when talking about programming a computer. The authors say we're "teaching" the computer.... """ Every teacher knows that one of the best ways to understand something is to teach it to someone else. But teaching a computer is not exactly the same as teaching other people. People have a way of interpreting what is being said to them. They read the gestures and the facial expressions of their teachers as well as the words that are spoken. The intonation of the voice is important and matters judged to be obvious are not always articulated. All this may generally assist the learning process but what matters here is that computers are essentially stupid so they cannot interpret any of the commands they are given and the teacher has to articulate everything that is to be learned. A computer has no knowledge of what its programmer is attempting to do. It only knows what it has been told and so the children who are teaching it are compelled to use precise, unambiguous and formal language. The children respect this requirement because they understand that it is not an arbitrary imposition (as many of those made by teachers often are). In today?s world we cannot yet address machines informally by the spoken word and, mathematically at least, there may be fewer benefits when we can. There are other characteristics of computers that make them valuable objects to teach. One of these is their interactivity. Without any computers we might use paper and pencil which are useful devices for recording results but less valuable for experimental purposes because they do not encourage an exploratory approach or suggest activity. The computer, in contrast, begs to be used. It always feels quite appropriate to key in ideas and try them out. In fact children are usually so willing to explore different possibilities that teachers are more likely to have the reverse problem of having to persuade them to stand back and reflect occasionally. """ Teaching the computer >From Micromath 18/1 2002 by Ronnie Goldstein http://www.atm.org.uk/mt/micromath.html I'd think this might backfire, as students begin thinking they're being treated much as the computers are being treated, as dull and stupid, such that teachers have to speak very... slowly... and formally. I'm poking around this site thanks to Ian at the scene, who sees ATM dooming itself in some bid to join with a dying NAMA (he was at the NAMA conference right before Pycon). http://www.nama.org.uk/ Not saying I follow entirely as I'm not in the UK (Steve Holden was supposed to translate for me), but I surmise ATM and NCTM are somewhat parallel organizations. ATM was actually founded by Caleb Gattengno, so it's ironic, what Ian is saying. http://www.atm.org.uk/people/caleb-gattegno.html The article above is obviously dated (2002), plus in mine has a lot of incorrect characters, thanks to PDF encoding problems. I think computers are running our scripts more like player pianos. We don't teach our pianos, we tune them (guitars: we play them). We *play* our computers (like guitars) more than we "teach" them, no? Kirby From echerlin at gmail.com Tue Apr 7 02:22:00 2009 From: echerlin at gmail.com (Edward Cherlin) Date: Mon, 6 Apr 2009 17:22:00 -0700 Subject: [Edu-sig] Do we "teach computers" when we write code? In-Reply-To: References: Message-ID: On Mon, Apr 6, 2009 at 3:05 PM, kirby urner wrote: > I'm wondering what others on this list think of this non-standard use > of "teaching" when talking about programming a computer. > > The authors say we're "teaching" the computer.... I have a very simple take on this. It is an imperfect analogy, but it works in some situations. Children learn concepts much better by programming them than by repeated practice. (Practice should be for skills, like music or sports.) So, although it is not the same as teaching a person, we can help people to understand what we are talking about by judicious use of the analogy. If you want to know where I got this, I can cite Skill in Means in Buddhist teaching, or: In the original Pragmatic philosophy, as set forth by Peirce and William James, meaning is not an attribute of a word, but of the context, in particular of the intentions of the persons concerned. Do we travel around the world every day with the Earth's rotation? It depends how you define "travel". Relative to the Earth's surface, in a rotating coordinate system, we don't move. If we insist that motion can only be defined in Galilean or Special Relativistic invariant coordinate systems, where rotation is disallowed, then we move. General Relativity has its own issues. If I see a squirrel on a tree, and I go around the tree, with the squirrel staying out of sight opposite me, do I go around the squirrel, which has kept the same side toward me the whole time? (Example from William James) Am I teaching when I write a textbook? I'm certainly trying to, but you can say that the teaching or learning doesn't begin until a student reads it (if then). Am I teaching when I present examples to a Bayesian spam filter or an AI? Depends. Dunnit? "The question whether a computer can think is of no more interest than whether a submarine can swim."--Edsger Dijkstra. > """ > Every teacher knows that one of the best ways to > understand something is to teach it to someone else. But > teaching a computer is not exactly the same as teaching > other people. People have a way of interpreting what is > being said to them. They read the gestures and the facial > expressions of their teachers as well as the words that > are spoken. The intonation of the voice is important and > matters judged to be obvious are not always articulated. > All this may generally assist the learning process but > what matters here is that computers are essentially stupid > so they cannot interpret any of the commands they are > given and the teacher has to articulate everything that > is to be learned. A computer has no knowledge of what > its programmer is attempting to do. It only knows what > it has been told and so the children who are teaching it > are compelled to use precise, unambiguous and formal > language. The children respect this requirement because > they understand that it is not an arbitrary imposition (as > many of those made by teachers often are). In today?s > world we cannot yet address machines informally by > the spoken word and, mathematically at least, there > may be fewer benefits when we can. > > There are other characteristics of computers that make > them valuable objects to teach. One of these is their > interactivity. Without any computers we might use > paper and pencil which are useful devices for recording > results but less valuable for experimental purposes > because they do not encourage an exploratory approach > or suggest activity. The computer, in contrast, begs to > be used. It always feels quite appropriate to key in ideas > and try them out. In fact children are usually so willing > to explore different possibilities that teachers are more > likely to have the reverse problem of having to persuade > them to stand back and reflect occasionally. > """ > > Teaching the computer > >From Micromath 18/1 2002 by Ronnie Goldstein > http://www.atm.org.uk/mt/micromath.html > > I'd think this might backfire, as students begin thinking they're > being treated much as the computers are being treated, as dull and > stupid, such that teachers have to speak very... slowly... and > formally. > > I'm poking around this site thanks to Ian at the scene, who sees ATM > dooming itself in some bid to join with a dying NAMA (he was at the > NAMA conference right before Pycon). ?http://www.nama.org.uk/ > > Not saying I follow entirely as I'm not in the UK (Steve Holden was > supposed to translate for me), but I surmise ATM and NCTM are somewhat > parallel organizations. > > ATM was actually founded by Caleb Gattengno, so it's ironic, what Ian is saying. > > http://www.atm.org.uk/people/caleb-gattegno.html > > The article above is obviously dated (2002), plus in mine has a lot of > incorrect characters, thanks to PDF encoding problems. > > I think computers are running our scripts more like player pianos. ?We > don't teach our pianos, we tune them (guitars: ?we play them). > > We *play* our computers (like guitars) more than we "teach" them, no? > > Kirby > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > -- Silent Thunder (??/???????????????/????????????? ?) is my name And Children are my nation. The Cosmos is my dwelling place, The Truth my destination. http://earthtreasury.net/ (Edward Mokurai Cherlin) From echerlin at gmail.com Tue Apr 7 02:41:13 2009 From: echerlin at gmail.com (Edward Cherlin) Date: Mon, 6 Apr 2009 17:41:13 -0700 Subject: [Edu-sig] Progamming advice. (Was: Why MIT switched from Scheme to Python) In-Reply-To: <88fe22a0904061350t679fa8ecta0d46f15b5a1f71c@mail.gmail.com> References: <88fe22a0904061133t664fd501u807e7eefddceec1d@mail.gmail.com> <88fe22a0904061350t679fa8ecta0d46f15b5a1f71c@mail.gmail.com> Message-ID: On Mon, Apr 6, 2009 at 1:50 PM, Gary Pajer wrote: > On Mon, Apr 6, 2009 at 3:34 PM, kirby urner wrote: >> >> Hey excellent questions Gary, expect others will pipe up. >> >> What I see as a challenge with Python is precisely its liberal nature, >> as coders from earlier generations, cutting teeth in BASIC or FORTRAN, >> find there's sufficient procedural syntax to sort of barrel ahead with >> the same kind of thinking, involving loops within loops, not many >> user-defined classes. > > It would be nice if a discussion ensued, but I'm still a little concerned > that this might not be the right place. > > But to clarify:? I've been programming in python for about six years, along > the way abandoning Matlab in which I was a local go-to guy.?? By the way, > I've also adopted Traits and the Enthought Tool Suite, which IMHO might > possibly be the future of practical laboratory programming in python.? So > I'm comfortable enough with the nuts and bolts of OOP.?? But higher level > questions like what to make a function, what to make a class, what to make a > module, how best to factor it all out, when to decimate a long routine into > a bunch of shorter ones, how best to organize input, computation and output > (Traits' MVC architecture helps there), how to think about designing for > reuse, how to reuse what's already available, when does sub-classing make > sense, when do exceptions make sense...? and so on and so on. > > My current habit is to start coding somewhere and keep patching things on > till it does what I want. What do you want it to do? Could you start with a manageable piece of that, so that you could give it a reasonable structure, then refactor it to the point where you can explain it to someone else before you add on the next bit? (Also, so that you have a place to attach the next bit cleanly?) Lather, rinse, repeat? That is how most Linux utilities grew, and each part of it is highly recommended in some of the Agile programming methods I have worked with. I have Fowler's book on Refactoring sitting on the desk in front of me at all times. Now where did I put Design Patterns? Take off your coder hat from time to time, and approach your app as a pure user? Would you take this crud from anybody else? If not, fix it. > Imagine building a house starting with "I know I > need at least one upright piece of lumber.? I'll put it here.? I need > another to hold it up.? Then another set over here, and a horizontal one > over there...". ? I wouldn't want to live in the resulting house.? My code > ... the resultant code is hard to follow, hard to document,? hard to extend > or change, and probably slower than it might be, and I wouldn't want to live > in that, either.?? When I try to plan my code the way I might plan a house, > I soon find myself swimming in possible ideas, going in circles with > different plans, having disparate approaches in different parts of the > program, etc. > > I'm wondering if some wizard has written a guide to program structure > paradigms for the intermediate programmer.? Or perhaps this kind of thing is > actually taught in books somewhere... > > -gary > >> >> >> My friend Bernie Gunn was a scientist of this variety, a veteran of >> Pascal, a serious-minded geochemist. ?He was evaluating Java versus >> Python for a next iteration. ?Making the leap across paradigms was far >> from trivial for the guy (who flew his own plane well into his 80s): >> >> http://www.geokem.com/ ?(you'll see a write-up on Python in the >> Background section) >> >> The hype around "object oriented" rubbed a lot of seasoned >> professionals the wrong way and many still refuse to make it the >> ground zero for coding, think a year of procedural code should be a >> prerequisite for all that newfangled object stuff (kind of like >> insisting on a land line before moving to cell). >> >> However, I think most happy camper Pythoneers have become comfortable >> with OO and exploit its chief ability, which is to mirror a problem >> domain using the shoptalk of the trade. ?The Python version should >> "fit your brain" because it's pretty close to the way you were >> thinking about things anyway. >> >> Your code is in terms of your chemistry, biology, astronomy or >> whatever. ?Things (nouns) have behaviors (verbs) and attributes >> (adjectives). ?You're sharing ideas with peers in your field, with >> Python syntax becoming more incidental, getting out of the way. ?Like >> with other mathematical notations, you might use code snippets to >> describe what's going on. ?Two particles collide, what's that look >> like in snake? Or a Hamiltonian, or Feynman diagrams? >> Just trying to aim for what I take to be the "aesthetic ballpark" (our >> Pythonic Valhalla): ?using lots of classes and objects to mirror the >> stuff one actually encounters on the job. >> >> Think of Python as a language for talking shop to your peers (the best >> code is collaborative) and not as a way to pay homage to the computer >> science gods (or goddesses, as the case may well be). ?Of course some >> people are computer scientists and their Python is "about CS". ?So >> much other code isn't like that. >> >> Kirby >> >> On Mon, Apr 6, 2009 at 11:33 AM, Gary Pajer wrote: >> > On Wed, Mar 25, 2009 at 4:43 PM, kirby urner >> > wrote: >> > [...] >> > >> >> >> >> What does the robot look like I wonder. ?Open source? ?API? ?Yes, I >> >> should Google, but I'm trying to track a "Django in the real world" >> >> workshop at the moment. ?Pycon. ?Packed room. ?They're showing the >> >> slide that scares me the most: ?LiveJournal Backend: Today (roughly). >> >> LAMP isn't as easy as it sounds. >> >> >> >> Here're the slides we're looking at FYI: >> >> http://jacobian.org/speaking/2009/real-world-django/ >> > >> > This is orthogonal to everything: >> > I looked at those slides, and they hint at good practical tips and >> > advice >> > for structuring your Django app. >> > >> > Just this past weekend I was wondering where I could find such things, >> > that >> > is, help at learning good ways to structure a python program (for >> > generic >> > python, not specifically Django), written for the non-programmer >> > scientist/educator.? When I write my programs I always feel that >> > certainly I >> > am attacking the problem in the least-elegant, least-extendable, >> > least-reusable, most-brute-force way possible.? It's easy to find >> > beginners >> > manuals, but what's the best way to learn better programming techniques >> > / >> > structures / etc? Steal from the best coders you know. I'm currently stealing from Alan Kay. Well, not really stealing. Let me put that another way. For education, only work in Open Source. >> > Maybe the request is a bit off-topic, but it came up in reference to the >> > above, and besides, there are probably people here who understand the >> > question and can answer it! >> > >> > Thanks, >> > gary >> > >> > >> > >> > _______________________________________________ >> > Edu-sig mailing list >> > Edu-sig at python.org >> > http://mail.python.org/mailman/listinfo/edu-sig >> > >> > > > > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > > -- Silent Thunder (??/???????????????/????????????? ?) is my name And Children are my nation. The Cosmos is my dwelling place, The Truth my destination. http://earthtreasury.net/ (Edward Mokurai Cherlin) From kirby.urner at gmail.com Tue Apr 7 02:46:53 2009 From: kirby.urner at gmail.com (kirby urner) Date: Mon, 6 Apr 2009 17:46:53 -0700 Subject: [Edu-sig] Do we "teach computers" when we write code? In-Reply-To: References: Message-ID: Yeah, I think you're wise to point out it's all about context. Wittgenstein was saying much the same thing as Peirce et al, i.e. meaning is not a word attribute, comes through in the namespace taken as a whole, e.g. to understand the meaning of "a pawn" in chess, you need to know chess (the game). Maybe having students think up their own analogies, and extending them, would be better. There's much to recommend the musical instrument analogy, which I play up in pointing to Gibson Guitar's sponsorship of OSCON that time, i.e. musician : guitar :: geek : laptop i.e. Portland as "FOSS capital" is the "Nashville of open source"... goes with my "Cult of Athena" (a way to hook in to greek classics -- Nashville has a temple to Athena, you may be aware). It kinda grated when I first read the passage, seeing how computer's "can't interpret" -- meaning they're "stupid" -- but then pretty soon we're going to be talking about the Python "interpreter" probably. So do they interpret or don't they? That question suggest the following: that we bring awareness of namespaces (contexts) and the potential for "name collisions" right to the surface, talk about that overtly (just as you and I are doing here). One might ask when is it too young to start talking about context. The Philosophy for Children movement was all for getting this in early, giving students more conceptual tools right at the outset. In my workshop, I tell the story of "dot notation" as a way of "disambiguating" (fancy word, used in Wikipedia a lot). That's maybe more for 8th graders and above? Actually I think we could go younger on that one. Kids get it about context, as they're in the midst of intensive language learning as it is. Anyway, thanks for wedging a stick in the door and keeping my mind open. Sometimes we teach the computer "stupid pet tricks" is how I might put it, with a cut to some David Letterman YouTube (I'm always imagining I'm in some liberal Quaker school, where cutting to Youtubes is never a problem -- whereas in many schools, not even the teachers have access to this treasure trove, all strictly verboten (like in 'Name of the Rose')).** Kirby ** for context, I recall how I was clamoring for a large database of video shorts (Sesame Street a model), to supplement teaching and learning. I harped on this from the 1980s through the 1990s. When my video database finally showed up, I almost didn't recognize it as my dream come true. What I've found as "a futurist" is my prayers get answered a lot of the time, but it's up to me to translate the reality into what actually became so. http://www.grunch.net/synergetics/videogrammatron.html On Mon, Apr 6, 2009 at 5:22 PM, Edward Cherlin wrote: > On Mon, Apr 6, 2009 at 3:05 PM, kirby urner wrote: >> I'm wondering what others on this list think of this non-standard use >> of "teaching" when talking about programming a computer. >> >> The authors say we're "teaching" the computer.... > > I have a very simple take on this. It is an imperfect analogy, but it > works in some situations. Children learn concepts much better by > programming them than by repeated practice. (Practice should be for > skills, like music or sports.) So, although it is not the same as > teaching a person, we can help people to understand what we are > talking about by judicious use of the analogy. > > If you want to know where I got this, I can cite Skill in Means in > Buddhist teaching, or: > > In the original Pragmatic philosophy, as set forth by Peirce and > William James, meaning is not an attribute of a word, but of the > context, in particular of the intentions of the persons concerned. Do > we travel around the world every day with the Earth's rotation? ?It > depends how you define "travel". Relative to the Earth's surface, in a > rotating coordinate system, we don't move. If we insist that motion > can only be defined in Galilean or Special Relativistic invariant > coordinate systems, where rotation is disallowed, then we move. > General Relativity has its own issues. > > If I see a squirrel on a tree, and I go around the tree, with the > squirrel staying out of sight opposite me, do I go around the > squirrel, which has kept the same side toward me the whole time? > (Example from William James) > > Am I teaching when I write a textbook? I'm certainly trying to, but > you can say that the teaching or learning doesn't begin until a > student reads it (if then). > > Am I teaching when I present examples to a Bayesian spam filter or an > AI? Depends. Dunnit? > > "The question whether a computer can think is of no more interest than > whether a submarine can swim."--Edsger Dijkstra. > >> """ >> Every teacher knows that one of the best ways to >> understand something is to teach it to someone else. But >> teaching a computer is not exactly the same as teaching >> other people. People have a way of interpreting what is >> being said to them. They read the gestures and the facial >> expressions of their teachers as well as the words that >> are spoken. The intonation of the voice is important and >> matters judged to be obvious are not always articulated. >> All this may generally assist the learning process but >> what matters here is that computers are essentially stupid >> so they cannot interpret any of the commands they are >> given and the teacher has to articulate everything that >> is to be learned. A computer has no knowledge of what >> its programmer is attempting to do. It only knows what >> it has been told and so the children who are teaching it >> are compelled to use precise, unambiguous and formal >> language. The children respect this requirement because >> they understand that it is not an arbitrary imposition (as >> many of those made by teachers often are). In today?s >> world we cannot yet address machines informally by >> the spoken word and, mathematically at least, there >> may be fewer benefits when we can. >> >> There are other characteristics of computers that make >> them valuable objects to teach. One of these is their >> interactivity. Without any computers we might use >> paper and pencil which are useful devices for recording >> results but less valuable for experimental purposes >> because they do not encourage an exploratory approach >> or suggest activity. The computer, in contrast, begs to >> be used. It always feels quite appropriate to key in ideas >> and try them out. In fact children are usually so willing >> to explore different possibilities that teachers are more >> likely to have the reverse problem of having to persuade >> them to stand back and reflect occasionally. >> """ >> >> Teaching the computer >> >From Micromath 18/1 2002 by Ronnie Goldstein >> http://www.atm.org.uk/mt/micromath.html >> >> I'd think this might backfire, as students begin thinking they're >> being treated much as the computers are being treated, as dull and >> stupid, such that teachers have to speak very... slowly... and >> formally. >> >> I'm poking around this site thanks to Ian at the scene, who sees ATM >> dooming itself in some bid to join with a dying NAMA (he was at the >> NAMA conference right before Pycon). ?http://www.nama.org.uk/ >> >> Not saying I follow entirely as I'm not in the UK (Steve Holden was >> supposed to translate for me), but I surmise ATM and NCTM are somewhat >> parallel organizations. >> >> ATM was actually founded by Caleb Gattengno, so it's ironic, what Ian is saying. >> >> http://www.atm.org.uk/people/caleb-gattegno.html >> >> The article above is obviously dated (2002), plus in mine has a lot of >> incorrect characters, thanks to PDF encoding problems. >> >> I think computers are running our scripts more like player pianos. ?We >> don't teach our pianos, we tune them (guitars: ?we play them). >> >> We *play* our computers (like guitars) more than we "teach" them, no? >> >> Kirby >> _______________________________________________ >> Edu-sig mailing list >> Edu-sig at python.org >> http://mail.python.org/mailman/listinfo/edu-sig >> > > > > -- > Silent Thunder (??/???????????????/????????????? ?) is my name > And Children are my nation. > The Cosmos is my dwelling place, The Truth my destination. > http://earthtreasury.net/ (Edward Mokurai Cherlin) > From lac at openend.se Tue Apr 7 07:09:06 2009 From: lac at openend.se (Laura Creighton) Date: Tue, 07 Apr 2009 07:09:06 +0200 Subject: [Edu-sig] Progamming advice. (Was: Why MIT switched from Scheme to Python) In-Reply-To: Message from Gary Pajer of "Mon, 06 Apr 2009 16:50:09 EDT." <88fe22a0904061350t679fa8ecta0d46f15b5a1f71c@mail.gmail.com> References: <88fe22a0904061133t664fd501u807e7eefddceec1d@mail.gmail.com> <88fe22a0904061350t679fa8ecta0d46f15b5a1f71c@mail.gmail.com> Message-ID: <200904070509.n37596Z4003771@theraft.openend.se> In a message of Mon, 06 Apr 2009 16:50:09 EDT, Gary Pajer writes: >But to clarify: I've been programming in python for about six years, alo >ng >the way abandoning Matlab in which I was a local go-to guy. By the way, >I've also adopted Traits and the Enthought Tool Suite, which IMHO might >possibly be the future of practical laboratory programming in python. So >I'm comfortable enough with the nuts and bolts of OOP. But higher level >questions like what to make a function, what to make a class, what to mak >e a >module, how best to factor it all out, when to decimate a long routine in >to >a bunch of shorter ones, That last is telling. It could indicate where your problem is, which is that you tend to put too much stuff, and the wrong stuff, in a routine. >how best to organize input, computation and outp >ut >(Traits' MVC architecture helps there), how to think about designing for >reuse, how to reuse what's already available, when does sub-classing make >sense, when do exceptions make sense... and so on and so on. > >My current habit is to start coding somewhere and keep patching things on >till it does what I want. Imagine building a house starting with "I know > I >need at least one upright piece of lumber. I'll put it here. I need >another to hold it up. Then another set over here, and a horizontal one >over there...". I wouldn't want to live in the resulting house. My cod >e >... the resultant code is hard to follow, hard to document, hard to exte >nd >or change, and probably slower than it might be, and I wouldn't want to l >ive >in that, either. When I try to plan my code the way I might plan a hous >e, >I soon find myself swimming in possible ideas, going in circles with >different plans, having disparate approaches in different parts of the >program, etc. > >I'm wondering if some wizard has written a guide to program structure >paradigms for the intermediate programmer. Or perhaps this kind of thing > is >actually taught in books somewhere... If your problem is 'I have way too many fiddly bits' then what your problem may be is that you don't know enough useful data structures, and you need some. A data structures course (and there are textbooks for this) will help. And they can give your code some needed all-over structure. Just learning to think in data structures will help your ability to write code in any case. But your problem may be 'I don't have enough fiddly bits' -- and it sounds like that from your description. It sounds like while you are writing code, and solving one bit of the problem you start thinking about a different problem, and stick that solution in there, just as you are writing. This will result in pieces of code that are very hard to refactor, debug, document and test, and with bugs due to subtle dependencies in addition. Or you could be truly blessed and have both problems at the same time. If your problem is the second, then the best thing to do is to practice test-driven development. Write the test first. Then only write enough code to make the test pass. Then write another test. and so on and so forth. By making the tests really small, you can limit the size of the routines that you are making. And by having to write the test first you will get a little more perspective on where in your existing code it should go. So you get fewer 'I put it here because that was what I happened to be writing at the time' problems. Finally, if you catch yourself having brilliant ideas and wanting to race off and code them 'before I forget' .. then TDD will improve things a lot for you. Because writing the test is usually a whole lot easier than writing the code, and if you can get your brilliant idea down in a test, then its a lot safer for the rest of your code. Lots of errors happen in this business because one is not paying attention to the code that one is actually typing down at the moment, but are instead listening to your inner voice design the code that you will be typing in 10 minutes, or 10 hours. If I were you I would go over to http://diveintopython.org/toc/index.html and work through the examples in sections 13, 14, and 15 which introduces unittesting, test first programming, and refactoring. See if it makes you feel any different. If you aren't used to test first development, it will be hard for a while, but persevere, it is worth it. Martin Fowler's Refactoring: Improving the Design of Existing Code may be worth a read, too. Good luck! Laura > >-gary From macquigg at ece.arizona.edu Tue Apr 7 15:14:54 2009 From: macquigg at ece.arizona.edu (macquigg at ece.arizona.edu) Date: Tue, 7 Apr 2009 06:14:54 -0700 (MST) Subject: [Edu-sig] Progamming advice. (Was: Why MIT switched from Scheme to Python) Message-ID: <56848.69.9.25.232.1239110094.squirrel@secure.ece.arizona.edu> Gary Pajer wrote: > But to clarify: I've been programming in python for about six years, along > the way abandoning Matlab in which I was a local go-to guy. By the way, > I've also adopted Traits and the Enthought Tool Suite, which IMHO might > possibly be the future of practical laboratory programming in python. So > I'm comfortable enough with the nuts and bolts of OOP. But higher level > questions like what to make a function, what to make a class, what to make a > module, how best to factor it all out, when to decimate a long routine into > a bunch of shorter ones, how best to organize input, computation and output > (Traits' MVC architecture helps there), how to think about designing for > reuse, how to reuse what's already available, when does sub-classing make > sense, when do exceptions make sense... and so on and so on. > I'm wondering if some wizard has written a guide to program structure > paradigms for the intermediate programmer. Or perhaps this kind of thing is > actually taught in books somewhere... A good book on exactly this subject is "Object-Oriented Modeling and Design with UML" by Blaha and Rumbaugh. Here you will learn about Class Models, State Models, and Interaction Models. It may be a little tough for self-study, however. I studied it in a class on OOP, taught by a professor who was not only an inspiring teacher, but had plenty of experience in large projects. It might have been a dull read otherwise. He also had us work in teams of 3 to 4 students each, thereby forcing us to pay attention to modular design and interface definitions. Another good book, maybe better for self-study is Steve McConnel's "Code Complete". This is more like an encyclopedia of good programming, so you can read a topic without reading the whole book. If you want a quick summary of the "goto" debate, look here first. I think what you really need, however, can only be acquired through real-world experience designing systems that are complex enough to *require* good modular design, well-defined interfaces, etc. I think of OOP as just one tool in a bag of good engineering practices. TDD is certainly another. Using good data structures is another, and Python is really superb at getting you to formulate your problem in terms of simple data structures. -- Dave From chandrakirti at gmail.com Tue Apr 7 15:32:43 2009 From: chandrakirti at gmail.com (Lloyd Hugh Allen) Date: Tue, 7 Apr 2009 09:32:43 -0400 Subject: [Edu-sig] Fwd: Do we "teach computers" when we write code? In-Reply-To: <24d253d90904070626m565e3ab2se8730d49f7a30814@mail.gmail.com> References: <24d253d90904070626m565e3ab2se8730d49f7a30814@mail.gmail.com> Message-ID: <24d253d90904070632j234a161bmb181fc91cff72005@mail.gmail.com> I haven't posted in a while -- forgot to reply-to-edu-sig :) ---------- Forwarded message ---------- From: Lloyd Hugh Allen Date: Tue, Apr 7, 2009 at 09:26 Subject: Re: [Edu-sig] Do we "teach computers" when we write code? To: kirby urner As a math teacher, using the particular example of summing a finite set of consecutive integers: To give students a formula, in particular n(1+n)/2, and then have them do a set of practice problems where they apply that formula, is not teaching. It might be training. Instead, consider the case of telling students that: when Gauss was in elementary school, his teacher needed time to work on some other matter and so told the students to add all of the numbers from 1 to 100; and that Gauss instantly looked up and said 5050; and the teacher hadn't actually yet done the problem himself and so denied Gauss' answer. Gauss, as an ~8 year old, said, no, look, and wrote 1 + 2 + 3 + ... + 100 and then below that wrote 100 + 99 + 98 + ... + 1 and showed that there were 100 columns, and that each column summed to 101. However, he then noted that he had written the series out twice, and so had to divide that product by two. The 100 columns is the n; the sum of the first and last number is 1+n; and then divide by two. And then to have the students try to represent a similar problem, and to check their answer against the formula, and THEN to have them do a set of practice problems, that might be teaching. If the computer were able to understand the story about young Gauss, then we could teach it. Instead, we can use it to confirm that the formula seems to work (because computers can add numbers in the fashion that Gauss' elementary school teacher expected just as fast as we can apply the formula), and we can show that using the formula is still faster for the computer than actually summing the list, but no, we are not teaching the computer. Perhaps if the computer were then able to, of its own volition, wonder what we would get if we were to sum consecutive squares, then we could teach it. As hard as it is to get students to wonder about things, it's even harder to create that state in computers. -Lloyd On Mon, Apr 6, 2009 at 18:05, kirby urner wrote: > I'm wondering what others on this list think of this non-standard use > of "teaching" when talking about programming a computer. > > The authors say we're "teaching" the computer.... From gary.pajer at gmail.com Tue Apr 7 15:35:26 2009 From: gary.pajer at gmail.com (Gary Pajer) Date: Tue, 7 Apr 2009 09:35:26 -0400 Subject: [Edu-sig] Progamming advice. (Was: Why MIT switched from Scheme to Python) In-Reply-To: <200904070509.n37596Z4003771@theraft.openend.se> References: <88fe22a0904061133t664fd501u807e7eefddceec1d@mail.gmail.com> <88fe22a0904061350t679fa8ecta0d46f15b5a1f71c@mail.gmail.com> <200904070509.n37596Z4003771@theraft.openend.se> Message-ID: <88fe22a0904070635u3d8f00fey5f0a2e748866dbcf@mail.gmail.com> On Tue, Apr 7, 2009 at 1:09 AM, Laura Creighton wrote: > In a message of Mon, 06 Apr 2009 16:50:09 EDT, Gary Pajer writes: > >But to clarify: I've been programming in python for about six years, alo > >ng > >the way abandoning Matlab in which I was a local go-to guy. By the way, > >I've also adopted Traits and the Enthought Tool Suite, which IMHO might > >possibly be the future of practical laboratory programming in python. So > >I'm comfortable enough with the nuts and bolts of OOP. But higher level > >questions like what to make a function, what to make a class, what to mak > >e a > >module, how best to factor it all out, when to decimate a long routine in > >to > >a bunch of shorter ones, > > That last is telling. It could indicate where your problem is, which is > that you tend to put too much stuff, and the wrong stuff, in a routine. > > > >how best to organize input, computation and outp > >ut > >(Traits' MVC architecture helps there), how to think about designing for > >reuse, how to reuse what's already available, when does sub-classing make > >sense, when do exceptions make sense... and so on and so on. > > > >My current habit is to start coding somewhere and keep patching things on > >till it does what I want. Imagine building a house starting with "I know > > I > >need at least one upright piece of lumber. I'll put it here. I need > >another to hold it up. Then another set over here, and a horizontal one > >over there...". I wouldn't want to live in the resulting house. My cod > >e > >... the resultant code is hard to follow, hard to document, hard to exte > >nd > >or change, and probably slower than it might be, and I wouldn't want to l > >ive > >in that, either. When I try to plan my code the way I might plan a hous > >e, > >I soon find myself swimming in possible ideas, going in circles with > >different plans, having disparate approaches in different parts of the > >program, etc. > > > >I'm wondering if some wizard has written a guide to program structure > >paradigms for the intermediate programmer. Or perhaps this kind of thing > > is > >actually taught in books somewhere... > > If your problem is 'I have way too many fiddly bits' then what your problem > may be is that you don't know enough useful data structures, and you need > some. A data structures course (and there are textbooks for this) will > help. And they can give your code some needed all-over structure. Just > learning to think in data structures will help your ability to write code > in any case. > > But your problem may be 'I don't have enough fiddly bits' -- and it sounds > like that from your description. It sounds like while you are writing > code, > and solving one bit of the problem you start thinking about a different > problem, and stick that solution in there, just as you are writing. This > will result in pieces of code that are very hard to refactor, debug, > document and test, and with bugs due to subtle dependencies in addition. > > Or you could be truly blessed and have both problems at the same time. > > If your problem is the second, then the best thing to do is to practice > test-driven development. Write the test first. Then only write enough > code to make the test pass. Then write another test. and so on and > so forth. By making the tests really small, you can limit the size of > the routines that you are making. And by having to write the test first > you will get a little more perspective on where in your existing code > it should go. So you get fewer 'I put it here because that was > what I happened to be writing at the time' problems. Finally, if you > catch yourself having brilliant ideas and wanting to race off and code > them 'before I forget' .. then TDD will improve things a lot for you. > Because writing the test is usually a whole lot easier than writing > the code, and if you can get your brilliant idea down in a test, then > its a lot safer for the rest of your code. Lots of errors happen in > this business because one is not paying attention to the code that one > is actually typing down at the moment, but are instead listening to > your inner voice design the code that you will be typing in 10 minutes, > or 10 hours. > > If I were you I would go over to > http://diveintopython.org/toc/index.html > and work through the examples in sections 13, 14, and 15 which introduces > unittesting, test first programming, and refactoring. See if it makes > you feel any different. If you aren't used to test first development, it > will be hard for a while, but persevere, it is worth it. > > Martin Fowler's Refactoring: Improving the Design of Existing Code > may be worth a read, too. > > Good luck! > > Laura Hey Laura, you seem to grok my situation quite well. Thank you for responding, and thanks to all others, including they who have something to say but haven't yet. I am but a poor physicist and self-taught (out of necessity) programmer, aside from one course in FORTRAN in 1973. Until this discussion I was not at all familiar with the terms TDD, unittest, design pattern, class model, state model, interaction model. And thanks for the pointers to Fowler, and Dive Into Python. I really do feel like I'm looking at a pile of lumber, nails, hammers, and saws, and being expected to build a house. My apps are getting complex, and seat-of-the-pants isn't working so well anymore. Gratefully, -g > > > > > >-gary > -------------- next part -------------- An HTML attachment was scrubbed... URL: From kirby.urner at gmail.com Tue Apr 7 19:46:17 2009 From: kirby.urner at gmail.com (kirby urner) Date: Tue, 7 Apr 2009 10:46:17 -0700 Subject: [Edu-sig] Fwd: Do we "teach computers" when we write code? In-Reply-To: <24d253d90904070632j234a161bmb181fc91cff72005@mail.gmail.com> References: <24d253d90904070626m565e3ab2se8730d49f7a30814@mail.gmail.com> <24d253d90904070632j234a161bmb181fc91cff72005@mail.gmail.com> Message-ID: Yes sir, exactly. I believe that in calling computers "stupid", other epithets, we're asserting our aggressive primate dominance over these gray boxy things that in some science fiction have beamed aboard spaceship earth in order to steal our jobs or something, because they're smarter than we are. This was the "HAL story" of 2001, which you'll notice was way off target because actually we have no clue how to code a thinking human-like intelligence that passes the Turing Test (which some humans fail also). Lots of doe-eyed venture capitalists got led down that "AI lane" only to watch their money get slaughtered out behind the barn, by wild-eyed computer scientists with BS for brains (yeah, pretty crazy). Sir Roger Penrose likes to show slides of really simple chess puzzles that'd stump Big Blue. I think chess playing is a good place to get into the lore, as one of the earliest ideas of "the AI takeover" (displacement of human intelligence) came in with The Turk, a chess-playing gear-works, a box, like a computer, with a puppet player over the board that would move the pieces. This thing beat Napoleon, likely provoking a crisis in consciousness in the latter tyrant slash dictator, whereas that'd have to be one of the bravest dwarfs on record, to risk humiliating a DFL in that way (he was stuffed in amidst the gears, a kind of magician's trick). Back when I was an ardent disciple of Ted Nelson, reading Computer Lib / Dream Machines and believing in hypertext, I would yak about how key words might make a few links, but really only human intelligence is able to perceive what we call connections, which might be based on far fetched analogies, buried allusions, the kind of stuff we use in the humanities for glue language (psychoanalysis... greek mythology). You get these kinds of networking effects in Google though, because that's not just a keyword index. It has measures of "where the humans find relevance" i.e. what searches mapped to what pages -- becomes self-fulfilling in awhile, as we tend to get lazy and pick one of the "top 10" (what others have picked) but in any case, it's not like "AI" is in control of the hyperlinks. Real thinking humans have to make those URLs across disciplines. The Web is not the product of AI, but of humans collaborating (dream weaving). Probably CS types who love computers, consider this whole area fascinating and wonderful, have a hard time getting into a mindset where computers are looked upon with fear, even dread, because of all those science fiction projections. Remember 'The Matrix': the terrible future is one "run by machines" as these misanthropic men in black guys who torment our heroes are only represented as such in the simulation, have no actual form outside the bleak landscape of AI-dom, whereas the humans are encapsulated within pods, their energies harvested, their lives a mere dream. Likewise 'Terminator' is about machines taking over, starting huge wars without our permission. So calling computers 'stupid' and thinking of programming them as a rather condescending activity, where we can't use our pedagogical bag of tricks, have to be formal and direct, use a "stupid computer language" is in some sense an intellectual counter. Gauss is the right hero to bring in, as he makes those "noncomputable leaps" Sir Roger likes to talk about, whips Big Blue's ass. This whole picture gets flipped on its head in Kubrick's 'Artificial Intelligence' though, as here the predatory humans start to seem evil and fascist, given how they exult over their own supposed superiority -- a projection from many a human past (and present), wherein one caste (class) of human is made to play "subhuman" to prove the other's sorry tale of inherent superiority. Our hearts go out to the oppressed computers in this case (like I said, a reversal). Once past this stage of asserting king-of-the-hill dominance (i.e. we're done feeling threatened), I think it's OK to go back to the music idea (e.g. laptop as guitar, Portland as FOSS Nashville). What's so liberating about today's music software, a lot of it on the Mac, is even if you don't have the reflexes and training to play "in real time", you can drag and drop notes, based on whatever intuitions and theories, and run the thing back at speeds even a professional couldn't match (should you wish to do so). In that sense, we're right to see computers as "better", in the sense of "faster". We take all our file cabinet skills, what it'd take in terms of paperwork to look up a balance, deduct an amount, write out a plane ticket, mail it, and code those into our little "musical numbers", then set those running, making computers our "energy slaves". We each have the equivalent of many secretaries working for us, researchers in libraries, mail delivery people, thanks to the Internet and intranets. With a few clicks of the mouse, we mobilize virtual armies, enjoy a sense of power thereby. Our powers have become amplified. We are better served, by clerical and information resources. This "energy slave" concept didn't start with computers, arose in the 1940s w/r to earlier "ephemeralizings" (using tech to do more with less, improving living standards by optimizing, applying comprehension of principles), but it's still as relevant as ever, why Dr. Bob Fuller grabbed on to it for his 'First Person Physics' initiative. I bring this up because of the "slave" meme, which engineers keep in play within a benign context/namespace e.g. this hard drive is slaved to that master one etc. (people worry when they hear talk like this though -- we need to remember what's scary about engineers, as we move forward with STEM recruiting). Speaking of energy slaves doing clerical work, I have some business to attend to... Kirby Related: http://www.4dsolutions.net/ocn/numeracy0.html (includes the Gauss story) http://mathforum.org/kb/thread.jspa?threadID=1917995&tstart=0 (lesson planning @ Math Forum) http://mybizmo.blogspot.com/2008/04/philosophy-posting.html (about the AI bust) http://physics.unl.edu/~rpeg/First_Person_Physics/urneressay.html (First Person Physics) On Tue, Apr 7, 2009 at 6:32 AM, Lloyd Hugh Allen wrote: > I haven't posted in a while -- forgot to reply-to-edu-sig :) > > > ---------- Forwarded message ---------- > From: Lloyd Hugh Allen > Date: Tue, Apr 7, 2009 at 09:26 > Subject: Re: [Edu-sig] Do we "teach computers" when we write code? > To: kirby urner > > > As a math teacher, using the particular example of summing a finite > set of consecutive integers: > > To give students a formula, in particular n(1+n)/2, and then have them > do a set of practice problems where they apply that formula, is not > teaching. It might be training. > > Instead, consider the case of telling students that: when Gauss was in > elementary school, his teacher needed time to work on some other > matter and so told the students to add all of the numbers from 1 to > 100; and that Gauss instantly looked up and said 5050; and the teacher > hadn't actually yet done the problem himself and so denied Gauss' > answer. Gauss, as an ~8 year old, said, no, look, and wrote > > 1 + 2 + 3 + ... + 100 > > and then below that wrote > > 100 + 99 + 98 + ... + 1 > > and showed that there were 100 columns, and that each column summed to > 101. However, he then noted that he had written the series out twice, > and so had to divide that product by two. The 100 columns is the n; > the sum of the first and last number is 1+n; and then divide by two. > > And then to have the students try to represent a similar problem, and > to check their answer against the formula, and THEN to have them do a > set of practice problems, that might be teaching. > > If the computer were able to understand the story about young Gauss, > then we could teach it. Instead, we can use it to confirm that the > formula seems to work (because computers can add numbers in the > fashion that Gauss' elementary school teacher expected just as fast as > we can apply the formula), and we can show that using the formula is > still faster for the computer than actually summing the list, but no, > we are not teaching the computer. > > Perhaps if the computer were then able to, of its own volition, wonder > what we would get if we were to sum consecutive squares, then we could > teach it. As hard as it is to get students to wonder about things, > it's even harder to create that state in computers. > > -Lloyd > > On Mon, Apr 6, 2009 at 18:05, kirby urner wrote: >> I'm wondering what others on this list think of this non-standard use >> of "teaching" when talking about programming a computer. >> >> The authors say we're "teaching" the computer.... > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig From kirby.urner at gmail.com Tue Apr 7 19:48:42 2009 From: kirby.urner at gmail.com (kirby urner) Date: Tue, 7 Apr 2009 10:48:42 -0700 Subject: [Edu-sig] Fwd: Do we "teach computers" when we write code? In-Reply-To: <24d253d90904070632j234a161bmb181fc91cff72005@mail.gmail.com> References: <24d253d90904070626m565e3ab2se8730d49f7a30814@mail.gmail.com> <24d253d90904070632j234a161bmb181fc91cff72005@mail.gmail.com> Message-ID: On Tue, Apr 7, 2009 at 6:32 AM, Lloyd Hugh Allen wrote: > I haven't posted in a while -- forgot to reply-to-edu-sig :) > > I replied but to an earlier part of this thread -- I trust our human readers to make the connections. :) Kirby From echerlin at gmail.com Tue Apr 7 20:09:36 2009 From: echerlin at gmail.com (Edward Cherlin) Date: Tue, 7 Apr 2009 11:09:36 -0700 Subject: [Edu-sig] Fwd: Do we "teach computers" when we write code? In-Reply-To: <24d253d90904070632j234a161bmb181fc91cff72005@mail.gmail.com> References: <24d253d90904070626m565e3ab2se8730d49f7a30814@mail.gmail.com> <24d253d90904070632j234a161bmb181fc91cff72005@mail.gmail.com> Message-ID: On Tue, Apr 7, 2009 at 6:32 AM, Lloyd Hugh Allen wrote: > I haven't posted in a while -- forgot to reply-to-edu-sig :) There is a long-running rwar between those who think that mailing lists should have a reply-to set to the mailing list address, and those who think that replies should go to the previous sender by default. Is it worse that mistakes result in private replies going to the list (big-endian) or list replies going to an individual (little-endian)? You still have to be able to remember what you are doing. What _I_ want is a menu item clearly labeled "Reply to List". > ---------- Forwarded message ---------- > From: Lloyd Hugh Allen > Date: Tue, Apr 7, 2009 at 09:26 > Subject: Re: [Edu-sig] Do we "teach computers" when we write code? > To: kirby urner > > > As a math teacher, using the particular example of summing a finite > set of consecutive integers: > > To give students a formula, in particular n(1+n)/2, and then have them > do a set of practice problems where they apply that formula, is not > teaching. It might be training. > > Instead, consider the case of telling students that: when Gauss was in > elementary school, his teacher needed time to work on some other > matter and so told the students to add all of the numbers from 1 to > 100; and that Gauss instantly looked up and said 5050; and the teacher > hadn't actually yet done the problem himself and so denied Gauss' > answer. The version I learned is that Gauss wrote the answer on his personal slate and put it face down on the teacher's desk, as was the custom. Then he waited while all of the others slaved through the columnar addition. When the last slate was added to the pile, the teacher turned it over and found Gauss's correct answer on top. With no working. In some of the schools I have attended, you get marked down for not showing your work. %-[ > Gauss, as an ~8 year old, said, no, look, and wrote > > 1 + 2 + 3 + ... + 100 > > and then below that wrote > > 100 + 99 + 98 + ... + 1 > > and showed that there were 100 columns, and that each column summed to > 101. However, he then noted that he had written the series out twice, > and so had to divide that product by two. The 100 columns is the n; > the sum of the first and last number is 1+n; and then divide by two. You can do this in preschool with Cuisenaire rods. > And then to have the students try to represent a similar problem, and > to check their answer against the formula, and THEN to have them do a > set of practice problems, that might be teaching. > > If the computer were able to understand the story about young Gauss, > then we could teach it. Instead, we can use it to confirm that the > formula seems to work (because computers can add numbers in the > fashion that Gauss' elementary school teacher expected just as fast as > we can apply the formula), +/i.100 0.5 * (] * (] + 1)) > and we can show that using the formula is > still faster for the computer than actually summing the list, but no, > we are not teaching the computer. I still say that even though the computer is not learning, children writing programs have the same impact on their learning _as if_ they were teaching. > Perhaps if the computer were then able to, of its own volition, wonder > what we would get if we were to sum consecutive squares, then we could > teach it. As hard as it is to get students to wonder about things, > it's even harder to create that state in computers. There are theorem-proving programs, and I know of an instance in which one was turned loose and came up with a novel proof in geometry (of a well-known theorem, of course.) Still, one shouldn't make too much of an isolated incident. > -Lloyd > > On Mon, Apr 6, 2009 at 18:05, kirby urner wrote: >> I'm wondering what others on this list think of this non-standard use >> of "teaching" when talking about programming a computer. >> >> The authors say we're "teaching" the computer.... > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > -- Silent Thunder (??/???????????????/????????????? ?) is my name And Children are my nation. The Cosmos is my dwelling place, The Truth my destination. http://earthtreasury.net/ (Edward Mokurai Cherlin) From echerlin at gmail.com Tue Apr 7 20:42:23 2009 From: echerlin at gmail.com (Edward Cherlin) Date: Tue, 7 Apr 2009 11:42:23 -0700 Subject: [Edu-sig] Generating prime numbers In-Reply-To: References: <057A4CD088914E408E2CB5A8AA412A36@AMDUP> <49D8CDF9.30606@snet.net> Message-ID: On Sun, Apr 5, 2009 at 9:07 AM, kirby urner wrote: > As my grandmother might have said: ?ai yai yai > http://answers.yahoo.com/question/index?qid=20081203103806AA4TSOq > > I'm guessing Kay (XY? XX? -- not that I need to know) is a LISP and/or > Scheme head, by the looks of those lambdas. ?Probably why Python > doesn't want a big one is precisely this: ?the language would fall > under the control of the Great Lambda Kings (a small tribe to our > north, spends all its time extending emacs). > > Ya gotta love 'em! You should try UnLambda, then. ;-> _The_ most minimalist Turing-tarpit language I knew of until just this moment, when I looked it up on Wikipedia and found out about the languages Iota and Jot. Wonderful for proof-of-concept studies. There is a Parrot implementation of UnLambda. Here, for example, is an UnLambda implementation of the Y fixed-point combinator. ```s``k``sii``s``s`ksk`k``sii where i is an abbreviation for ?``skk. Joy is a pure functional languages without Lambda. A square function in Joy is quite FORTH-like. DEFINE square == dup * . J also does without Lambda. It has a functional subset with Currying (&) in which one can write square =. ^&2 I helped Iverson with a small design point in that functional subset, and wrote a paper about a generalization of the idea for the next year's APL conference. In the class of languages I discussed, one can dispense with variables. > Kirby > > > > On Sun, Apr 5, 2009 at 8:27 AM, John Posner wrote: >> kirby urner wrote: >>> >>> Excellente! kind sir. >>> >> >> Here's a Python solution from Kay Schluehr on python-list. I've >> pretty-printed it, sort of. If the line endings get garbled, just look for >> the backslashes: >> >> g = (lambda primes = []: \ >> ? ? ? (n for n in count(2) if \ >> ? ? ? ? ? (lambda n, primes: \ >> ? ? ? ? ? ? ? (n in primes if (primes and n<=primes[-1]) \ >> ? ? ? ? ? ? ? ? ? ? ? ? ? ?else (primes.append(n) or True if all(n%p for p >> in primes if p <= sqrt(n)) \ >> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? else False) \ >> ? ? ? ? ? ? ? ) \ >> ? ? ? ? ? )(n, primes) \ >> ? ? ? ) \ >> ? )() >> >> "g" is a generator, so get the values with g.next(). -- Silent Thunder (??/???????????????/????????????? ?) is my name And Children are my nation. The Cosmos is my dwelling place, The Truth my destination. http://earthtreasury.net/ (Edward Mokurai Cherlin) From lac at openend.se Tue Apr 7 23:28:18 2009 From: lac at openend.se (Laura Creighton) Date: Tue, 07 Apr 2009 23:28:18 +0200 Subject: [Edu-sig] Fwd: Do we "teach computers" when we write code? In-Reply-To: Message from Edward Cherlin of "Tue, 07 Apr 2009 11:09:36 PDT." References: <24d253d90904070626m565e3ab2se8730d49f7a30814@mail.gmail.com> <24d253d90904070632j234a161bmb181fc91cff72005@mail.gmail.com> Message-ID: <200904072128.n37LSIwH025591@theraft.openend.se> In a message of Tue, 07 Apr 2009 11:09:36 PDT, Edward Cherlin writes: >There is a long-running rwar between those who think that mailing >lists should have a reply-to set to the mailing list address, and >those who think that replies should go to the previous sender by >default. Is it worse that mistakes result in private replies going to >the list (big-endian) or list replies going to an individual >(little-endian)? Much worse when private replies go to a list. >You still have to be able to remember what you are >doing. What _I_ want is a menu item clearly labeled "Reply to List". Many mailers have one of these. Writing one is not hard, what mailer are you using, and is the source available? Laura >> the sum of the first and last number is 1+n; and then divide by two. > >You can do this in preschool with Cuisenaire rods. > >> And then to have the students try to represent a similar problem, and >> to check their answer against the formula, and THEN to have them do a >> set of practice problems, that might be teaching. >> >> If the computer were able to understand the story about young Gauss, >> then we could teach it. Instead, we can use it to confirm that the >> formula seems to work (because computers can add numbers in the >> fashion that Gauss' elementary school teacher expected just as fast as >> we can apply the formula), > >+/i.100 > >0.5 * (] * (] + 1)) > >> and we can show that using the formula is >> still faster for the computer than actually summing the list, but no, >> we are not teaching the computer. > >I still say that even though the computer is not learning, children >writing programs have the same impact on their learning _as if_ they >were teaching. > >> Perhaps if the computer were then able to, of its own volition, wonder >> what we would get if we were to sum consecutive squares, then we could >> teach it. As hard as it is to get students to wonder about things, >> it's even harder to create that state in computers. > >There are theorem-proving programs, and I know of an instance in which >one was turned loose and came up with a novel proof in geometry (of a >well-known theorem, of course.) Still, one shouldn't make too much of >an isolated incident. > >> -Lloyd >> >> On Mon, Apr 6, 2009 at 18:05, kirby urner wrote >: >>> I'm wondering what others on this list think of this non-standard use >>> of "teaching" when talking about programming a computer. >>> >>> The authors say we're "teaching" the computer.... >> _______________________________________________ >> Edu-sig mailing list >> Edu-sig at python.org >> http://mail.python.org/mailman/listinfo/edu-sig >> > > > >-- >Silent Thunder (??????/?????????????????????????????????????????????/??????? ? ???????????????? ??) is my name >And Children are my nation. >The Cosmos is my dwelling place, The Truth my destination. >http://earthtreasury.net/ (Edward Mokurai Cherlin) >_______________________________________________ >Edu-sig mailing list >Edu-sig at python.org >http://mail.python.org/mailman/listinfo/edu-sig From echerlin at gmail.com Wed Apr 8 00:37:02 2009 From: echerlin at gmail.com (Edward Cherlin) Date: Tue, 7 Apr 2009 15:37:02 -0700 Subject: [Edu-sig] Mail features (was Re: Fwd: Do we "teach computers" when we write code?) Message-ID: On Tue, Apr 7, 2009 at 2:28 PM, Laura Creighton wrote: > In a message of Tue, 07 Apr 2009 11:09:36 PDT, Edward Cherlin writes: >>There is a long-running rwar between those who think that mailing >>lists should have a reply-to set to the mailing list address, and >>those who think that replies should go to the previous sender by >>default. Is it worse that mistakes result in private replies going to >>the list (big-endian) or list replies going to an individual >>(little-endian)? > > Much worse when private replies go to a list. I'm not going to argue with you, but I know others who would. :( >>You still have to be able to remember what you are >>doing. What _I_ want is a menu item clearly labeled "Reply to List". > > Many mailers have one of these. ?Writing one is not hard, what mailer > are you using, and is the source available? Gmail. No, source is not available. They do accept feature requests at http://mail.google.com/support/bin/static.py?page=suggestions.cs Once in a while I see that some feature I wanted made it in. > Laura Of course the mail software can't help you remember when to change the subject line. -- Silent Thunder (??/???????????????/????????????? ?) is my name And Children are my nation. The Cosmos is my dwelling place, The Truth my destination. http://earthtreasury.org/worknet (Edward Mokurai Cherlin) From kirby.urner at gmail.com Wed Apr 8 00:43:25 2009 From: kirby.urner at gmail.com (kirby urner) Date: Tue, 7 Apr 2009 15:43:25 -0700 Subject: [Edu-sig] Mail features (was Re: Fwd: Do we "teach computers" when we write code?) In-Reply-To: References: Message-ID: > Gmail. No, source is not available. They do accept feature requests at > > http://mail.google.com/support/bin/static.py?page=suggestions.cs > > Once in a while I see that some feature I wanted made it in. > >> Laura > > Of course the mail software can't help you remember when to change the > subject line. How would Reply to List differ from Reply to All, which gmail has? Seems like you'd have to be able to pick out a list from all the others, which means persisting a list of lists, which may be more trouble than it's worth? I think just posting to the list is often sufficient, so if others reply, it goes to the list also. No need to CC anyone you already know is on the list maybe? Anyway, this gets in the realm of "to each her own" i.e. not my place to micromanage the habits of others, just giving a few cents worth. Kirby > -- > Silent Thunder (??/???????????????/????????????? ?) is my name > And Children are my nation. > The Cosmos is my dwelling place, The Truth my destination. > http://earthtreasury.org/worknet (Edward Mokurai Cherlin) > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > From echerlin at gmail.com Wed Apr 8 00:51:08 2009 From: echerlin at gmail.com (Edward Cherlin) Date: Tue, 7 Apr 2009 15:51:08 -0700 Subject: [Edu-sig] Mail features (was Re: Fwd: Do we "teach computers" when we write code?) In-Reply-To: References: Message-ID: On Tue, Apr 7, 2009 at 3:43 PM, kirby urner wrote: >> Gmail. No, source is not available. They do accept feature requests at >> >> http://mail.google.com/support/bin/static.py?page=suggestions.cs >> >> Once in a while I see that some feature I wanted made it in. >> >>> Laura >> >> Of course the mail software can't help you remember when to change the >> subject line. > > How would Reply to List differ from Reply to All, which gmail has? Reply to All, which I used on this message, puts you in as primary recipient, and the list as cc:. I _could_ delete you, and move the list address to To:, but I usually don't feel like taking the trouble. This time I left it deliberately. > Seems like you'd have to be able to pick out a list from all the > others, which means persisting a list of lists, which may be more > trouble than it's worth? You mean if the message is crossposted to multiple lists? Well then, I just use Reply to All. > I think just posting to the list is often sufficient, so if others > reply, it goes to the list also. ?No need to CC anyone you already > know is on the list maybe? Yes, that's what I'm asking Google to let us do. > Anyway, this gets in the realm of "to each her own" i.e. not my place > to micromanage the habits of others, just giving a few cents worth. > > Kirby > >> -- >> Silent Thunder (??/???????????????/????????????? ?) is my name >> And Children are my nation. >> The Cosmos is my dwelling place, The Truth my destination. >> http://earthtreasury.org/worknet (Edward Mokurai Cherlin) >> _______________________________________________ >> Edu-sig mailing list >> Edu-sig at python.org >> http://mail.python.org/mailman/listinfo/edu-sig >> > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > -- Silent Thunder (??/???????????????/????????????? ?) is my name And Children are my nation. The Cosmos is my dwelling place, The Truth my destination. http://earthtreasury.org/worknet (Edward Mokurai Cherlin) From kirby.urner at gmail.com Wed Apr 8 01:06:26 2009 From: kirby.urner at gmail.com (kirby urner) Date: Tue, 7 Apr 2009 16:06:26 -0700 Subject: [Edu-sig] Mail features (was Re: Fwd: Do we "teach computers" when we write code?) In-Reply-To: References: Message-ID: >> Seems like you'd have to be able to pick out a list from all the >> others, which means persisting a list of lists, which may be more >> trouble than it's worth? > > You mean if the message is crossposted to multiple lists? Well then, I > just use Reply to All. > Oh I get it. I didn't remember that mailing list is part of the header, and so it'd be unambiguous what 'Reply to List' really meant. I was thinking Gmail would somehow have to pick "just the list" out of the from: part of the header, where it might be mixed with any number of personal addresses. Google already lets us filter on mailing list, so replying to it and only it makes sense as an option. Good idea. Kirby From macquigg at ece.arizona.edu Wed Apr 8 04:12:54 2009 From: macquigg at ece.arizona.edu (David MacQuigg) Date: Tue, 07 Apr 2009 19:12:54 -0700 Subject: [Edu-sig] Progamming advice In-Reply-To: <88fe22a0904070635u3d8f00fey5f0a2e748866dbcf@mail.gmail.com > References: <200904070509.n37596Z4003771@theraft.openend.se> <88fe22a0904061133t664fd501u807e7eefddceec1d@mail.gmail.com> <88fe22a0904061350t679fa8ecta0d46f15b5a1f71c@mail.gmail.com> <200904070509.n37596Z4003771@theraft.openend.se> Message-ID: <5.2.1.1.0.20090407184922.03cf7c28@mail.ece.arizona.edu> At 09:35 AM 4/7/2009 -0400, Gary Pajer wrote: >I am but a poor physicist and self-taught (out of necessity) programmer, aside from one course in FORTRAN in 1973. Until this discussion I was not at all familiar with the terms TDD, unittest, design pattern, class model, state model, interaction model. And thanks for the pointers to Fowler, and Dive Into Python. I really do feel like I'm looking at a pile of lumber, nails, hammers, and saws, and being expected to build a house. My apps are getting complex, and seat-of-the-pants isn't working so well anymore. Sounds like we have similar backgrounds. You are exactly the type of non-programmer professional that I have in mind for the "CS2" class I have been thinking about. http://ece.arizona.edu/~edatools/index_classes.htm CS majors have a sequence of classes to learn all about CS, with a lot of emphasis on tools and techniques used by professional programmers. Non-programmers get only one freshman-level class in C or Java, and miss a lot of the really good stuff that could be distilled from the three courses taught to CS majors, stuff like OOP, that is helpful to an individual writing his own programs. I really believe we can do this in one semester without making it seem rushed or overwhelming. One good design will teach the concept of design patterns. Most of the others are not that useful anyway. Many of the tools only improve productivity if you use them all the time, and get in the way if you have to stop and review the manual because you were working on something else for six months. Send me some examples of early versions of your programs, and I'll help make them into a sequence that will serve as good examples for students. See the sequence OhNo.py for what I have in mind. This example is a bit artificial, but perhaps some of your real-world programs could be the basis of something much better. -- Dave From lac at openend.se Wed Apr 8 05:41:30 2009 From: lac at openend.se (Laura Creighton) Date: Wed, 08 Apr 2009 05:41:30 +0200 Subject: [Edu-sig] Mail features (was Re: Fwd: Do we "teach computers" when we write code?) In-Reply-To: Message from kirby urner of "Tue, 07 Apr 2009 16:06:26 PDT." References: Message-ID: <200904080341.n383fUoW015239@theraft.openend.se> In a message of Tue, 07 Apr 2009 16:06:26 PDT, kirby urner writes: >>> Seems like you'd have to be able to pick out a list from all the >>> others, which means persisting a list of lists, which may be more >>> trouble than it's worth? >> >> You mean if the message is crossposted to multiple lists? Well then, I >> just use Reply to All. >> > >Oh I get it. I didn't remember that mailing list is part of the >header, and so it'd be unambiguous what 'Reply to List' really meant. >I was thinking Gmail would somehow have to pick "just the list" out of >the from: part of the header, where it might be mixed with any number >of personal addresses. Google already lets us filter on mailing list, >so replying to it and only it makes sense as an option. Good idea. > >Kirby The other thing that makes sense as a command is 'absolutely, positively, reply only to the from: address totally ignoring the reply-to: line'. Then you can stop using the reply command altogether, unless you communicate with people who want their email to be received in a different account than the one where they are sending it from, and who are using RFC 2822, as designed, to indicate where they want incoming mail to them to go. These people, and I used to be one of them, are a vanishing breed now anyway, because enough reply-to: munging lists out there have left them high and dry. Does Google mail have one of those? Laura From kirby.urner at gmail.com Wed Apr 8 06:25:44 2009 From: kirby.urner at gmail.com (kirby urner) Date: Tue, 7 Apr 2009 21:25:44 -0700 Subject: [Edu-sig] Progamming advice In-Reply-To: <5.2.1.1.0.20090407184922.03cf7c28@mail.ece.arizona.edu> References: <88fe22a0904061133t664fd501u807e7eefddceec1d@mail.gmail.com> <88fe22a0904061350t679fa8ecta0d46f15b5a1f71c@mail.gmail.com> <200904070509.n37596Z4003771@theraft.openend.se> <5.2.1.1.0.20090407184922.03cf7c28@mail.ece.arizona.edu> Message-ID: On Tue, Apr 7, 2009 at 7:12 PM, David MacQuigg wrote: > At 09:35 AM 4/7/2009 -0400, Gary Pajer wrote: << SNIP >> > Send me some examples of early versions of your programs, and I'll help make them into a sequence that will serve as good examples for students. ?See the sequence OhNo.py for what I have in mind. ?This example is a bit artificial, but perhaps some of your real-world programs could be the basis of something much better. > > -- Dave I'm eager for Dave's proposed course (and course ware) to flourish, especially if he continues being so generous with his PDFs etc. So true that working non computer scientists might benefit from a "best practices" course. There should be no stigma around sharing draft code, what liberal cultures encourage. Lots of people stop themselves saying: I don't want to publish code others might criticize. But that's the whole point: flag the code as a work in progress and invite comments, suggestions. This is how we learn. As R0ml Lefkowitz points out, free as in freedom is where "liberal arts" come in, with software skills becoming the "new rhetoric" in some ways. http://mybizmo.blogspot.com/2008/07/more-oscon-keynotes.html >>> Random observations re scientific computing w/ Python: The SciPy site has a lot of materials geared for the scientist needing to get work done (yeah, some of those links are broken. http://www.scipy.org/Topical_Software http://www.scipy.org/wikis/topical_software/Tutorial (long and detailed, lots of work directly in the shell which I like) http://pypi.python.org/pypi/ is scary to me, such a hodge podge. Anyone in the habit of using Bruce BTW? http://pypi.python.org/pypi/bruce/3.2.1 PyMOL doesn't seem as accessible as I remember, documentation only for subscribers: http://pymol.sourceforge.net/ I'm out of date on Numpy but have it as a consequence of compiling Visual Python: http://numpy.scipy.org/ http://vpython.org/ Kirby From kirby.urner at gmail.com Wed Apr 8 06:55:16 2009 From: kirby.urner at gmail.com (kirby urner) Date: Tue, 7 Apr 2009 21:55:16 -0700 Subject: [Edu-sig] pointers to Math Forum, Chipy list Message-ID: FYI, I was prolific today, some might say prolix. Partly I'm just wanting to keep my wheelings and dealings in the open, in the spirit of open source. So... some lesson plans on math-teach @ Math Forum (Drexel University), precious little Python really, more about tone, context and perceptions (remember I'm posting for people who typically say "What's Python?"): http://mathforum.org/kb/thread.jspa?threadID=1917995&tstart=0 Then, as I was mentioning to Vern off list, I'm keen to see user groups as possibly sourcing free Python Briefings, open to the public, Princeton Computer Center a model. Though open, one might still invite specific groups, advertise follow-up trainings. I'm sharing this idea with Chipy (Chicago) as well as PPUG in Portland: http://mail.python.org/pipermail/chicago/2009-April/005815.html (also recruiting to edu-sig you'll see if you wanna read it) Two other ideas from Pycon: (a) expand booth area with "poster session" showing Python @ work in a more academic format i.e. not selling a product or service so much as educating passers by about what's up. Sort of "lightning talks meets science fair" in conception. Steve Holden's idea. Vern might be interested in following up? (b) Jeff Rush mentioned EduPycon possibility, which'd be like a "subclass" of Pycon (which is sort of "root") maybe meets in a college campus instead of hotel, more academic in flavor, focusing on teaching, pedagogy, andragogy, resources for educators? Just wanted to get those out there while the iron is still hot as they say. Kirby 4D From lac at openend.se Wed Apr 8 07:02:50 2009 From: lac at openend.se (Laura Creighton) Date: Wed, 08 Apr 2009 07:02:50 +0200 Subject: [Edu-sig] Math in a Browser In-Reply-To: Message from kirby urner of "Tue, 07 Apr 2009 21:55:16 PDT." References: Message-ID: <200904080502.n3852oMJ020096@theraft.openend.se> Somebody wants something 'like matlab' but which is browser based and all runs in a browser. I know about http://www.livemath.com/lmplugin/ What else is out there? Laura From andre.roberge at gmail.com Wed Apr 8 12:13:27 2009 From: andre.roberge at gmail.com (Andre Roberge) Date: Wed, 8 Apr 2009 07:13:27 -0300 Subject: [Edu-sig] Math in a Browser In-Reply-To: <200904080502.n3852oMJ020096@theraft.openend.se> References: <200904080502.n3852oMJ020096@theraft.openend.se> Message-ID: <7528bcdd0904080313w5e1cd2e1t953c9d077a7f7ff2@mail.gmail.com> On Wed, Apr 8, 2009 at 2:02 AM, Laura Creighton wrote: > Somebody wants something 'like matlab' but which is browser based > and all runs in a browser. I know about http://www.livemath.com/lmplugin/ > What else is out there? > I've never really tried any of the following, but I understand they may have some similar features: 1. Sage http://sagemath.org/ This might be overkill and a bit too complex 2. Weblab http://www.physics.ox.ac.uk/users/santoso/Software.WebLab.html Still in alpha version 3. Sympy http://code.google.com/p/sympy/ Might use pyglet (hence not browser based) for graphics ?... Andr? > > Laura > > _______________________________________________ > 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: From christian.mascher at gmx.de Wed Apr 8 16:25:13 2009 From: christian.mascher at gmx.de (Christian Mascher) Date: Wed, 08 Apr 2009 16:25:13 +0200 Subject: [Edu-sig] Progamming advice. In-Reply-To: References: <88fe22a0904061133t664fd501u807e7eefddceec1d@mail.gmail.com> <88fe22a0904061350t679fa8ecta0d46f15b5a1f71c@mail.gmail.com> Message-ID: <49DCB3C9.60802@gmx.de> Hi Gary, Kirby is right: this is what you should be looking at. > There's the design patterns literature, sometimes fun to just eyeball > so you get used to seeing patterns, even if different from the ones > described. Some IMHO really good books on the practical aspects of software design with agile languages are: Refactoring, by Martin Fowler. You have probably heard of this book. Smalltalk Best Practice Patterns, by Kent Beck. A set of "rules" how to write cleaner code (in Smalltalk). I like it, because it adresses little, practical aspects like appropriate naming ("Role suggesting temporary variable name", , "Type suggesting parameter name") which can be applied to Python-code (weakly typed like Smalltalk). I am not aware of a similar book for Python. Does anyone? (Kent Beck also wrote a book on Test-Driven Delopment where he actually uses Python in the second part.) HTH Christian From kirby.urner at gmail.com Wed Apr 8 16:59:08 2009 From: kirby.urner at gmail.com (kirby urner) Date: Wed, 8 Apr 2009 07:59:08 -0700 Subject: [Edu-sig] Progamming advice. In-Reply-To: <49DCB3C9.60802@gmx.de> References: <88fe22a0904061133t664fd501u807e7eefddceec1d@mail.gmail.com> <88fe22a0904061350t679fa8ecta0d46f15b5a1f71c@mail.gmail.com> <49DCB3C9.60802@gmx.de> Message-ID: Somewhat apropos: http://worldgame.blogspot.com/2009/03/patterns-in-python.html I see Fowler getting mentioned a lot in this thread. Below, a couple more titles: Jacob: Tests are the programmer's stone, transmuting fear into boredom (Kent Beck, author of Test Driven Development). Build in time to write tests. TDD = Test Driven Development. Jacob doesn't do it hardcore, gets annoyed with the dogma. Read Code Complete, published by Microsoft -- one of the best books ever. When you start down the testing road, you're making a contract with yourself to not check in code with broken tests. That's from my write-up, (Jacob = Jacob Kaplan-Moss of Django dojo): http://worldgame.blogspot.com/2009/03/django-workshop.html Kirby On Wed, Apr 8, 2009 at 7:25 AM, Christian Mascher wrote: > Hi Gary, > > Kirby is right: this is what you should be looking at. >> >> There's the design patterns literature, sometimes fun to just eyeball >> so you get used to seeing patterns, even if different from the ones >> described. > > Some IMHO really good books on the practical aspects of software design with > agile languages are: > > Refactoring, by Martin Fowler. You have probably heard of this book. > > Smalltalk Best Practice Patterns, by Kent Beck. > A set of "rules" how to write cleaner code (in Smalltalk). I like it, > because it adresses little, practical aspects like appropriate naming ("Role > suggesting temporary variable name", , "Type suggesting parameter name") > which can be applied to Python-code (weakly typed like Smalltalk). I am not > aware of a similar book for Python. Does anyone? > > (Kent Beck also wrote a book on Test-Driven Delopment where he actually uses > Python in the second part.) > > HTH > > Christian > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > From mpaul213 at gmail.com Wed Apr 8 17:20:23 2009 From: mpaul213 at gmail.com (michel paul) Date: Wed, 8 Apr 2009 08:20:23 -0700 Subject: [Edu-sig] Math in a Browser In-Reply-To: <7528bcdd0904080313w5e1cd2e1t953c9d077a7f7ff2@mail.gmail.com> References: <200904080502.n3852oMJ020096@theraft.openend.se> <7528bcdd0904080313w5e1cd2e1t953c9d077a7f7ff2@mail.gmail.com> Message-ID: <40ea4eb00904080820u7ba189fbse5d703a7f8c0cd03@mail.gmail.com> SAGE is awesome. I highly recommend it. Recently I've been looking at it more intently with the idea of using in math classes. For the last few weeks I've been working very hard on getting a new math class officially recognized for next year, and I got the green light! So, next year we will officially be offering a computational math analysis course! I'm thrilled. It will be the traditional analysis curriculum using a computational language. So I've recently been examining SAGE with this new course in mind. I think something like SAGE would be even better for an Analysis type course than straight Python. You can very easily do all kinds of graphing. It has all the functionality of any Computer Algebra System you could name, but you can also program ideas from scratch. You can use SAGE either with or without a browser, but through the browser is a lot more practical. It lets you very easily create and maintain worksheets. Yeah, it is a bit hefty. A massive download. But well worth the cost! : ) SymPy is also great. I've looked at it a bit. SAGE actually includes SymPy as part of its machinery. On Wed, Apr 8, 2009 at 3:13 AM, Andre Roberge wrote: > > > On Wed, Apr 8, 2009 at 2:02 AM, Laura Creighton wrote: > >> Somebody wants something 'like matlab' but which is browser based >> and all runs in a browser. I know about >> http://www.livemath.com/lmplugin/ >> What else is out there? >> > > > I've never really tried any of the following, but I understand they may > have some similar features: > > 1. Sage http://sagemath.org/ This might be overkill and a bit too complex > 2. Weblab http://www.physics.ox.ac.uk/users/santoso/Software.WebLab.html > Still in alpha version > 3. Sympy http://code.google.com/p/sympy/ Might use pyglet (hence not > browser based) for graphics ?... > > Andr? > >> >> Laura >> >> _______________________________________________ >> Edu-sig mailing list >> Edu-sig at python.org >> http://mail.python.org/mailman/listinfo/edu-sig >> > > > _______________________________________________ > 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: From kirby.urner at gmail.com Wed Apr 8 17:55:55 2009 From: kirby.urner at gmail.com (kirby urner) Date: Wed, 8 Apr 2009 08:55:55 -0700 Subject: [Edu-sig] Math in a Browser In-Reply-To: <40ea4eb00904080820u7ba189fbse5d703a7f8c0cd03@mail.gmail.com> References: <200904080502.n3852oMJ020096@theraft.openend.se> <7528bcdd0904080313w5e1cd2e1t953c9d077a7f7ff2@mail.gmail.com> <40ea4eb00904080820u7ba189fbse5d703a7f8c0cd03@mail.gmail.com> Message-ID: On Wed, Apr 8, 2009 at 8:20 AM, michel paul wrote: > SAGE is awesome.? I highly recommend it.? Recently I've been looking at it > more intently with the idea of using in math classes. > We've been hoping to get the Sage folks from Seattle to present at PPUG Portland. One reason I encourage core Python for more elementary courses is I'm wanting to open a window into the language itself, not an application written in that language. "Staying close to the metal" sounds funny in this context, given it's a VHLL. That being said, Sage encourages writing in core Python, then working the API for graphics. I recommend creating a free user account and testing it over the web by pulling up some already published activities e.g.: v2 of three famous plots of chaos http://www.sagenb.org/home/pub/20/ In terms of selling your department on the relevance of Python to math learning, I think Sage is a significant asset, something to show and tell about. Here's all you need to plot a Mandelbrot set: #Mandelbrot set: the final plot is a subset of the complex plane; #the color at point c is porportional to the number of iterations that #the discrete dynamical system z->z^2+c takes to leave a circle around #the origin when z0=0 N=int(200) #resolution of the plot L=int(50) #limits the number of iterations x0=float(-2); x1=float(1); y0=float(-1.5); y1=float(1.5) #boundary of the region plotted R=float(3) #stop after leaving the circle of radius R zero = int(0) m=matrix(N,N) for i in range(N): for k in range(N): c=complex(x0+i*(x1-x0)/N, y0+k*(y1-y0)/N) z=zero h=zero while (h References: <200904080502.n3852oMJ020096@theraft.openend.se> <7528bcdd0904080313w5e1cd2e1t953c9d077a7f7ff2@mail.gmail.com> <40ea4eb00904080820u7ba189fbse5d703a7f8c0cd03@mail.gmail.com> Message-ID: <34f4097d0904080912k6324c76du7bfef3a86d4accdb@mail.gmail.com> have you tried DragMath ? http://www.dragmath.bham.ac.uk/demo.html http://docs.moodle.org/en/DragMath_equation_editor http://sourceforge.net/projects/dragmath/ On Wed, Apr 8, 2009 at 6:55 PM, kirby urner wrote: > On Wed, Apr 8, 2009 at 8:20 AM, michel paul wrote: >> SAGE is awesome.? I highly recommend it.? Recently I've been looking at it >> more intently with the idea of using in math classes. >> > > We've been hoping to get the Sage folks from Seattle to present at > PPUG Portland. > > One reason I encourage core Python for more elementary courses is I'm > wanting to open a window into the language itself, not an application > written in that language. ?"Staying close to the metal" sounds funny > in this context, given it's a VHLL. > > That being said, Sage encourages writing in core Python, then working > the API for graphics. ?I recommend creating a free user account and > testing it over the web by pulling up some already published > activities e.g.: > > v2 of three famous plots of chaos > http://www.sagenb.org/home/pub/20/ > > In terms of selling your department on the relevance of Python to math > learning, I think Sage is a significant asset, something to show and > tell about. > > Here's all you need to plot a Mandelbrot set: > > #Mandelbrot set: the final plot is a subset of the complex plane; > #the color at point c is porportional to the number of iterations that > #the discrete dynamical system z->z^2+c takes to leave a circle around > #the origin when z0=0 > > N=int(200) ? ? ? ?#resolution of the plot > L=int(50) ? ? ? ?#limits the number of iterations > x0=float(-2); x1=float(1); y0=float(-1.5); y1=float(1.5) ?#boundary of > the region plotted > R=float(3) ? ? ? ?#stop after leaving the circle of radius R > zero = int(0) > m=matrix(N,N) > for i in range(N): > ? for k in range(N): > ? ? ? c=complex(x0+i*(x1-x0)/N, y0+k*(y1-y0)/N) > ? ? ? z=zero > ? ? ? h=zero > ? ? ? while (h ? ? ? ? ? z=z*z+c > ? ? ? ? ? h+=1 > ? ? ? m[i,k]=h > matrix_plot(m, cmap='hsv') > > That's a lot shorter than my implementation with PIL: > > http://www.4dsolutions.net/ocn/fractals.html > http://www.4dsolutions.net/ocn/lorentz.html > > There's also Lorentz Attractor and Feigenbaum diagram, woo hoo! > > Kirby > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > -- Jurgis Pralgauskis tel: 8-616 77613; jabber: jurgis at akl.lt; skype: dz0rdzas; Don't worry, be happy and make things better ;) http://sagemath.visiems.lt From mpaul213 at gmail.com Wed Apr 8 19:04:02 2009 From: mpaul213 at gmail.com (michel paul) Date: Wed, 8 Apr 2009 10:04:02 -0700 Subject: [Edu-sig] Math in a Browser In-Reply-To: References: <200904080502.n3852oMJ020096@theraft.openend.se> <7528bcdd0904080313w5e1cd2e1t953c9d077a7f7ff2@mail.gmail.com> <40ea4eb00904080820u7ba189fbse5d703a7f8c0cd03@mail.gmail.com> Message-ID: <40ea4eb00904081004q6eeba1ecr74e8c72abcd997aa@mail.gmail.com> On Wed, Apr 8, 2009 at 8:55 AM, kirby urner wrote: > > > One reason I encourage core Python for more elementary courses is I'm > > wanting to open a window into the language itself, not an application > > written in that language. And even in a course utilizing SAGE, I'd initially focus on pure Python. A student is going to be able to use SAGE a whole lot more effectively if they first have a good Pythonic background. So even though SAGE provides all kinds of amazing functionality, we'd still want the kids to be able to compose some of that functionality on their own from scratch. Same thing even with Python's various math libraries. All kinds of great tools ready to go, but sometimes in education we actually do want to re-invent the wheel! Like building your own radio. For example, there's a square root function in there. But in a computational math class, let's talk about how you can find the square root of a number by dividing and averaging - Newton's method. Once you set up this process, how many times do you need to iterate through it? If you test for pure equality, you're going to hang, so you need to define how close is 'close enough'. Lots of good math and programming discussion there. I realized awhile ago that the tension between using calculators in the classroom vs. using a programming language is more broadly framed as CAS vs. CTL: Computer Algebra System vs. Computational Thinking Language. SAGE completely synthesizes the two. If you need some powerful CAS tools, great. You've got whatever you need! Or, if you want to model and test your own ideas, great! You've got the ease of Python right there. > > That being said, Sage encourages writing in core Python, then working the > API for graphics. Exactly. > >In terms of selling your department on the relevance of Python to math > learning, I think Sage is a significant asset, >something to show and tell about. > Precisely what's been happening! Just a week ago I prepared something for the math and science departments showing them what kinds of tools are available for students who've learned a little Python. They were pretty impressed with the ease of the 3d graphics. Built in Platonic solids? How cool! - Michel -------------- next part -------------- An HTML attachment was scrubbed... URL: From vceder at canterburyschool.org Thu Apr 9 19:46:11 2009 From: vceder at canterburyschool.org (Vern Ceder) Date: Thu, 09 Apr 2009 13:46:11 -0400 Subject: [Edu-sig] Python in education - looking forward Message-ID: <49DE3463.5050807@canterburyschool.org> Hi everyone, As Kirby mentioned a couple of days ago (sorry about the late follow-up), he and I have been kicking around some ideas with Steve Holden. In his PyCon talk as the head of the PSF, Steve mentioned that he felt outreach to the education community was key for Python's long-term development, and he is willing put the support of the PSF (monetary and otherwise) behind the idea. So this past week we talked over the need to carry forward the momentum we always feel after meeting at PyCon, as well as the need to break down the isolation that some of feel, and include those who can't make it to PyCon. Steve's idea was to have a poster session at PyCon to spotlight Python in Education over the previous year, and I agreed to do what I could to move this forward. As we thought about it, we saw it being a display area at PyCon where we could share success stories, whether they were posters, slide shows, software demos, whatever. Submissions would be invited (and welcomed) whether the submitter could actually attend PyCon or not. To my mind this has several benefits: first, all of us can keep this venue in the back of our minds as we go about what we do, and save the best bits for sharing with the whole Python community; secondly, having those success stories and projects before the whole community would raise the profile of education and probably gain us not only support, but helpers with good ideas; finally, the dialog that emerges could help guide the PSF as it considers supporting and encouraging projects relating to education. We might also submit a "The Year in Python Education" summary talk for presentation in the regular PyCon program as a way to tie things together, in addition to encouraging PyCon talks and lightning talks. So if you've made it this far (sorry for the length of this) I'd be interested any reactions before I start pestering the python-org list about it. Any thoughts? Any support? Any questions? Any objections? Cheers, Vern -- 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 Thu Apr 9 21:10:22 2009 From: kirby.urner at gmail.com (kirby urner) Date: Thu, 9 Apr 2009 12:10:22 -0700 Subject: [Edu-sig] Python in education - looking forward In-Reply-To: <49DE3463.5050807@canterburyschool.org> References: <49DE3463.5050807@canterburyschool.org> Message-ID: My initial take on this is it'll lead to PSF discussions of how to 'monetize floorspace' as those Hyatts cost dough, not counting rooming costs, so every inch of an exhibit area is regarded as 'sponsoring'. This year we had Oracle, a bunch of others. However, OSCONs etc. have always had floorspace for nonprofits, NGOs, the Geek Peace Corps (whatever the real name) and publishers such as O'Reilly, the Zelle one in Wilsonville, come in as quasi-academic and/or para-academic, so we could think of the "university space" as real estate paid for by publishers, looking to showcase their star academics ("come write for us, you too could be a star"). In other words, I think "monetizing every inch" is still easily done, but here we're opening it up to participants with no money who might not even come to Pycon and/or OSCON. And yet their work is featured. Sarah Flannery comes to mind ('In Code') i.e. these kids might get prizes, even as the same publishers pays for the privilege of exhibiting their work. It's the same thing as Nike or Kellogg's buying a stake in a star athlete. You expect some degree of exclusivity, but on the other hand some stars flit around (free agency). Does this mean Princeton wouldn't pay for floorspace, independently of its press? I don't see why it'd be either/or i.e. universities could sponsor stars, just as easily as publishers. User groups, especially in the sponsoring city, could have discounted or free space maybe, seen as a PSF expense (PSF covers Python.org mostly, an umbrella for user groups, but not university departments per se, at least not today). Just wanted to strike while the iron is hot. On another topic, I've been negotiating with David Feinstein, a WYSIWYG genius math guy, about working for HP on the "classroom of tomorrow" project, which PPS is already starting to unveil, think I posted the video (will go fetch it in a sec), and his input is all about the kinesthetics of real chalk, how you lose something vital in going to a keyboard, plus his math symbols, though Unicode, aren't that accessible by keyboard either, i.e. it's all drag and drop from a palette, which isn't the kind of inspired doodling you get from the real deal. I suggested coupling an OCR between the white board and MathCad (Maple under the hood), which I'm sure many have thought of doing. But I gather he's more interested in designing an expressive "doodle language" from scratch, one that does a better job of meeting the engine half way (Mathematica bends over backwards to satisfy users of traditional typography, but I get the feeling David is more flexible than most Mathematica customers, maybe Shomar's influence). OK, let's find that video.... This is from before Pycon: --- In wwwanderers at yahoogroups.com, kirby urner wrote: Heads Up: PPS is unveiling the new technology configuration, planned for many classrooms, especially pre high school. Elements: laptop for teacher, data projector, smart board, clickers, document camera, mike for teacher. Clickers provide somewhat minimal interactivity. The rhetoric is very much towards bolstering the teacher's power, which is important to parents, as they want controlled classrooms, not chaos. http://www.pps.k12.or.us/depts/communications/techsurvey/PPS21st_Century_Classroom_Technology_Video.html A lot of these equipment upgrades are somewhat orthogonal to my advocacy programs (Oregon Curriculum Network etc.) i.e. I've premised most of my thinking on such tools becoming available. I also think vendors will compete for optimal configurations and the toyz shown in the above video won't be the only ones available (vendor lock in is what parents might worry about, if wanting maximum efficiency for those tax dollars). In my view, once you have capable computers and colorful projectors in math class, you're pretty much bound to start showing off polyhedra in their full glory i.e. sticking to "flat stuff" is just not what it's about. I realize you can't invest in polyhedra on the stock market as Platonic forms are not for sale, but the next best thing is "polyhedra TV" i.e. computer-aware math content that gets you "beyond flatland" (per ISEPP Summit, 1995 **). Some of you are wondering about digital cameras (different from the document cam), may have heard about the big equipment donation. There's also not much talk about the LEP High model: school server with scattered terminals, Edubuntu etc. Indeed, the software lineup looks pretty weak. Clearly there will be a few schools with a critical mass of geek parents where more beefy FOSS solutions will supplant the wimpy stuff. Not all schools will be cut from precisely the same cloth, if diversity is in any way still a goal. Kirby ** http://www.grunch.net/synergetics/mathsummit.html --- End forwarded message --- On Thu, Apr 9, 2009 at 10:46 AM, Vern Ceder wrote: > Hi everyone, > > As Kirby mentioned a couple of days ago (sorry about the late follow-up), he > and I have been kicking around some ideas with Steve Holden. In his PyCon > talk as the head of the PSF, Steve mentioned that he felt outreach to the > education community was key for Python's long-term development, and he is > willing put the support of the PSF (monetary and otherwise) behind the idea. > > So this past week we talked over the need to carry forward the momentum we > always feel after meeting at PyCon, as well as the need to break down the > isolation that some of feel, and include those who can't make it to PyCon. > > Steve's idea was to have a poster session at PyCon to spotlight Python in > Education over the previous year, and I agreed to do what I could to move > this forward. As we thought about it, we saw it being a display area at > PyCon where we could share success stories, whether they were posters, slide > shows, software demos, whatever. Submissions would be invited (and welcomed) > whether the submitter could actually attend PyCon or not. > > To my mind this has several benefits: first, all of us can keep this venue > in the back of our minds as we go about what we do, and save the best bits > for sharing with the whole Python community; secondly, having those success > stories and projects before the whole community would raise the profile of > education and probably gain us not only support, but helpers with good > ideas; finally, the dialog that emerges could help guide the PSF as it > considers supporting and encouraging projects relating to education. > > We might also submit a "The Year in Python Education" summary talk for > presentation in the regular PyCon program as a way to tie things together, > in addition to encouraging PyCon talks and lightning talks. > > So if you've made it this far (sorry for the length of this) I'd be > interested any reactions before I start pestering the python-org list about > it. > > Any thoughts? Any support? Any questions? Any objections? > > Cheers, > Vern > > -- > 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 > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > From vceder at canterburyschool.org Fri Apr 10 03:53:27 2009 From: vceder at canterburyschool.org (Vern Ceder) Date: Thu, 09 Apr 2009 21:53:27 -0400 Subject: [Edu-sig] Python in education - looking forward In-Reply-To: References: <49DE3463.5050807@canterburyschool.org> Message-ID: <49DEA697.4090701@canterburyschool.org> Andy, I thought of that issue myself. Of course it depends on how much prep work the submitter is willing to do, and whether they want to recruit someone who is attending to "represent" them in person. I would hope that we also ultimately put everything submitted onto a wiki page linked from the edu-sig home page as well. Obviously not a perfect solution, but still, it's something. Cheers, Vern Andrew Harrington wrote: > All sounds good Vern - consistent with our plans for the edu-sig page. > I'm not sure what is best for those who cannot attend - how much better > an unattended poster is that an entry on a wiki page off of edu-sig. > > Andy > > On Thu, Apr 9, 2009 at 12:46 PM, Vern Ceder > wrote: > > Hi everyone, > > As Kirby mentioned a couple of days ago (sorry about the late > follow-up), he and I have been kicking around some ideas with Steve > Holden. In his PyCon talk as the head of the PSF, Steve mentioned > that he felt outreach to the education community was key for > Python's long-term development, and he is willing put the support of > the PSF (monetary and otherwise) behind the idea. > > So this past week we talked over the need to carry forward the > momentum we always feel after meeting at PyCon, as well as the need > to break down the isolation that some of feel, and include those who > can't make it to PyCon. > > Steve's idea was to have a poster session at PyCon to spotlight > Python in Education over the previous year, and I agreed to do what > I could to move this forward. As we thought about it, we saw it > being a display area at PyCon where we could share success stories, > whether they were posters, slide shows, software demos, whatever. > Submissions would be invited (and welcomed) whether the submitter > could actually attend PyCon or not. > > To my mind this has several benefits: first, all of us can keep this > venue in the back of our minds as we go about what we do, and save > the best bits for sharing with the whole Python community; secondly, > having those success stories and projects before the whole community > would raise the profile of education and probably gain us not only > support, but helpers with good ideas; finally, the dialog that > emerges could help guide the PSF as it considers supporting and > encouraging projects relating to education. > > We might also submit a "The Year in Python Education" summary talk > for presentation in the regular PyCon program as a way to tie things > together, in addition to encouraging PyCon talks and lightning talks. > > So if you've made it this far (sorry for the length of this) I'd be > interested any reactions before I start pestering the python-org > list about it. > > Any thoughts? Any support? Any questions? Any objections? > > Cheers, > Vern > > -- > 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 > _______________________________________________ > 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-7982 > Fax: 312-915-7998 > gpd at cs.luc.edu for graduate administration > upd at cs.luc.edu for undergrad administration > aharrin at luc.edu as professor -- 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 gregor.lingl at aon.at Sat Apr 11 00:43:14 2009 From: gregor.lingl at aon.at (Gregor Lingl) Date: Sat, 11 Apr 2009 00:43:14 +0200 Subject: [Edu-sig] PyCon 2009 - Some photos from our meeting - etc. Message-ID: <49DFCB82.8010605@aon.at> Hi all, back home after a very exciting stay in the USA - Chicago, then New York - here are a few photos from our PyCon 2009 Open Space meeting of the Edu-People http://www.rg16.at/~glingl/pycon2009/ If you like, you can download the originals using urls like http://www.rg16.at/~glingl/pycon2009/PyCon2009-XX.jpg XX running from 01 to 14 ---------- Are there any plans on when and how to change the educators' presence on python.org I noted that there is still Timothy Wilson indicated as the coordinator of the edu-sig page, which - as far as I understand - isn't true ( True ) any more. To replace this by Anre Roberge would be a first - albeit small - step - or not? When will the wiki be installed, we talked about? I'd like to contribute some material on my turtle module, which is - as it has been - still not present on that page, :-( , but I'd like to get some advice on what is expected. Regards, Gregor From andre.roberge at gmail.com Sat Apr 11 00:46:39 2009 From: andre.roberge at gmail.com (Andre Roberge) Date: Fri, 10 Apr 2009 19:46:39 -0300 Subject: [Edu-sig] PyCon 2009 - Some photos from our meeting - etc. In-Reply-To: <49DFCB82.8010605@aon.at> References: <49DFCB82.8010605@aon.at> Message-ID: <7528bcdd0904101546x6ec4fb30v2e498d3a3c66b9c5@mail.gmail.com> On Fri, Apr 10, 2009 at 7:43 PM, Gregor Lingl wrote: SNIP > > ---------- > > Are there any plans on when and how to change the educators' > presence on python.org > > I noted that there is still Timothy Wilson indicated as the > coordinator of the edu-sig page, which - as far as I understand - > isn't true ( True ) any more. > > To replace this by Anre Roberge would be a first - > albeit small - step - or not? > > When will the wiki be installed, we talked about? > > I'd like to contribute some material on my turtle module, > which is - as it has been - still not present on that page, :-( , > but I'd like to get some advice on what is expected. > I was hoping to get that done by the end of last weekend but my real job got in the way. I'm *hoping* to get the new page up this weekend - and it is my plan to include a reference to the new turtle module. Andr? > > Regards, > Gregor > > > _______________________________________________ > 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: From kirby.urner at gmail.com Sat Apr 11 03:26:37 2009 From: kirby.urner at gmail.com (kirby urner) Date: Fri, 10 Apr 2009 18:26:37 -0700 Subject: [Edu-sig] PyCon 2009 - Some photos from our meeting - etc. In-Reply-To: <49DFCB82.8010605@aon.at> References: <49DFCB82.8010605@aon.at> Message-ID: On Fri, Apr 10, 2009 at 3:43 PM, Gregor Lingl wrote: > I noted that there is still Timothy Wilson indicated as the > coordinator of the edu-sig page, which - as far as I understand - > isn't true ( True ) any more. Good to remember the real history. In my own telling, I turned over the page to Andre, forgetting Tim Wilson was in charge, as he is (still) of edu-sig (I was never moderator here, contrary to some of the myths). I developed the edu-sig page in cvs days and don't detect changes beyond the reskinning, so maybe Tim's duties were more ceremonial. In any case, I'm looking forward to Andre assuming his tenure. Gregor, I'm looking forward to your contributions to the Wiki, enjoyed meeting with you, captured your likeness in this photo from the BOF party/meeting: http://www.flickr.com/photos/17157315 at N00/3391548560/sizes/l/in/set-72157616066135225/ (the man with the orange pencil in his jacket, far right). Kirby From dkuhlman at rexx.com Sat Apr 11 05:04:05 2009 From: dkuhlman at rexx.com (Dave Kuhlman) Date: Fri, 10 Apr 2009 20:04:05 -0700 Subject: [Edu-sig] Yet another Python book Message-ID: <20090411030405.GA27330@cutter.rexx.com> I've collected my training materials plus a few more advanced topics and I've also written up a reasonably large set of Python exercises. Then, I turned all of the above into a "book". If you have comments, suggestions, corrections, etc, I'll appreciate them. You can download it at no cost, in various formats here: http://www.rexx.com/~dkuhlman/#a-python-book And, if you really do feel a need to kill a tree, you can purchase a copy on paper here: http://www.lulu.com/content/paperback-book/a-python-book/2599081 And, please pass these links along to anyone to whom you think it might be useful. - Dave -- Dave Kuhlman http://www.rexx.com/~dkuhlman From mangabasi at gmail.com Sat Apr 11 21:35:26 2009 From: mangabasi at gmail.com (=?ISO-8859-9?Q?Fahredd=FDn_Basegmez?=) Date: Sat, 11 Apr 2009 15:35:26 -0400 Subject: [Edu-sig] What Linux distro? Message-ID: <9a01273a0904111235u1a5169c6x68dddf63f7917eb5@mail.gmail.com> Hi, I have been developing a programmable scientific visualization tool/rapid game maker with wxPython for a while. I recently released the first public beta version that works on windows only. Now, I am going to start working on a Linux version very soon. I have not decided which distro to use yet but leaning towards Ubuntu. Could you give me some feedback? What is the most popular distro in educational institutes/settings? You can download the application from www.mekanimo.net. Also I have a 5 min video at http://mekanimomedia.s3.amazonaws.com/tangram/Tangram.html If you try the application, I would appreciate your feedback about that too. Thanks in advance, Fahri Basegmez From kirby.urner at gmail.com Sat Apr 11 21:49:16 2009 From: kirby.urner at gmail.com (kirby urner) Date: Sat, 11 Apr 2009 12:49:16 -0700 Subject: [Edu-sig] What Linux distro? In-Reply-To: <9a01273a0904111235u1a5169c6x68dddf63f7917eb5@mail.gmail.com> References: <9a01273a0904111235u1a5169c6x68dddf63f7917eb5@mail.gmail.com> Message-ID: That's very impressive wxPython app. And your 5 minute video is top notch. I hope you've shown this to wxPython community directly (we're one degree of separation on edu-sig). This is a tremendous asset for them. And for we Ubuntu users should your migration project prove successful. If distributed as a Python egg or one of those disutil things (setup.py), then which exact Linux distro should have to matter that much. The step of moving it to *any* distro should be the real fun, and presumably, if your code is pure Python, it won't be a huge undertaking -- is the advertising anyway. I am interested in your experiences making the move. Thank you for doing all this work! Kirby On Sat, Apr 11, 2009 at 12:35 PM, Fahredd?n Basegmez wrote: > Hi, > > I have been developing a programmable scientific visualization > tool/rapid game maker with wxPython for a while. ?I recently released > the first public beta version that works on windows only. ?Now, I am > going to start working on a Linux version very soon. ?I have not > decided which distro to use yet but leaning towards Ubuntu. ?Could you > give me some feedback? ?What is the most popular distro in educational > institutes/settings? > > You can download the application from www.mekanimo.net. > > Also I have a 5 min video at > http://mekanimomedia.s3.amazonaws.com/tangram/Tangram.html > > If you try the application, I would appreciate your feedback about that too. > > Thanks in advance, > > Fahri Basegmez > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > From kirby.urner at gmail.com Sat Apr 11 21:53:29 2009 From: kirby.urner at gmail.com (kirby urner) Date: Sat, 11 Apr 2009 12:53:29 -0700 Subject: [Edu-sig] What Linux distro? In-Reply-To: References: <9a01273a0904111235u1a5169c6x68dddf63f7917eb5@mail.gmail.com> Message-ID: > If distributed as a Python egg or one of those disutil things > (setup.py), then which exact Linux distro should have to matter that > much. > ... should *not* have to matter so much, sorry. Python apps distribute independently of distro mechanisms like RPM, though if you get it up stream in Debian apt-get repository, then it starts to come through Synaptic in Ubuntu pretty quickly. It's not either/or then: could invite others to help you distribute however they want to distribute. The more distribution channels the better eh? Really liked the zero gravity piece. Of course I'm dreaming "fish tank" (spatial version) in OGL or one of those. Thanks again, Kirby From dkuhlman at rexx.com Sun Apr 12 02:31:32 2009 From: dkuhlman at rexx.com (Dave Kuhlman) Date: Sat, 11 Apr 2009 17:31:32 -0700 Subject: [Edu-sig] What Linux distro? In-Reply-To: <9a01273a0904111235u1a5169c6x68dddf63f7917eb5@mail.gmail.com> References: <9a01273a0904111235u1a5169c6x68dddf63f7917eb5@mail.gmail.com> Message-ID: <20090412003132.GA19888@cutter.rexx.com> On Sat, Apr 11, 2009 at 03:35:26PM -0400, Fahredd?n Basegmez wrote: > Hi, > > I have been developing a programmable scientific visualization > tool/rapid game maker with wxPython for a while. I recently released > the first public beta version that works on windows only. Now, I am > going to start working on a Linux version very soon. I have not > decided which distro to use yet but leaning towards Ubuntu. Could you > give me some feedback? What is the most popular distro in educational > institutes/settings? > You may want to look into Edubuntu. Perhaps it has features of particular use for your needs: http://www.ubuntu.com/products/WhatIsUbuntu/edubuntu And, yes, I love my Ubuntu GNU/Linux. I'm using Ubuntu 8.10, 64-bit version and it's super. I don't know what distribution you'd be most likely to find in an education setting. But, I believe that what is more important to you is packaging your app for installation on any Linux distro. Since your app has a dependency on wxPython, you might want to look at easy_install for packaging. (or have you already done that part?): http://peak.telecommunity.com/DevCenter/EasyInstall I watched your video. Your app looks super. Great work. - Dave > You can download the application from www.mekanimo.net. > > Also I have a 5 min video at > http://mekanimomedia.s3.amazonaws.com/tangram/Tangram.html > > If you try the application, I would appreciate your feedback about that too. > > Thanks in advance, > > Fahri Basegmez > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig -- Dave Kuhlman http://www.rexx.com/~dkuhlman From igor at tamarapatino.org Sun Apr 12 17:21:11 2009 From: igor at tamarapatino.org (Igor =?iso-8859-1?Q?T=E1mara?=) Date: Sun, 12 Apr 2009 10:21:11 -0500 Subject: [Edu-sig] What Linux distro? In-Reply-To: <9a01273a0904111235u1a5169c6x68dddf63f7917eb5@mail.gmail.com> References: <9a01273a0904111235u1a5169c6x68dddf63f7917eb5@mail.gmail.com> Message-ID: <20090412152111.GJ21023@tamarapatino.org> Hi, Fahredd?n> Hi, Fahredd?n> Fahredd?n> I have been developing a programmable scientific visualization Fahredd?n> tool/rapid game maker with wxPython for a while. I recently released Fahredd?n> the first public beta version that works on windows only. Now, I am Fahredd?n> going to start working on a Linux version very soon. I have not Fahredd?n> decided which distro to use yet but leaning towards Ubuntu. Could you Fahredd?n> give me some feedback? What is the most popular distro in educational Fahredd?n> institutes/settings? Fahredd?n> Take a look at debianedu[1], I guess Ubuntu will be propagated easily to Ubuntu if it gets packaged by or for Debian. On the other hand, take a look at easy_install[2] so dependencies won't be an issue, depending on the requirements of mekanimo it would be relatevely easy to make it redistributable on any distro. 1.http://wiki.debian.org/DebianEdu 2.http://peak.telecommunity.com/DevCenter/EasyInstall For now if you are using babel or something else to the internationalization, let me know where the repo is and I will be happy to help translating to spanish the app, or the website. Fahredd?n> You can download the application from www.mekanimo.net. Fahredd?n> Fahredd?n> Also I have a 5 min video at Fahredd?n> http://mekanimomedia.s3.amazonaws.com/tangram/Tangram.html Fahredd?n> Fahredd?n> If you try the application, I would appreciate your feedback about that too. Fahredd?n> Fahredd?n> Thanks in advance, Fahredd?n> Fahredd?n> Fahri Basegmez Fahredd?n> _______________________________________________ Fahredd?n> Edu-sig mailing list Fahredd?n> Edu-sig at python.org Fahredd?n> http://mail.python.org/mailman/listinfo/edu-sig -- Recomiendo Structio para obtener herramientas gratuitas para instituciones educativas http://structio.sourceforge.net -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: Digital signature URL: From jurgis.pralgauskis at gmail.com Mon Apr 13 13:40:31 2009 From: jurgis.pralgauskis at gmail.com (Jurgis Pralgauskis) Date: Mon, 13 Apr 2009 14:40:31 +0300 Subject: [Edu-sig] xturtle robocode idea?! In-Reply-To: <49D00041.3050201@aon.at> References: <34f4097d0903161721h60b3f859l5e4402f0cf2e769c@mail.gmail.com> <49BF37DA.5010508@aon.at> <34f4097d0903271807h6f065cb0n94ff593e7ea77a7b@mail.gmail.com> <49D00041.3050201@aon.at> Message-ID: <34f4097d0904130440u153146c4s753e7b21bb858a23@mail.gmail.com> > I've downloaded your robocode, but I couldn't run it, it displayed an error should be fixed https://launchpad.net/py-robocode/+announcement/2483 for further development I think to make ajax interface (but no deadline): so that user can connect and paste his tactics code, then the whole match would be done on server (using RawTurtle -- no graphics), and replayed in browser (on firefox canvas) according to logs ps.: for more in good thoughts interesting to look at http://zamboch.blogspot.com/2008/04/robocode-modules-draft.html maybe java robocode bots could be described via jython?? http://www.prasannatech.net/2008/09/implementing-java-interfaces-in-jython.html From mangabasi at gmail.com Mon Apr 13 19:46:13 2009 From: mangabasi at gmail.com (=?ISO-8859-9?Q?Fahredd=FDn_Basegmez?=) Date: Mon, 13 Apr 2009 13:46:13 -0400 Subject: [Edu-sig] Edu-sig Digest, Vol 69, Issue 17 In-Reply-To: References: Message-ID: <9a01273a0904131046m655d0dcbh64a740b252d44fef@mail.gmail.com> Hi Igor, Thanks for the links, I will check them. It seems like Ubuntu is the way to go. I need to experiment with different installation options to see how they work. Currently the application can be used in international environments but using non-ascii characters in the scripts/object naming caused some trouble. I recently heard an installation problem from Pakistan but in general do not have any first hand knowledge how difficult it is to install it and use it with non-ascii characters. If any of the windows users from a non-english speaking country can give some feedback that would be great. I am planning to use I18N in the near future for internationalization. Regards, Fahri Basegmez > Date: Sun, 12 Apr 2009 10:21:11 -0500 > From: Igor T?mara > Subject: Re: [Edu-sig] What Linux distro? > To: edu-sig at python.org > Message-ID: <20090412152111.GJ21023 at tamarapatino.org> > Content-Type: text/plain; charset="utf-8" > > Take a look at debianedu[1], I guess Ubuntu will be propagated > easily to Ubuntu if it gets packaged by or for Debian. On the other > hand, take a look at easy_install[2] so dependencies won't be an > issue, depending on the requirements of mekanimo it would be > relatevely easy to make it redistributable on any distro. > > 1.http://wiki.debian.org/DebianEdu > 2.http://peak.telecommunity.com/DevCenter/EasyInstall > > For now if you are using babel or something else to the > internationalization, let me know where the repo is and I will be > happy to help translating to spanish the app, or the website. > From andre.roberge at gmail.com Tue Apr 14 02:23:45 2009 From: andre.roberge at gmail.com (Andre Roberge) Date: Mon, 13 Apr 2009 21:23:45 -0300 Subject: [Edu-sig] Work started on new edu-sig page Message-ID: <7528bcdd0904131723y7fac42cdh8146b34d50da8c86@mail.gmail.com> Hi everyone, I finally found the time to get started on the new edu-sig page. To save any searching, the link is: http://www.python.org/community/sigs/current/edu-sig/ I have kept the old page around for comparison. It is very much "work in progress" which I will do my best to complete quickly - aiming to get it 95% complete by sometime tomorrow... Feel free to send me (or to the list) any comments or suggestions you may have. Cheers, Andr? -------------- next part -------------- An HTML attachment was scrubbed... URL: From andre.roberge at gmail.com Tue Apr 14 13:06:30 2009 From: andre.roberge at gmail.com (Andre Roberge) Date: Tue, 14 Apr 2009 08:06:30 -0300 Subject: [Edu-sig] New edu-sig page: first draft completed Message-ID: <7528bcdd0904140406x5505ad18v606d776ff90288f3@mail.gmail.com> Hi everyone, The first draft of the new edu-sig page is now complete. It can be found at its usual location: http://www.python.org/community/sigs/current/edu-sig The old page can be viewed (for a short while) at http://www.python.org/community/sigs/current/edu-sig/old_page/ As usual, feel free to comment and make suggestions. Cheers, Andr? -------------- next part -------------- An HTML attachment was scrubbed... URL: From droujkova at gmail.com Tue Apr 14 13:30:36 2009 From: droujkova at gmail.com (Maria Droujkova) Date: Tue, 14 Apr 2009 07:30:36 -0400 Subject: [Edu-sig] Considering Python for an algebra course Message-ID: Hello, I am new to this list. I am working on an algebra course where teens will create their own learning materials and share them as open educational resources (OERs). I'd like to organize the course around a computer environment. I have three candidates for it so far: Scratch, Geogebra and Python. I like these three because they all have robust communities of people sharing open source code. Scratch has the immediate multimedia appeal, is equally loved by boys and girls, and is very easy to get into. Minus: it's rather limited when it comes to a bit more advanced math. We tried to create fractals on it this Spring in a homeschool coop, and it was cumbersome. Geogebra was created specifically for the type of projects I want to run. It is easy enough to start, for kids. I find its specialization to be a limiting factor, though - it would be nice if kids saw the environment's potential beyond math. With Python, I have more questions than answers, because I am just starting to learn it. Do you think it will work for my purpose? Do I need to get a real programmer involved, or can I learn enough Python in a few months to help kids well enough, without being a specialist? What questions do I not know to ask? I would appreciate any pointers. -- Cheers, MariaD Make math your own, to make your own math. http://www.naturalmath.com social math site http://www.phenixsolutions.com empowering our innovations -------------- next part -------------- An HTML attachment was scrubbed... URL: From vceder at canterburyschool.org Tue Apr 14 15:02:56 2009 From: vceder at canterburyschool.org (Vern Ceder) Date: Tue, 14 Apr 2009 09:02:56 -0400 Subject: [Edu-sig] New edu-sig page: first draft completed In-Reply-To: <7528bcdd0904140406x5505ad18v606d776ff90288f3@mail.gmail.com> References: <7528bcdd0904140406x5505ad18v606d776ff90288f3@mail.gmail.com> Message-ID: <49E48980.3030501@canterburyschool.org> Andr?, Thanks for doing this, this is a much more up-to-date collection and should be a good starting point for everyone. Cheers, Vern Andre Roberge wrote: > Hi everyone, > > The first draft of the new edu-sig page is now complete. It can be > found at its usual location: > http://www.python.org/community/sigs/current/edu-sig > > The old page can be viewed (for a short while) at > http://www.python.org/community/sigs/current/edu-sig/old_page/ > > As usual, feel free to comment and make suggestions. > > Cheers, > > Andr? > > > ------------------------------------------------------------------------ > > _______________________________________________ > 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 mpaul213 at gmail.com Tue Apr 14 16:01:32 2009 From: mpaul213 at gmail.com (michel paul) Date: Tue, 14 Apr 2009 07:01:32 -0700 Subject: [Edu-sig] Considering Python for an algebra course In-Reply-To: References: Message-ID: <40ea4eb00904140701p440a83d7rfd0c3872ddc43e08@mail.gmail.com> Hi Maria, Yes, Python will definitely work for your purposes. And you can definitely learn enough in a few months without being a specialist to use with algebra kids. Guido's built in tutorial is great. That's how I started. Python is an absolutely amazing self-contained environment. Take a look at the turtle module. It's essentially Logo. I've had kids to projects with it, and they take to it very quickly. I show them a few things, like a 'spirosquare' function, and let them explore. And beyond just graphics, Python is perfect for creating lists of ordered pairs to study function behavior or for studying recursion. It's basically a super calculator that you can easily modify. I'm also a big GeoGebra fan as well. I use it all the time to create visuals for lessons. And it's also great for students to use for projects. But yes, for going beyond just math, Python is perfect, as it's a general purpose language. - Michel On Tue, Apr 14, 2009 at 4:30 AM, Maria Droujkova wrote: > Hello, > > I am new to this list. I am working on an algebra course where teens will > create their own learning materials and share them as open educational > resources (OERs). I'd like to organize the course around a computer > environment. I have three candidates for it so far: Scratch, Geogebra and > Python. I like these three because they all have robust communities of > people sharing open source code. > > Scratch has the immediate multimedia appeal, is equally loved by boys and > girls, and is very easy to get into. Minus: it's rather limited when it > comes to a bit more advanced math. We tried to create fractals on it this > Spring in a homeschool coop, and it was cumbersome. > > Geogebra was created specifically for the type of projects I want to run. > It is easy enough to start, for kids. I find its specialization to be a > limiting factor, though - it would be nice if kids saw the environment's > potential beyond math. > > With Python, I have more questions than answers, because I am just starting > to learn it. Do you think it will work for my purpose? Do I need to get a > real programmer involved, or can I learn enough Python in a few months to > help kids well enough, without being a specialist? What questions do I not > know to ask? > > I would appreciate any pointers. > > > > -- > Cheers, > MariaD > > Make math your own, to make your own math. > > http://www.naturalmath.com social math site > http://www.phenixsolutions.com empowering our innovations > > _______________________________________________ > 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: From lac at openend.se Tue Apr 14 17:30:25 2009 From: lac at openend.se (Laura Creighton) Date: Tue, 14 Apr 2009 17:30:25 +0200 Subject: [Edu-sig] Considering Python for an algebra course In-Reply-To: Message from michel paul of "Tue, 14 Apr 2009 07:01:32 PDT." <40ea4eb00904140701p440a83d7rfd0c3872ddc43e08@mail.gmail.com> References: <40ea4eb00904140701p440a83d7rfd0c3872ddc43e08@mail.gmail.com> Message-ID: <200904141530.n3EFUPin030705@theraft.openend.se> Depending on where you live, you might want to go to EuroPython. http://www.europython.eu/ We will be having a tutorial for people who are new to Python before the conference. That may be of interest as well. (now back to approving talks and sending out acceptence letters, so that people like you can find out what we are going to have ...) Laura From macquigg at ece.arizona.edu Tue Apr 14 19:49:25 2009 From: macquigg at ece.arizona.edu (David MacQuigg) Date: Tue, 14 Apr 2009 10:49:25 -0700 Subject: [Edu-sig] Considering Python for an algebra course In-Reply-To: Message-ID: <5.2.1.1.0.20090414082428.02d1c9a8@mail.ece.arizona.edu> At 07:30 AM 4/14/2009 -0400, Maria Droujkova wrote: >Hello, > >I am new to this list. I am working on an algebra course where teens will create their own learning materials and share them as open educational resources (OERs). You and your students are welcome to participate in PyWhip (http://pywhip.appspot.com/), work problems submitted by their teacher, and submit their own problems that might be interesting to other students. The site is not yet finished, but to get an idea of where we are headed, take a look at JavaBat.com. We are planning on doing everything JavaBat does, but doing it for Python, plus adding the ability for teachers to pick and choose which problems sets are included in a custom setup for their own students. >I'd like to organize the course around a computer environment. I have three candidates for it so far: Scratch, Geogebra and Python. I like these three because they all have robust communities of people sharing open source code. > >Scratch has the immediate multimedia appeal, is equally loved by boys and girls, and is very easy to get into. Minus: it's rather limited when it comes to a bit more advanced math. We tried to create fractals on it this Spring in a homeschool coop, and it was cumbersome. Probably slow as well. Python has the advantage that you can write exactly what you want in clear, readable, and teachable code, then if it is too slow, drop in a function written in C. I did that with a lecture on Mandelbrot fractals and got a 200X acceleration in computing an image. See the ECE175 notes at http://ece.arizona.edu/~edatools/index_classes.htm >Geogebra was created specifically for the type of projects I want to run. It is easy enough to start, for kids. I find its specialization to be a limiting factor, though - it would be nice if kids saw the environment's potential beyond math. They will never outgrow Python. >With Python, I have more questions than answers, because I am just starting to learn it. Do you think it will work for my purpose? Even with Python, there is a little bit of overhead in getting it set up, teaching kids to do a few simple things, deal with problems like killing pythonw.exe zombies on Windows, etc. It sounds like you are planning more than just a one-hour demo, so yes, the benefit is worth the effort. >Do I need to get a real programmer involved, or can I learn enough Python in a few months to help kids well enough, without being a specialist? Depends on your own background in programming, and whether you need to do anything unusual like accelerate a program with a function in C. My guess is the average math or science teacher will have no difficulty learning the basics of Python in a few weeks, and will get all the help they need from participants on this list. The tutorials at http://docs.python.org/3.0/tutorial/index.html and http://wiki.python.org/moin/BeginnersGuide are excellent, and the tutorials (help files) on PyWhip will be even better for teaching specific topics like logic, strings, etc. ************************************************************ * * David MacQuigg, PhD email: macquigg at ece.arizona.edu * * * Research Associate phone: USA 520-721-4583 * * * * ECE Department, University of Arizona * * * * 9320 East Mikelyn Lane * * * * http://purl.net/macquigg Tucson, Arizona 85710 * ************************************************************ * From kirby.urner at gmail.com Tue Apr 14 20:14:55 2009 From: kirby.urner at gmail.com (kirby urner) Date: Tue, 14 Apr 2009 11:14:55 -0700 Subject: [Edu-sig] Considering Python for an algebra course In-Reply-To: <5.2.1.1.0.20090414082428.02d1c9a8@mail.ece.arizona.edu> References: <5.2.1.1.0.20090414082428.02d1c9a8@mail.ece.arizona.edu> Message-ID: > Depends on your own background in programming, and whether you need to do anything unusual like accelerate a program with a function in C. ?My guess is the average math or science teacher will have no difficulty learning the basics of Python in a few weeks, and will get all the help they need from participants on this list. ?The tutorials at http://docs.python.org/3.0/tutorial/index.html and http://wiki.python.org/moin/BeginnersGuide are excellent, and the tutorials (help files) on PyWhip will be even better for teaching specific topics like logic, strings, etc. > Actually if you skip thinking like a computer scientist and just focus on algebra, i.e. namespaces and operator overloading within the first 20 minutes, then you'll leave these CS nerds in the dust within a year or two, won't need 'em as sysadmins even. :) Friendly competition: Python was never intended as a purely "CS offering", grew up in the real world as we say. Guido will correct me if I'm wrong (except he's in the reptile house at the San Diego zoo, away from his computer (I'm watching him through the glass (slither))): http://www.flickr.com/photos/17157315 at N00/3440228677/ Welcome aboard Maria, glad you've waded in to our waters. Scratch MIT is wonderful. Does it run on XO yet? There's no either/or dynamic in any of these choices. I'm also interested in Gattegno bricks from the UK, have seen it on iPhone but don't think we need "everything virtual" i.e. the polyhedra I'm using are often in plastic (Zome, CubeIT... StrangeAttractors) not just in pixels. I'm off to the Pycon videos stash to watch Gregor's talk on Turtle Graphics, which I missed catching live. I see the Jeff Rush talk has been published as well, which I'm eager to see again (it was brilliant). Kirby > ************************************************************ ? ? * > * David MacQuigg, PhD ? ?email: macquigg at ece.arizona.edu ? * ?* > * Research Associate ? ? ? ? ? ? ? ?phone: USA 520-721-4583 ? * ?* ?* > * ECE Department, University of Arizona ? ? ? ? ? ? ? ? ? ? ? * ?* ?* > * ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 9320 East Mikelyn Lane ? ? ? * * * > * http://purl.net/macquigg ? ? ? ?Tucson, Arizona 85710 ? ? ? ? ?* > ************************************************************ ? ? * > > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > From kirby.urner at gmail.com Tue Apr 14 22:10:37 2009 From: kirby.urner at gmail.com (kirby urner) Date: Tue, 14 Apr 2009 13:10:37 -0700 Subject: [Edu-sig] New edu-sig page: first draft completed In-Reply-To: <49E48980.3030501@canterburyschool.org> References: <7528bcdd0904140406x5505ad18v606d776ff90288f3@mail.gmail.com> <49E48980.3030501@canterburyschool.org> Message-ID: Ditto Vern's comments. Vern, your name came up in my comments to PSF, summarized in this blog post: http://controlroom.blogspot.com/2009/04/pybiz.html [ note to edu-sig: Steve Holden suggested more opportunities for prize worthy students with Vern volunteering to keep the Olympic flame going twixt Pycons -- hope no trademark infringement that I just said "Olympic" just then, thinking more like a lawyer now ** ] http://us.pycon.org/2008/conference/schedule/event/40/ Kirby ** intellectual property also big issue @ Gothenburg EuroPython: http://worldgame.blogspot.com/2005/07/more-on-gothenberg_25.html (plus a mere 24 meg re OSCON 2005 later that year, recapping some of the issues) On Tue, Apr 14, 2009 at 6:02 AM, Vern Ceder wrote: > Andr?, > > Thanks for doing this, this is a much more up-to-date collection and should > be a good starting point for everyone. > > Cheers, > Vern > > Andre Roberge wrote: >> >> Hi everyone, >> >> The first draft of the new edu-sig page is now complete. ?It can be found >> at its usual location: http://www.python.org/community/sigs/current/edu-sig >> >> The old page can be viewed (for a short while) at >> http://www.python.org/community/sigs/current/edu-sig/old_page/ >> >> As usual, feel free to comment and make suggestions. >> >> Cheers, >> >> Andr? >> >> >> ------------------------------------------------------------------------ >> >> _______________________________________________ >> 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 > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > From macquigg at ece.arizona.edu Tue Apr 14 22:38:27 2009 From: macquigg at ece.arizona.edu (David MacQuigg) Date: Tue, 14 Apr 2009 13:38:27 -0700 Subject: [Edu-sig] Considering Python for an algebra course In-Reply-To: References: <5.2.1.1.0.20090414082428.02d1c9a8@mail.ece.arizona.edu> <5.2.1.1.0.20090414082428.02d1c9a8@mail.ece.arizona.edu> Message-ID: <5.2.1.1.0.20090414130955.03d00a30@mail.ece.arizona.edu> At 11:14 AM 4/14/2009 -0700, kirby urner wrote: >> Depends on your own background in programming, and whether you need to do anything unusual like accelerate a program with a function in C. My guess is the average math or science teacher will have no difficulty learning the basics of Python in a few weeks, and will get all the help they need from participants on this list. The tutorials at http://docs.python.org/3.0/tutorial/index.html and http://wiki.python.org/moin/BeginnersGuide are excellent, and the tutorials (help files) on PyWhip will be even better for teaching specific topics like logic, strings, etc. > >Actually if you skip thinking like a computer scientist and just focus >on algebra, i.e. namespaces and operator overloading within the first >20 minutes, I think what you are saying is focus on teaching the language in the most efficient way possible, and leave the teaching of CS to others. I agree 100%. PhWhip is intended to help teachers avoid spending class time on syntax, and focus more of their efforts on teaching science, engineering, economics, whatever. CS is still important, even for non-CS majors. It's just not the focus of PyWhip. PyWhip is also not intended to be a complete self-study tool. Students need more than rote practice and repetition of what they see in examples. It takes both theory and practice to learn efficiently, at least for adults. Maybe kids are better at absorbing language without any theory. Their minds are like dry sponges, absorbing water for the first time. Adult minds are more like packed warehouses. We've got to move something out before we can squeeze other stuff in. We also have to keep the junk to a minimum, and that's where theory can help. It can help our brains decide what is worth keeping, and what we should ignore or forget. > then you'll leave these CS nerds in the dust within a year >or two, won't need 'em as sysadmins even. :) LOL. :>) You underestimate the power of the nerds to complexify our systems. Their jobs are secure! :>) -- Dave From kirby.urner at gmail.com Tue Apr 14 23:20:19 2009 From: kirby.urner at gmail.com (kirby urner) Date: Tue, 14 Apr 2009 14:20:19 -0700 Subject: [Edu-sig] Considering Python for an algebra course In-Reply-To: <5.2.1.1.0.20090414130955.03d00a30@mail.ece.arizona.edu> References: <5.2.1.1.0.20090414082428.02d1c9a8@mail.ece.arizona.edu> <5.2.1.1.0.20090414130955.03d00a30@mail.ece.arizona.edu> Message-ID: On Tue, Apr 14, 2009 at 1:38 PM, David MacQuigg wrote: > At 11:14 AM 4/14/2009 -0700, kirby urner wrote: > >>> Depends on your own background in programming, and whether you need to do anything unusual like accelerate a program with a function in C. ?My guess is the average math or science teacher will have no difficulty learning the basics of Python in a few weeks, and will get all the help they need from participants on this list. ?The tutorials at http://docs.python.org/3.0/tutorial/index.html and http://wiki.python.org/moin/BeginnersGuide are excellent, and the tutorials (help files) on PyWhip will be even better for teaching specific topics like logic, strings, etc. >> >>Actually if you skip thinking like a computer scientist and just focus >>on algebra, i.e. namespaces and operator overloading within the first >>20 minutes, > > I think what you are saying is focus on teaching the language in the most efficient way possible, and leave the teaching of CS to others. ?I agree 100%. ?PhWhip is intended to help teachers avoid spending class time on syntax, and focus more of their efforts on teaching science, engineering, economics, whatever. ?CS is still important, even for non-CS majors. ?It's just not the focus of PyWhip. > Not thinking about PyWhip in particular, just our need to get on towards our curriculum goals of playing with vectors all springing from a common origin, like sea urchins, their tips the vertexes defining v-to-v edges (like fences) around faces (or openings). V + F = E + 2 and all that, starting in 2nd, 3rd grade with the plastic volumes, skeletal construction kits, moving to Java applets like vZome once more at home with mouse-driving GUI (like Scratch, also suitable -- it's not either/or). Not saying this is the only way to go, just addressing Maria's Math Forum worry that our austere lexical environment would postpone gratification too long -- why having Scratch handy might be good for changing pace, also recess (real recess, not virtual recess). I was reassuring her that we have eye-candy galore if you'll agree to use scaffolding, i.e. FOSS already written, makes those polyhedra come alive (mites, sytes, kites... the stuff we do in Portland). http://www.4dsolutions.net/ocn/pymath.html PyWhip could be a stop along the tour, no question, not unlike Pippy in some ways. Maybe the XO crowd will start hitting your Appengine? That'd be cool. Do they have a signature in the HTTPrequest object somewhere (do you know if an XO visits a site, calling card of any kind, maybe because of the browser it's using?). > PyWhip is also not intended to be a complete self-study tool. ?Students need more than rote practice and repetition of what they see in examples. ?It takes both theory and practice to learn efficiently, at least for adults. ?Maybe kids are better at absorbing language without any theory. ?Their minds are like dry sponges, absorbing water for the first time. ?Adult minds are more like packed warehouses. ?We've got to move something out before we can squeeze other stuff in. ?We also have to keep the junk to a minimum, and that's where theory can help. ?It can help our brains decide what is worth keeping, and what we should ignore or forget. > Whatever happened to the Vaults of Parnassus? http://www.vex.net/parnassus/ We need more anthropology re Python Nation, Guido's "history of" blog already anchoring the genre. Tell us more, about mailman, about Zope, about everything... as lore though, not always as source code (we know there's that too -- hey, I used to be a Plone head, so sue me (metup with Alan @ Pycon again, sounds like he's happy in Texas)). We should explain explain Parnassus more e.g.: http://www.siouxwire.com/2008_09_01_archive.html """ Parnassus was the name affectionately given to Corsencon Hill near New Cumnock, Ayrshire, Scotland by the countries national bard - Robert Burns. It now has the longest conveyer belt in Europe - The Python - snaking past it, stretching 12.2km from an opencast mine to a railway junction. """ We all knew that right? >> then you'll leave these CS nerds in the dust within a year >>or two, won't need 'em as sysadmins even. :) > > LOL. :>) ?You underestimate the power of the nerds to complexify our systems. ?Their jobs are secure! :>) > > -- Dave > > The idea here is flagship pilot charters have their own intranets administered by students themselves under faculty supervision, except this is high school so there's no CS department, only a math department, English department and so on. English teaches DOM, math teaches sysop skills -- not exclusively, not like both don't have other things to be doing, but hey, four years is a long time to look into stuff. Remember: RSA during summer camp (or maybe DHM or both -- cryptography for kids, a popular pass time, with a long tradition to back it up. And now for something completely different... We have this weird "shell in the cloud" talk upcoming (OS Bridge), per last night's meeting: http://opensourcebridge.org/proposals/87 PPUG meeting tonight, might do a lightning talk on Red Cross situation. Someone with Oregon Trail group's CTO got back to me on my blog rant and we're thinking "it's Django time" (maybe, I'm quite taciturn, just wanted her to know that Cubespace might help, not saying me personally, do a free needs assessment maybe, Rails people could do one too -- Audrey?). Here's the rant: http://worldgame.blogspot.com/2009/04/frustrated-with-red-cross.html I've been freelance programming around Portland NGOs for like 20 years, have had Red Cross as a client, so it's not like I can't get along with these people. I'm quite easy to work with. Maria, I hope you check out PyWhip, could be a good resource for your students. Andre's new edu-sig page is a veritable goldmine. Should we be linking to Blender? I've always found it really hard to use, but maybe I just haven't watched the right blip.tv things yet. We all have our biases. I do respect it, just feel like I'm always a beginner in Blender circles. I'm a VPython fan, but it takes work to compile it, no one in my workshop had gotten that far (fortunately, we could still do show & tell). Kirby From andre.roberge at gmail.com Wed Apr 15 01:56:50 2009 From: andre.roberge at gmail.com (Andre Roberge) Date: Tue, 14 Apr 2009 20:56:50 -0300 Subject: [Edu-sig] Thoughts and observations... Message-ID: <7528bcdd0904141656y5a8a3e9dg46c5f91c65aae9c8@mail.gmail.com> Hi everyone, As I worked on the new edu-sig page, and got a few emails, I was struck how the use of Python in Computer Science seems to have taken off. I remember when we, on the edu-sig list, celebrated the publication of John Zelle's textbook, the first book published for a CS-1 course. For a number of years, Zelle's book was the only game in town. Now there are at least 5 university-level textbooks using Python - I would not be surprised to hear from more authors that I may have overlooked. --- Kirby's side observation about Blender struck a chord with me. I've tried to use Blender [actually, to have my kids use Blender ;-) ] a while ago but "we" never got to do anything decent with it - even after buying a book. I kept the Blender reference on the edu-sig (it was on the old page) but I am wondering if it really belongs there... --- The Python community is kind and generous. Queries to the pydotorg list (for website related matters) have been answered promptly and always helpfully. A few folks on the edu-sig list contacted me privately, offering suggestions included links to add to the new page. Please feel free to make more suggestions for improvements. And if you disagree with some of my more subjective statements on the edu-sig page, please do not hesitate to tell me. And I won't be offended at all if you point out some grammatical mistakes and the like - my kids do it all the time when I speak or write in English. Cheers, Andr? -------------- next part -------------- An HTML attachment was scrubbed... URL: From kirby.urner at gmail.com Wed Apr 15 03:47:01 2009 From: kirby.urner at gmail.com (kirby urner) Date: Tue, 14 Apr 2009 18:47:01 -0700 Subject: [Edu-sig] Thoughts and observations... In-Reply-To: <7528bcdd0904141656y5a8a3e9dg46c5f91c65aae9c8@mail.gmail.com> References: <7528bcdd0904141656y5a8a3e9dg46c5f91c65aae9c8@mail.gmail.com> Message-ID: << >> > Please feel free to make more suggestions for improvements.? And if you > disagree with some of my more subjective statements on the edu-sig page, > please do not hesitate to tell me.? And I won't be offended at all if you > point out some grammatical mistakes and the like - my kids do it all the > time when I speak or write in English. > > Cheers, > > Andr? Yes, I was thinking of this when writing about English teachers teaching DOM, the XML framework for storing all the web page elements, for JQuery modification based on anchoring tags or whatever, very JavaScript, very not going away. Same deal with other languages besides English, at least those in the Unicode base (my friend Gene Fowler calls it Amerish over here, with the stress on the 'mer', sounds kinda Tolkien, i.e. whether this is really English might be questionable to some, but I quibble). I do wonder about our policies for linking to obviously educational applications of Python that might excite readers, with the small problem that the sites in question are entirely in Chinese or some other language, hey, Swedish for that matter i.e. do we have any reason to make the links especially friendly to only-English speakers? That's just a question, am not winding up to give you a long winded reply any time soon I don't think. Because it's not my page anymore (cackle cackle, rubbing hands, Mr. Burns noises **). Anyway, let me say again I'm very pleased with our smooth transition to a next web wrangler for edu-sig. When I was first webmaster for BFI.org long ago, my whole shtick was how we need this to be a rotating position, give lots of talents opportunities to showcase their skills. But that was in the early days of all static hand-coded HTML. It's easier to share commit privileges when it's all running inside a DVSS I would imagine, and I'm looking forward to what creative strategies Andre comes up with, to take advantage of hg. Here's what I think will likely happen: vast education sites will arise, bursting with open source offerings, a lot of them Python, ballooning with lesson plans, with Python.org seemingly dwarfed because so tiny in comparison. And that's perfectly OK, because the challenge is to be an intelligent front end switchboard, like a stack of Django or App Engine regular expressions, dispatching to these giant universes of educational interest. Python.org doesn't ever have to bloat into something huge if it doesn't want to, even if Python grows in popularity for quite some time to come. The main focus of Python.org is simply to focus the community and make core versions available, in a reliable, safe and pleasant manner. Something along those lines. A prediction, let's see what really happens. Kirby ** http://images.google.com/images?hl=en&q=mr+burns From echerlin at gmail.com Wed Apr 15 11:45:52 2009 From: echerlin at gmail.com (Edward Cherlin) Date: Wed, 15 Apr 2009 02:45:52 -0700 Subject: [Edu-sig] Considering Python for an algebra course In-Reply-To: References: Message-ID: On Tue, Apr 14, 2009 at 4:30 AM, Maria Droujkova wrote: > Hello, > > I am new to this list. I am working on an algebra course where teens will > create their own learning materials and share them as open educational > resources (OERs). Welcome. I am working on a project to create free and freely licensed learning materials on every subject, with appropriate software integrated everywhere. http://wiki.sugarlabs.org/go/Creating_textbooks We would invite you to join in. > I'd like to organize the course around a computer > environment. I have three candidates for it so far: Scratch, Geogebra and > Python. I like these three because they all have robust communities of > people sharing open source code. Indeed. I'm focusing my own efforts on Turtle Art for elementary school math and Computer Science. We have several implementations, and I am working on extending them to cover more topics, as is Walter Bender of Sugar Labs. o Turtle Art in Sugar on the OLPC XO, written in Python, able to output Logo. o Kturtle o UCBLogo, written in C > Scratch has the immediate multimedia appeal, is equally loved by boys and > girls, and is very easy to get into. Minus: it's rather limited when it > comes to a bit more advanced math. We tried to create fractals on it this > Spring in a homeschool coop, and it was cumbersome. How so? Turtle Art now comes with some fractal examples, so I don't think it should really be that hard in Scratch. > Geogebra was created specifically for the type of projects I want to run. It > is easy enough to start, for kids. I find its specialization to be a > limiting factor, though - it would be nice if kids saw the environment's > potential beyond math. > > With Python, I have more questions than answers, because I am just starting > to learn it. Do you think it will work for my purpose? Do I need to get a > real programmer involved, or can I learn enough Python in a few months to > help kids well enough, without being a specialist? What questions do I not > know to ask? You can do as much math in NumPy and SciPy as you know. You may need some help from Pythonistas from time to time, but the whole idea is to let people program what they know without having to make the investment of time that C++ and other "professional" languages require. > I would appreciate any pointers. > > > > -- > Cheers, > MariaD > > Make math your own, to make your own math. > > http://www.naturalmath.com social math site > http://www.phenixsolutions.com empowering our innovations > > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > > -- Silent Thunder (??/???????????????/????????????? ?) is my name And Children are my nation. The Cosmos is my dwelling place, The Truth my destination. http://earthtreasury.org/worknet (Edward Mokurai Cherlin) From macquigg at ece.arizona.edu Thu Apr 16 02:45:14 2009 From: macquigg at ece.arizona.edu (David MacQuigg) Date: Wed, 15 Apr 2009 17:45:14 -0700 Subject: [Edu-sig] New edu-sig page: first draft completed In-Reply-To: <7528bcdd0904140406x5505ad18v606d776ff90288f3@mail.gmail.co m> Message-ID: <5.2.1.1.0.20090415171845.03d7d5b0@mail.ece.arizona.edu> Hi Andre, Nice work. I have two suggestions, and a few minor edits. On the choice between Python 2 and 3, I would say teach both, but limit the Python 2 syntax to your specific needs. Most students will see the print statement as the only difference, and learning both is not much burden, particularly if we make it an object lesson in not painting yourself into a corner with an inflexible initial design, which breaks backward compatibility when the enhancements to the original syntax get to be too much. On the use of a terminal window instead of IDLE, I can't see any advantage, except in a few very special situations, like when I am editing a program that uses tkinter, and there is a conflict between the program and IDLE, so I edit in IDLE and run from the terminal window. Those situations can be dealt with in whatever help file is guiding the student in each situation. I don't see any need to say "if you like programming directly from a terminal window". Here are some suggested minor edits: prefer to rely on --> prefer to have If you are among this group, you might --> You might The purpose of this section ... but to focus only --> Here we will focus only potential interests for educators --> potential interest to educators The following may be of interest for children, --> For children, and get independent feedback --> and get immediate feedback much fewer people --> many fewer people much fewer free software --> much less free software for making game: --> for making games: -- Dave From andre.roberge at gmail.com Thu Apr 16 04:06:45 2009 From: andre.roberge at gmail.com (Andre Roberge) Date: Wed, 15 Apr 2009 23:06:45 -0300 Subject: [Edu-sig] New edu-sig page: first draft completed In-Reply-To: <5.2.1.1.0.20090415171845.03d7d5b0@mail.ece.arizona.edu> References: <5.2.1.1.0.20090415171845.03d7d5b0@mail.ece.arizona.edu> Message-ID: <7528bcdd0904151906u380ef0c1r7f84b52494528373@mail.gmail.com> Hi David, On Wed, Apr 15, 2009 at 9:45 PM, David MacQuigg wrote: > Hi Andre, > > Nice work. I have two suggestions, and a few minor edits. > > On the choice between Python 2 and 3, I would say teach both, but limit the > Python 2 syntax to your specific needs. Most students will see the print > statement as the only difference, and learning both is not much burden, > particularly if we make it an object lesson in not painting yourself into a > corner with an inflexible initial design, which breaks backward > compatibility when the enhancements to the original syntax get to be too > much. > I do like the suggestion ... but there is more than print to consider, even for beginners. The most obvious change is for the integer division. Another significant change deals with input()/raw_input() - longtimer on edu-sig list will probably remember the discussion that took place here and contributed to persuade Guido van Rossum not to eliminate them altogether from Python 3. I have tried to put words to that effect while incorporating your suggestion. > > On the use of a terminal window instead of IDLE, I can't see any advantage, > except in a few very special situations, like when I am editing a program > that uses tkinter, and there is a conflict between the program and IDLE, so > I edit in IDLE and run from the terminal window. Those situations can be > dealt with in whatever help file is guiding the student in each situation. > I don't see any need to say "if you like programming directly from a > terminal window". > You're right, of course, when it comes to students. I was thinking of some "hard-core" teachers and trying to address their "needs" at the same time... I've changed the wording somewhat; let me know (David and/or everyone else) if I missed the boat. > > Here are some suggested minor edits: > prefer to rely on --> prefer to have > If you are among this group, you might --> You might > The purpose of this section ... but to focus only --> Here we will focus > only > potential interests for educators --> potential interest to educators > The following may be of interest for children, --> For children, > and get independent feedback --> and get immediate feedback > much fewer people --> many fewer people > much fewer free software --> much less free software > for making game: --> for making games: > Thanks for pointing out these errors. I should have noticed some (all?) of them - I do mix often "much" and "many" even though I should know better. I'm sure there are a few other "ackward" parts of sentences left here and there - hopefully they will be edited out as I revise the page (and get more suggestions ;-) Cheers, Andr? > > -- Dave > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From kirby.urner at gmail.com Thu Apr 16 04:07:09 2009 From: kirby.urner at gmail.com (kirby urner) Date: Wed, 15 Apr 2009 19:07:09 -0700 Subject: [Edu-sig] New edu-sig page: first draft completed In-Reply-To: <5.2.1.1.0.20090415171845.03d7d5b0@mail.ece.arizona.edu> References: <5.2.1.1.0.20090415171845.03d7d5b0@mail.ece.arizona.edu> Message-ID: On Wed, Apr 15, 2009 at 5:45 PM, David MacQuigg wrote: > Hi Andre, > > Nice work. ?I have two suggestions, and a few minor edits. > > On the choice between Python 2 and 3, I would say teach both, but limit the Python 2 syntax to your specific needs. ?Most students will see the print statement as the only difference, and learning both is not much burden, particularly if we make it an object lesson in not painting yourself into a corner with an inflexible initial design, which breaks backward compatibility when the enhancements to the original syntax get to be too much. > I'm not sure this is the object lesson. Rather, a language designer, no matter how brilliant, is likely to make at least a few basic design choices which she or he later regrets, but the fixing of which would by this time break backward compatibility, as the suggested changes are rather primitive (some of them). So then one builds a break point into the time line, has a __future__ convention, gets people ready well ahead of time. Spoofing the Y2K hysteria was a final stroke of brilliance. Now we've successfully made the leap, fixed some base problems, and the previous dino Pythons are still there, a veritable Jurassic Park of living monsters, happy to take the stress of 2.x code piles for eons to come (where eon is somewhat undefined in this namespace). I think your parody picture, of Python becoming top-heavy with syntactic sugar and toppling over in a mess, leaving us needing to teach two versions to noobs, with print() the only real difference, is more a mockery of the actual situation. In actual fact, it's somewhat easier to go 3-to-2 than 2-to-3, and 3 really does fix some problems (like division, and not having two kinds of classes -- "classic classes", somewhat a spoof on "classic coke", need to go away). If you're a fresh face around Python Nation, and not trying to join an existing commit team already committed to an older version, then green field development is the name of your game. Or maybe you're waiting for a library to catch up. In my case, that's somewhat true, as VPython is not yet available for 3.0, so our Vector class sits languishing. I'm field testing a class decorator solution, to retrofit the visual API to my Vector and Edge objects, both investors in the OpenGL cylinder concept. I ran that by PPUG earlier today in fact, for peer review. Kirby > On the use of a terminal window instead of IDLE, I can't see any advantage, except in a few very special situations, like when I am editing a program that uses tkinter, and there is a conflict between the program and IDLE, so I edit in IDLE and run from the terminal window. ?Those situations can be dealt with in whatever help file is guiding the student in each situation. ?I don't see any need to say "if you like programming directly from a terminal window". > > Here are some suggested minor edits: > prefer to rely on --> prefer to have > If you are among this group, you might --> You might > The purpose of this section ... but to focus only --> Here we will focus only > potential interests for educators --> potential interest to educators > The following may be of interest for children, --> For children, > and get independent feedback --> and get immediate feedback > much fewer people --> many fewer people > much fewer free software --> much less free software > for making game: --> for making games: > > -- Dave > > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > From kirby.urner at gmail.com Thu Apr 16 05:59:03 2009 From: kirby.urner at gmail.com (kirby urner) Date: Wed, 15 Apr 2009 20:59:03 -0700 Subject: [Edu-sig] Praise for Gregor's talk (piggy-backing links to mine -- Kirby) Message-ID: Gregor, great job with this: Seven ways to use Python's new turtle module: http://pycon.blip.tv/file/1947495/ I'm so glad Pycon had its video act so much more together this year. This is an example of a talk I didn't want to miss, and thanks to this year's organizers, I'm able to appreciate much better what Gregor has been up to. Your students are lucky to have such a creative and also diligent guy -- plus you have some talented friends I notice. Thanks again, Kirby Note: There's a pretty generous helping from my extra cost workshop, not the whole 3 hrs, but almost half: http://pycon.blip.tv/file/1998267/ (57 minutes) http://blip.tv/file/1997995 ( 6 mins) Maybe there's more in the pipeline I don't know, but this is enough to give the flavor. Some of what's missing: Ian contributed a video about Diffie-Helman plus I had my Xtranormal cartoon to show (I think twice): http://worldgame.blogspot.com/2009/02/regarding-objectifying.html (blogged version) Steve Holden had more speaking parts, especially towards the end. From macquigg at ece.arizona.edu Thu Apr 16 21:17:04 2009 From: macquigg at ece.arizona.edu (David MacQuigg) Date: Thu, 16 Apr 2009 12:17:04 -0700 Subject: [Edu-sig] New edu-sig page: first draft completed In-Reply-To: References: <5.2.1.1.0.20090415171845.03d7d5b0@mail.ece.arizona.edu> <5.2.1.1.0.20090415171845.03d7d5b0@mail.ece.arizona.edu> Message-ID: <5.2.1.1.0.20090416113144.02d176d0@mail.ece.arizona.edu> At 07:07 PM 4/15/2009 -0700, kirby urner wrote: >> On the choice between Python 2 and 3, I would say teach both, but limit the Python 2 syntax to your specific needs. Most students will see the print statement as the only difference, and learning both is not much burden, particularly if we make it an object lesson in not painting yourself into a corner with an inflexible initial design, which breaks backward compatibility when the enhancements to the original syntax get to be too much. > >I'm not sure this is the object lesson. Rather, a language designer, >no matter how brilliant, is likely to make at least a few basic design >choices which she or he later regrets, but the fixing of which would >by this time break backward compatibility, as the suggested changes >are rather primitive (some of them). So then one builds a break point >into the time line, has a __future__ convention, gets people ready >well ahead of time. There may be two lessons to learn from the breakage of the print statement. One, as you suggest, is that even the most brilliant designer can make mistakes. The lesson I had in mind is much more specific and "actionable". When you design a function, use keyword arguments to allow for future modifications. New keywords can be added, and old ones deprecated, without breaking existing programs. The same lesson can be emphasized with examples comparing lists to dictionaries, or looking at the syntax in common protocols like SMTP. Never assume things won't change. Design for the future. Make it a habit. It is amazing to me how this lesson is ignored by professional programmers, "design-by" committees, and even programmers working on big projects they know will be around for years. Look at the original design of SMTP. The HELO command had no allowance for extra parameters. They had to change to a whole new EHLO command, and mandate an awkward recovery sequence to be used when an old receiver choked on the new EHLO command. Guess what. They still didn't allow any flexibility in the syntax of the new EHLO command!! Spammers took over email, and we have now wasted 10 years debating how a transmitter should declare the domain accepting responsibility for a requested mail session. Wouldn't it be nice if we could just add a few characters to the request, like 'ID=yahoo.com'. This substring would be interpreted correctly by new receivers, and ignored by old ones. Sorry to ramble on about my pet peeves, I'm sure anyone with experience can come up with their own examples. -- Dave From wescpy at gmail.com Thu Apr 16 22:39:12 2009 From: wescpy at gmail.com (wesley chun) Date: Thu, 16 Apr 2009 13:39:12 -0700 Subject: [Edu-sig] [ANN] upcoming Python education events (Apr-Jul) Message-ID: <78b3a9580904161339s1bbea0a8l677ef94c80127c1b@mail.gmail.com> i'm doing 3 Python knowledge/education events within the next few months. 1. APRIL: O'Reilly/Safari Books Online "What is Python?" webcast (FREE to all) http://www.safaribooksonline.com/events/WhatIsPython.html 2. JUNE: Comprehensive Introduction to Python (3-day training course in San Francisco open to everyone!) http://mail.python.org/pipermail/python-list/2009-April/708428.html (significant discount for primary and secondary teachers!) 3. JULY: O'Reilly Open Source Convention Tutorial instructor and session speaker (San Jose, CA) http://en.oreilly.com/oscon2009/public/schedule/speaker/44470 if you have any questions, please let me know! hope to meet (or "meet") you at one or all! cheers, -- wesley - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - "Core Python Programming", Prentice Hall, (c)2007,2001 "Python Fundamentals", Prentice Hall, (c)2009 http://corepython.com "Python Web Development with Django", Addison Wesley, (c) 2009 http://withdjango.com wesley.j.chun :: wescpy-at-gmail.com python training and technical consulting cyberweb.consulting : silicon valley, ca http://cyberwebconsulting.com From kirby.urner at gmail.com Thu Apr 16 22:49:42 2009 From: kirby.urner at gmail.com (kirby urner) Date: Thu, 16 Apr 2009 13:49:42 -0700 Subject: [Edu-sig] New edu-sig page: first draft completed In-Reply-To: <5.2.1.1.0.20090416113144.02d176d0@mail.ece.arizona.edu> References: <5.2.1.1.0.20090415171845.03d7d5b0@mail.ece.arizona.edu> <5.2.1.1.0.20090416113144.02d176d0@mail.ece.arizona.edu> Message-ID: Yeah, I like those programs with (args, kwargs) for everything (not). A catchall eat_your( **spinach ) could be the signature of this programming style. Better that than a lot of side-effects though. I agree with Patrick O'Brien (missed seeing this year) that FoxPro was too reliant on globals, still gave a lot of power to DB managers though. http://www.ibm.com/developerworks/library/l-pyint.html [ Patrick worked on wxPython tools inspiring more introspective shell genre, went on to pioneer Schevo, a worthy target of study for any CS major looking for something interesting I would imagine ] http://www.schevo.org/wiki/ObjectRelationalDivide Anyway, I just wanted to encourage our herding of noobs (could be experienced LISPers) into the 3.x tunnel, as the 2.x tunnel is deprecated for theoretical work i.e. if you're "in it for the language" (like a connoisseur of fine wines) then Python 3.x is simply a better Python, at least so far. Better unicode handling for one thing (top-level Chinese if you like (a focus of my Python for Teachers, now out in 57 and 3 min formats (creature feature, short teaser))). Kirby On Thu, Apr 16, 2009 at 12:17 PM, David MacQuigg wrote: > At 07:07 PM 4/15/2009 -0700, kirby urner wrote: > >>> On the choice between Python 2 and 3, I would say teach both, but limit the Python 2 syntax to your specific needs. ?Most students will see the print statement as the only difference, and learning both is not much burden, particularly if we make it an object lesson in not painting yourself into a corner with an inflexible initial design, which breaks backward compatibility when the enhancements to the original syntax get to be too much. >> >>I'm not sure this is the object lesson. ?Rather, a language designer, >>no matter how brilliant, is likely to make at least a few basic design >>choices which she or he later regrets, but the fixing of which would >>by this time break backward compatibility, as the suggested changes >>are rather primitive (some of them). ?So then one builds a break point >>into the time line, has a __future__ convention, gets people ready >>well ahead of time. > > There may be two lessons to learn from the breakage of the print statement. ?One, as you suggest, is that even the most brilliant designer can make mistakes. ?The lesson I had in mind is much more specific and "actionable". ?When you design a function, use keyword arguments to allow for future modifications. ?New keywords can be added, and old ones deprecated, without breaking existing programs. ?The same lesson can be emphasized with examples comparing lists to dictionaries, or looking at the syntax in common protocols like SMTP. ?Never assume things won't change. ?Design for the future. ?Make it a habit. > > It is amazing to me how this lesson is ignored by professional programmers, "design-by" committees, and even programmers working on big projects they know will be around for years. ?Look at the original design of SMTP. ?The HELO command had no allowance for extra parameters. ?They had to change to a whole new EHLO command, and mandate an awkward recovery sequence to be used when an old receiver choked on the new EHLO command. > > Guess what. ?They still didn't allow any flexibility in the syntax of the new EHLO command!! ?Spammers took over email, and we have now wasted 10 years debating how a transmitter should declare the domain accepting responsibility for a requested mail session. ?Wouldn't it be nice if we could just add a few characters to the request, like 'ID=yahoo.com'. ?This substring would be interpreted correctly by new receivers, and ignored by old ones. > > Sorry to ramble on about my pet peeves, I'm sure anyone with experience can come up with their own examples. > > -- Dave > > From vceder at canterburyschool.org Fri Apr 17 21:42:39 2009 From: vceder at canterburyschool.org (Vern Ceder) Date: Fri, 17 Apr 2009 15:42:39 -0400 Subject: [Edu-sig] PSF Grant Message-ID: <49E8DBAF.9020304@canterburyschool.org> Hi everyone, I just wanted to report that Steve Holden and the PSF have made good on their pledge to support outreach to education in a very concrete and generous way. The PSF has voted to give me a grant of $500 to help cover my travel to the National Educational Computing Conference this June to give a presentation on Python in the K12 curriculum (with Jeff Elkner, if the stars align just right). I've been traveling to NECC to make this pitch to teachers from across the country for the past 3 years, so getting a little outside funding is a welcome relief to my headmaster and definite boon to my travel budget. My sincere thanks to Steve and the PSF for their support and especially to those (like Kirby) who spoke up on my behalf. I think the message that Steve wants to get out is that the PSF is willing to devote some resources to furthering the connection between Python and the education world, but they need us to come forward with the projects. In connection with our proposed PyCon presence I'd really like to start building both a list of our various efforts to spread the word about Python in education and a tradition of announcing all of those efforts, possibly on this forum. Cheers, Vern -- 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 andre.roberge at gmail.com Fri Apr 17 22:03:49 2009 From: andre.roberge at gmail.com (Andre Roberge) Date: Fri, 17 Apr 2009 17:03:49 -0300 Subject: [Edu-sig] PSF Grant In-Reply-To: <49E8DBAF.9020304@canterburyschool.org> References: <49E8DBAF.9020304@canterburyschool.org> Message-ID: <7528bcdd0904171303nb4455ewa80a50ffd5db64c4@mail.gmail.com> On Fri, Apr 17, 2009 at 4:42 PM, Vern Ceder wrote: > Hi everyone, > > I just wanted to report that Steve Holden and the PSF have made good on > their pledge to support outreach to education in a very concrete and > generous way. The PSF has voted to give me a grant of $500 to help cover my > travel to the National Educational Computing Conference this June to give a > presentation on Python in the K12 curriculum (with Jeff Elkner, if the stars > align just right). > Great! Thanks Steve (if you're reading!) > > I've been traveling to NECC to make this pitch to teachers from across the > country for the past 3 years, so getting a little outside funding is a > welcome relief to my headmaster and definite boon to my travel budget. > > My sincere thanks to Steve and the PSF for their support and especially to > those (like Kirby) who spoke up on my behalf. > Yes, thanks Kirby and congratulations on being elected a member of the PSF. > > I think the message that Steve wants to get out is that the PSF is willing > to devote some resources to furthering the connection between Python and the > education world, but they need us to come forward with the projects. In > connection with our proposed PyCon presence I'd really like to start > building both a list of our various efforts to spread the word about Python > in education and a tradition of announcing all of those efforts, possibly on > this forum. > Please, let us know how it goes at the NECC. Andr? > > Cheers, > Vern > -- > 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 > _______________________________________________ > 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: From annaraven at gmail.com Fri Apr 17 23:19:32 2009 From: annaraven at gmail.com (Anna Ravenscroft) Date: Fri, 17 Apr 2009 14:19:32 -0700 Subject: [Edu-sig] PSF Grant In-Reply-To: <49E8DBAF.9020304@canterburyschool.org> References: <49E8DBAF.9020304@canterburyschool.org> Message-ID: Awesome news Vern! Thanks for letting us know. On Fri, Apr 17, 2009 at 12:42 PM, Vern Ceder wrote: > Hi everyone, > > I just wanted to report that Steve Holden and the PSF have made good on > their pledge to support outreach to education in a very concrete and > generous way. The PSF has voted to give me a grant of $500 to help cover my > travel to the National Educational Computing Conference this June to give a > presentation on Python in the K12 curriculum (with Jeff Elkner, if the stars > align just right). > > I've been traveling to NECC to make this pitch to teachers from across the > country for the past 3 years, so getting a little outside funding is a > welcome relief to my headmaster and definite boon to my travel budget. > > My sincere thanks to Steve and the PSF for their support and especially to > those (like Kirby) who spoke up on my behalf. > > I think the message that Steve wants to get out is that the PSF is willing > to devote some resources to furthering the connection between Python and the > education world, but they need us to come forward with the projects. In > connection with our proposed PyCon presence I'd really like to start > building both a list of our various efforts to spread the word about Python > in education and a tradition of announcing all of those efforts, possibly on > this forum. > > Cheers, > Vern > -- > 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 > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > -- cordially, Anna -- I am the mother of all things and all things shall wear a sweater! From kirby.urner at gmail.com Sat Apr 18 02:04:05 2009 From: kirby.urner at gmail.com (kirby urner) Date: Fri, 17 Apr 2009 17:04:05 -0700 Subject: [Edu-sig] PSF Grant In-Reply-To: <7528bcdd0904171303nb4455ewa80a50ffd5db64c4@mail.gmail.com> References: <49E8DBAF.9020304@canterburyschool.org> <7528bcdd0904171303nb4455ewa80a50ffd5db64c4@mail.gmail.com> Message-ID: >> My sincere thanks to Steve and the PSF for their support and especially to >> those (like Kirby) who spoke up on my behalf. > That's because I knew you could handle the stress, whereas most guys 'n dolls (Chicago namespace) would crack in your position (smile). Should be a fun ride. If I discover a seriously undiscovered Python prodigy type (happens a lot in Portland), maybe I'll forward a link to the project pages. It's nice to know there's a night watchman between Pycons, screening for class acts. This reminds me of what linxfund.org is about, in terms of spotting key projects and helping them get the funding they deserve. Here's the track record: http://linuxfund.org/projects/past/ Of course you'll have your own interpretation of what's needed, based on experience, just offering some templates. Hey, should "Python Nation" have its own Visa card like Linuxfund does? "A donation is made every time you use the card, allowing you to participate in serious philanthropy with no out-of-pocket cost to yourself." > Yes, thanks Kirby and congratulations on being elected a member of the PSF. I'm proud of our entering Class of 09, my hearty congrats to Electric Duncan, likewise joining: http://oubiwann.blogspot.com/2009/04/newest-members-of-psf.html Of course we're all Slytherin in here (sorry, couldn't resist). Kirby >> >> I think the message that Steve wants to get out is that the PSF is willing >> to devote some resources to furthering the connection between Python and the >> education world, but they need us to come forward with the projects. In >> connection with our proposed PyCon presence I'd really like to start >> building both a list of our various efforts to spread the word about Python >> in education and a tradition of announcing all of those efforts, possibly on >> this forum. I think as the word spreads around Python we'll see more town-gown blending in the blogosphere, with more teachers like Maria taking an interest in things Pythonic: http://www.naturalmath.com/index.php?option=com_jd-wp Another technoliterate teacher: http://www.speedofcreativity.org/ So I imagine we're recruiting show-off teachers as well, not just Harry Potters and Hermiones. Let's snag us a Dumbledore, no wait, we've already got Ed Cherlin :). http://www.flickr.com/photos/toepfer/2254179681/ (a *real* wizard) Kirby > > Please, let us know how it goes at the NECC. > > Andr? >> >> Cheers, >> Vern >> -- >> 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 >> _______________________________________________ >> Edu-sig mailing list >> Edu-sig at python.org >> http://mail.python.org/mailman/listinfo/edu-sig > > > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > > From roberto03 at gmail.com Sat Apr 18 20:35:38 2009 From: roberto03 at gmail.com (roberto) Date: Sat, 18 Apr 2009 20:35:38 +0200 Subject: [Edu-sig] PSF Grant In-Reply-To: References: <49E8DBAF.9020304@canterburyschool.org> <7528bcdd0904171303nb4455ewa80a50ffd5db64c4@mail.gmail.com> Message-ID: <4bcde3e10904181135p35bb56e4i93efb9aaf78ed96f@mail.gmail.com> On Sat, Apr 18, 2009 at 2:04 AM, kirby urner wrote: > >>> >>> I think the message that Steve wants to get out is that the PSF is willing >>> to devote some resources to furthering the connection between Python and the >>> education world, but they need us to come forward with the projects. In >>> connection with our proposed PyCon presence I'd really like to start >>> building both a list of our various efforts to spread the word about Python >>> in education and a tradition of announcing all of those efforts, possibly on >>> this forum. > > I think as the word spreads around Python we'll see more town-gown > blending in the blogosphere, with more teachers like Maria taking an > interest in things Pythonic: > great ! i am currently organizing the first edition of a summer course dealing exclusively with math and python for high school students i'll take into consideration the possibility of getting support, in some way good luck -- roberto OS: GNU/Linux Debian Kubuntu, Edubuntu From lac at openend.se Sun Apr 19 21:07:56 2009 From: lac at openend.se (Laura Creighton) Date: Sun, 19 Apr 2009 21:07:56 +0200 Subject: [Edu-sig] What version of Python to teach .... Message-ID: <200904191907.n3JJ7ues020236@theraft.openend.se> One note: It is very important to teach your students how to read code. I think that this is even more important that teaching them how to write code -- not only will they spend more time reading code than writing code in their lives, but it is through reading other people's code that you can learn any technique for writing code. (Well, that, and a whole lot of practice, but a certain amount of reading of code every day can cut down on the number of things that you have to learn by doing.) There isn't a lot of Python 3.0 code out there to read. So even if you are only teaching your students how to write 3.0, you will still have to teach them how to read 2.x. Just thought I would mention it before I forgot, Laura From echerlin at gmail.com Sun Apr 19 21:49:17 2009 From: echerlin at gmail.com (Edward Cherlin) Date: Sun, 19 Apr 2009 12:49:17 -0700 Subject: [Edu-sig] What version of Python to teach .... In-Reply-To: References: <200904191907.n3JJ7ues020236@theraft.openend.se> Message-ID: On Sun, Apr 19, 2009 at 12:07 PM, Laura Creighton wrote: > > One note: > It is very important to teach your students how to read code. ?I think that > this is even more important that teaching them how to write code -- not > only will they spend more time reading code than writing code in their > lives, but it is through reading other people's code that you can learn > any technique for writing code. ?(Well, that, and a whole lot of practice, > but a certain amount of reading of code every day can cut down on the > number of things that you have to learn by doing.) > > There isn't a lot of Python 3.0 code out there to read. ?So even if you > are only teaching your students how to write 3.0, you will still have to > teach them how to read 2.x. I wonder how much of that is needed. You do need to teach them how to convert 2.x code to 3.0, but in many cases this is not too burdensome. http://www.comp.leeds.ac.uk/nde/papers/teachpy3.html The Python 3.0 distribution comes with a refactoring tool called 2to3, intended to assist with the translation of Python 2.x code to Python 3.0. The tool operates on stdin, individual files or an entire directory tree. It writes a unified diff patch for each .py file to stdout, and a summary of which files needed changes to stderr. With the -w command line option, it will create a back-up of each file and then apply the patch to the file. An an experiment, we tried running the 2to3 tool provided in the third alpha release of Python 3.0 on the collection of example programs used in our first-year programming lectures [10], using the -w option to apply the patches. The tool took 47.2 seconds to process 147 .py files [11] and changed 77 of them (52% of the total). In 80% of cases, the changes involved console I/O only and no manual intervention was required to produce satisfactory code. In 5% of cases, 2to3 produced code that ran correctly but was redundant in some way. (A conversion example follows). It would be interesting to go through this collection of examples used in teaching 2.x, and find out how much of the new code just works, and what are the remaining issues. This might be the basis for a book. > Just thought I would mention it before I forgot, > Laura > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig -- Silent Thunder (??/???????????????/????????????? ?) is my name And Children are my nation. The Cosmos is my dwelling place, The Truth my destination. http://earthtreasury.org/worknet (Edward Mokurai Cherlin) From lac at openend.se Sun Apr 19 22:05:43 2009 From: lac at openend.se (Laura Creighton) Date: Sun, 19 Apr 2009 22:05:43 +0200 Subject: [Edu-sig] What version of Python to teach .... In-Reply-To: Message from Edward Cherlin of "Sun, 19 Apr 2009 12:49:17 PDT." References: <200904191907.n3JJ7ues020236@theraft.openend.se> Message-ID: <200904192005.n3JK5hZC023323@theraft.openend.se> In a message of Sun, 19 Apr 2009 12:49:17 PDT, Edward Cherlin writes: >On Sun, Apr 19, 2009 at 12:07 PM, Laura Creighton wrote: >> >> One note: >> It is very important to teach your students how to read code. ??I think t >hat >> this is even more important that teaching them how to write code -- not >> only will they spend more time reading code than writing code in their >> lives, but it is through reading other people's code that you can learn >> any technique for writing code. ??(Well, that, and a whole lot of practic >e, >> but a certain amount of reading of code every day can cut down on the >> number of things that you have to learn by doing.) >> >> There isn't a lot of Python 3.0 code out there to read. ??So even if you >> are only teaching your students how to write 3.0, you will still have t >o >> teach them how to read 2.x. > >I wonder how much of that is needed. You do need to teach them how to >convert 2.x code to 3.0, >but in many cases this is not too burdensome. > >http://www.comp.leeds.ac.uk/nde/papers/teachpy3.html > >The Python 3.0 distribution comes with a refactoring tool called 2to3, >intended to assist with the translation of Python 2.x code to Python >3.0. The tool operates on stdin, individual files or an entire >directory tree. It writes a unified diff patch for each .py file to >stdout, and a summary of which files needed changes to stderr. With >the -w command line option, it will create a back-up of each file and >then apply the patch to the file. > >An an experiment, we tried running the 2to3 tool provided in the third >alpha release of Python 3.0 on the collection of example programs used >in our first-year programming lectures [10], using the -w option to >apply the patches. The tool took 47.2 seconds to process 147 .py files >[11] and changed 77 of them (52% of the total). > >In 80% of cases, the changes involved console I/O only and no manual >intervention was required to produce satisfactory code. In 5% of >cases, 2to3 produced code that ran correctly but was redundant in some >way. > >(A conversion example follows). > >It would be interesting to go through this collection of examples >used in teaching 2.x, and find out how much of the new code just >works, and what are the remaining issues. This might be the basis for >a book. > >> Just thought I would mention it before I forgot, >> Laura You are suggesting that students will need to learn how to use a refactoring tool before they can sit down and read a piece of pre 3.0 code for pleasure and edification? Laura From echerlin at gmail.com Sun Apr 19 23:25:29 2009 From: echerlin at gmail.com (Edward Cherlin) Date: Sun, 19 Apr 2009 14:25:29 -0700 Subject: [Edu-sig] What version of Python to teach .... In-Reply-To: <200904192005.n3JK5hZC023323@theraft.openend.se> References: <200904191907.n3JJ7ues020236@theraft.openend.se> <200904192005.n3JK5hZC023323@theraft.openend.se> Message-ID: Comment at end. On Sun, Apr 19, 2009 at 1:05 PM, Laura Creighton wrote: > In a message of Sun, 19 Apr 2009 12:49:17 PDT, Edward Cherlin writes: >>On Sun, Apr 19, 2009 at 12:07 PM, Laura Creighton wrote: >>> >>> One note: >>> It is very important to teach your students how to read code. ?I think t >>hat >>> this is even more important that teaching them how to write code -- not >>> only will they spend more time reading code than writing code in their >>> lives, but it is through reading other people's code that you can learn >>> any technique for writing code. ?(Well, that, and a whole lot of practic >>e, >>> but a certain amount of reading of code every day can cut down on the >>> number of things that you have to learn by doing.) >>> >>> There isn't a lot of Python 3.0 code out there to read. ?So even if you >>> are only teaching your students how to write 3.0, you will still have t >>o >>> teach them how to read 2.x. >> >>I wonder how much of that is needed. You do need to teach them how to >>convert 2.x code to 3.0, >>but in many cases this is not too burdensome. >> >>http://www.comp.leeds.ac.uk/nde/papers/teachpy3.html >> >>The Python 3.0 distribution comes with a refactoring tool called 2to3, >>intended to assist with the translation of Python 2.x code to Python >>3.0. The tool operates on stdin, individual files or an entire >>directory tree. It writes a unified diff patch for each .py file to >>stdout, and a summary of which files needed changes to stderr. With >>the -w command line option, it will create a back-up of each file and >>then apply the patch to the file. >> >>An an experiment, we tried running the 2to3 tool provided in the third >>alpha release of Python 3.0 on the collection of example programs used >>in our first-year programming lectures [10], using the -w option to >>apply the patches. The tool took 47.2 seconds to process 147 .py files >>[11] and changed 77 of them (52% of the total). >> >>In 80% of cases, the changes involved console I/O only and no manual >>intervention was required to produce satisfactory code. In 5% of >>cases, 2to3 produced code that ran correctly but was redundant in some >>way. >> >>(A conversion example follows). >> >>It would be interesting to go through this collection of examples >>used in teaching 2.x, and find out how much of the new code just >>works, and what are the remaining issues. This might be the basis for >>a book. >> >>> Just thought I would mention it before I forgot, >>> Laura > > You are suggesting that students will need to learn how to use a refactoring > tool before they can sit down and read a piece of pre 3.0 code for > pleasure and edification? No, I'm suggesting that an introductory course on Python 3.0 can make use of converted and lightly massaged code, and ignore Python 2.x until students have wrapped their minds around one version. Computer Science students are not necessarily interested in commercial programming, and may never need to learn 2.x. People learning Python in order to write their own programs, ditto. The original question was how to get enough educational examples in Python 3.0. For the larger problem of converting existing 2.x libraries and applications in order to have more 3.0 to read, that will solve itself in the normal course of events. See Guido's advice. http://docs.python.org/3.0/whatsnew/3.0.html What?s New In Python 3.0 Porting To Python 3.0 The Web page I cited says explicitly that the instructor converted all of his current teaching examples using 2to3, so the students don't even have to know about it in order to get started. I'm also suggesting to FLOSS Manuals and O'Reilly that we could do a book on converting 2.x to, 3.0 in short order, and get it out before it becomes obsolete. ^_^ > Laura > -- Silent Thunder (??/???????????????/????????????? ?) is my name And Children are my nation. The Cosmos is my dwelling place, The Truth my destination. http://earthtreasury.org/worknet (Edward Mokurai Cherlin) From gregor.lingl at aon.at Sun Apr 19 23:48:00 2009 From: gregor.lingl at aon.at (Gregor Lingl) Date: Sun, 19 Apr 2009 23:48:00 +0200 Subject: [Edu-sig] What version of Python to teach .... In-Reply-To: References: <200904191907.n3JJ7ues020236@theraft.openend.se> Message-ID: <49EB9C10.8050001@aon.at> Edward Cherlin schrieb: > On Sun, Apr 19, 2009 at 12:07 PM, Laura Creighton wrote: >> One note: >> It is very important to teach your students how to read code. ... ... >> >> It would be interesting to go through this collection of examples >> used in teaching 2.x, and find out how much of the new code just >> works, and what are the remaining issues It's certainly not the only issue, if code 'just works' or not. There are quite a few differences between Python 2 and Python 3 that concern the semantics of code. As a very elementary example consider the different meaning of range(5) in Python 2/3. Imho in this case at first it would be important to find didactically clean ways to explain new concepts like these to beginners. Of course I know that these concepts are not entirely new, but with Python 3 they need to appear at a much earlier stage, e. g. when introducing the for loop. In 'former times' we could say: range(5) is a list (i. e. a container or a compound data type) and the for loop does things for every element in this list. And you could view this list: >>> range(5) [0, 1, 2, 3, 4] >>> for item in range(5): print item 0 1 2 3 4 >>> type(range(5)) ... easily to grasp Now, with Python 3, we have: >>> range(5) range(0, 5) >>> for item in range(5): print(item) 0 1 2 3 4 >>> type(range(5)) How do you explain the nature of range to beginners? (Not a a rhetorical question, I'd really like to know different approaches how to do it!) At least you can see, that this is a much more important question than e. g. the parentheses around item (because of print being a function now - but even here the semantic difference between a function and a statement is the point and not the parentheses ...) Regards, Gregor From mpaul213 at gmail.com Mon Apr 20 01:44:30 2009 From: mpaul213 at gmail.com (michel paul) Date: Sun, 19 Apr 2009 16:44:30 -0700 Subject: [Edu-sig] What version of Python to teach .... In-Reply-To: <49EB9C10.8050001@aon.at> References: <200904191907.n3JJ7ues020236@theraft.openend.se> <49EB9C10.8050001@aon.at> Message-ID: <40ea4eb00904191644r12c334ffxc295f4d33eed8c65@mail.gmail.com> On Sun, Apr 19, 2009 at 2:48 PM, Gregor Lingl wrote: > >How do you explain the nature of range to beginners? > How about using list(range())? Something like: >>> # Here's how you can create a list of integers: >>> list(range(10)) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> list(range(1, 10)) [1, 2, 3, 4, 5, 6, 7, 8, 9] >>> list(range(1, 10, 2)) [1, 3, 5, 7, 9] >>> list(range(-10, 10, 2)) [-10, -8, -6, -4, -2, 0, 2, 4, 6, 8] >>> # 'list' creates a list, and 'range' specifies its starting point, ending point, and interval between points. >>> # a range object produces these values when called upon to do so. >>> # for example, in a loop: >>> for x in range(10): (x, x**2) (0, 0) (1, 1) (2, 4) (3, 9) (4, 16) (5, 25) (6, 36) (7, 49) (8, 64) (9, 81) Now, interesting, here I've stumbled on a question that I need some clarification on: >>> a = range(10) >>> type(a) >>> next(a) Traceback (most recent call last): File "", line 1, in next(a) TypeError: range object is not an iterator >>> help(range) Help on class range in module builtins: class range(object) | range([start,] stop[, step]) -> range object | | Returns an iterator that generates the numbers in the range on demand. So is range an iterator? - Michel -------------- next part -------------- An HTML attachment was scrubbed... URL: From john.zelle at wartburg.edu Mon Apr 20 02:55:20 2009 From: john.zelle at wartburg.edu (John Zelle) Date: Sun, 19 Apr 2009 19:55:20 -0500 Subject: [Edu-sig] What version of Python to teach .... In-Reply-To: <40ea4eb00904191644r12c334ffxc295f4d33eed8c65@mail.gmail.com> References: <200904191907.n3JJ7ues020236@theraft.openend.se> <49EB9C10.8050001@aon.at> <40ea4eb00904191644r12c334ffxc295f4d33eed8c65@mail.gmail.com> Message-ID: <200904191955.21208.john.zelle@wartburg.edu> Hi, On Sunday 19 April 2009 18:44:30 michel paul wrote: > On Sun, Apr 19, 2009 at 2:48 PM, Gregor Lingl wrote: > > >How do you explain the nature of range to beginners? > > How about using list(range())? Something like: > >>> # Here's how you can create a list of integers: > >>> list(range(10)) > > [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] > > >>> list(range(1, 10)) > > [1, 2, 3, 4, 5, 6, 7, 8, 9] > > >>> list(range(1, 10, 2)) > > [1, 3, 5, 7, 9] > > >>> list(range(-10, 10, 2)) > > [-10, -8, -6, -4, -2, 0, 2, 4, 6, 8] > > >>> # 'list' creates a list, and 'range' specifies its starting point, > > ending point, and interval between points. I would say that the range specifies the sequence of objects that the list is created from. I agree that using list is a good way to approach this. > >>> # a range object produces these values when called upon to do so. > >>> # for example, in a loop: > >>> for x in range(10): (x, x**2) > > (0, 0) > (1, 1) > (2, 4) > (3, 9) > (4, 16) > (5, 25) > (6, 36) > (7, 49) > (8, 64) > (9, 81) > > Now, interesting, here I've stumbled on a question that I need some > > clarification on: > >>> a = range(10) > >>> type(a) > > > > >>> next(a) > > Traceback (most recent call last): > File "", line 1, in > next(a) > TypeError: range object is not an iterator > > >>> help(range) > > Help on class range in module builtins: > > class range(object) > > | range([start,] stop[, step]) -> range object > | > | Returns an iterator that generates the numbers in the range on demand. > > So is range an iterator? No, a range object is not itself an iterator. It is an object that returns an iterator when you ask it for one. You can create any number of independent iterators from a single range object: >>> x = range(1,10) >>> it1 = iter(x) >>> >>> next(it1) 1 >>> next(it1) 2 >>> it2 = iter(x) >>> next(it2) 1 >>> next(it2) 2 > A for loop always "asks" the sequence object for its iterator. If you want to loop over a collection object, it should implement the __iter__ hook that produces and iterator object. It is the iterator object that implements the __next__ hook. Of course, the usual approach is to use a generator method (uses yield) which itself hands back an iterator when it is "called." --John -- John M. Zelle, Ph.D. Wartburg College Professor of Computer Science Waverly, IA john.zelle at wartburg.edu (319) 352-8360 From macquigg at ece.arizona.edu Mon Apr 20 01:25:52 2009 From: macquigg at ece.arizona.edu (David MacQuigg) Date: Sun, 19 Apr 2009 16:25:52 -0700 Subject: [Edu-sig] What version of Python to teach .... In-Reply-To: <49EB9C10.8050001@aon.at> References: <200904191907.n3JJ7ues020236@theraft.openend.se> Message-ID: <5.2.1.1.0.20090419152557.043f9d98@mail.ece.arizona.edu> At 11:48 PM 4/19/2009 +0200, Gregor Lingl wrote: >There are quite a few differences between Python 2 and Python 3 that concern the semantics of code. Thank you Andre, Laura and Gregor. I am changing my mind on how to deal with these differences. I can see now that they do indeed carry important lessons, and deserve special attention. The difference between integer and floating point division could be a whole lecture, leading to an understanding of the machine representation of numbers. ... >How do you explain the nature of range to beginners? (Not a a rhetorical >question, I'd really like to know different approaches how to do it!) See our "Using Python" help page at http://pywhip.appspot.com/help for one approach. Suggestions are welcome, especially from those with experience teaching high-school students. In Using Python, I am assuming students are new to programming and have nothing to "unlearn" in approaching objects. So we treat objects as nothing special, just the way you naturally store things in programs. The first code they will see is a quick tour "Discovering Python". In this tour we introduce 5 builtin objects (dir, help, len, list, range), and range is just an object that does something useful. Discussion of iterators, callable objects, etc. is best left for the text or lecture (or perhaps an elaboration page that can be linked to the main Using Python page). The main purpose of PyWhip, however, is not to teach these concepts, but make teaching them easy, because students have already practiced the syntax, much like the way I learned Spanish - participating in pre-arranged conversations, then reading the book. The help page examples should be clear and interesting, even if we have to come back later and explain the conceptual underpinnings. >At least you can see, that this is a much more important question >than e. g. the parentheses around item (because of print being a >function now - but even here the semantic difference between a >function and a statement is the point and not the parentheses ...) Exactly. Statements are simple, but awkward to extend. Functions are versatile, but require a little more effort up front. -- Dave From kirby.urner at gmail.com Mon Apr 20 03:27:22 2009 From: kirby.urner at gmail.com (kirby urner) Date: Sun, 19 Apr 2009 18:27:22 -0700 Subject: [Edu-sig] What version of Python to teach .... In-Reply-To: <200904191955.21208.john.zelle@wartburg.edu> References: <200904191907.n3JJ7ues020236@theraft.openend.se> <49EB9C10.8050001@aon.at> <40ea4eb00904191644r12c334ffxc295f4d33eed8c65@mail.gmail.com> <200904191955.21208.john.zelle@wartburg.edu> Message-ID: Those of use teaching Python in a ~CS vein (= not CS i.e. not teaching computer scientists), have the advantage of not needing reams of source code, only minor scaffolding of a rather trivial nature, wrapping whatever libraries. We're not application developers (yet). That fork comes later. So yeah, 2.x for the VPython work, still necessary (stickworks etc.). But then it's easy to migrate simple generators such as for figurate numbers, Fibonaaci's and Pascal's, and the new protocols are better implemented and thought out. As many have discovered, it's easier to go 3-to-2 than 2-to-3 in many cases. Paying lots of attention to types is the bread and butter of mathematics, an extensible type system. So algebra students like doing nothing better then setting several iterators going on the same iterable, per Steve Holden's workshop at Python this spring. That range returns an obscure range type object is cool, gives us something to talk about. Namespaces versus code objects is another interesting discussion. Something like Pippy (not saying Pippy itself) is what I work with, in terms of snippets. Very Crunchy in flavor. My talk for OS Bridge is now officially approved: http://opensourcebridge.org/proposals/34 (the leadership for this one is Gen W, where W stands for tWitter -- eerie to see a whole conference organized with that) Preview of slides in progress for an algebra lecture on Tuesday: http://www.4dsolutions.net/presentations/gis_workshop_2009.pdf (still expanding as I get feedback from the leadership) Kirby PS: took resume off line because of PSF membership -- it's no longer current. I'll upload another one in awhile. From lac at openend.se Mon Apr 20 05:12:41 2009 From: lac at openend.se (Laura Creighton) Date: Mon, 20 Apr 2009 05:12:41 +0200 Subject: [Edu-sig] What version of Python to teach .... In-Reply-To: Message from Edward Cherlin of "Sun, 19 Apr 2009 14:25:29 PDT." References: <200904191907.n3JJ7ues020236@theraft.openend.se> <200904192005.n3JK5hZC023323@theraft.openend.se> Message-ID: <200904200312.n3K3CfsM013787@theraft.openend.se> In a message of Sun, 19 Apr 2009 14:25:29 PDT, Edward Cherlin writes: >No, I'm suggesting that an introductory course on Python 3.0 can make >use of converted and lightly massaged code, and ignore Python 2.x >until students have wrapped their minds around one version. Computer >Science students are not necessarily interested in commercial >programming, and may never need to learn 2.x. People learning Python >in order to write their own programs, ditto. The original question was >how to get enough educational examples in Python 3.0. But the ability to read code is not something that should be left to commercial programmers. Unless you are at an age where reading itself is problematical, there is no better way to become a better programmer than to spend an hour a day reading other people's well-written code. This 'how to read code' is something that belongs in everybody's Introductory course, and it is something that we are going to have to pay special attention to these days, if you are teaching Python 3.0, rather than assuming that students will learn how to read code just by following your teaching exercises. The code that you are likely to assign to students as reading assignments, and the code (aside from the Python interpreter and the standard library itself) that they are likely to want to read will be 2.x code. >For the larger problem of converting existing 2.x libraries and >applications in order to have more 3.0 to read, that will solve itself >in the normal course of events. See Guido's advice. >http://docs.python.org/3.0/whatsnew/3.0.html This assumes that the creators of 2.x programs intend to move their old code to 3.0. For a large fraction of the existing programs out there, this simply will never happen. It has been a long time since these programs were in active development, they are stable, and nobody wants to go around poking a hornet's nest with a stick if they don't have to. The importance of lessons in 'how to read 2.x programs' may diminish as time goes on, but I predict that it will never go away altogether. Laura From kirby.urner at gmail.com Mon Apr 20 05:25:32 2009 From: kirby.urner at gmail.com (kirby urner) Date: Sun, 19 Apr 2009 20:25:32 -0700 Subject: [Edu-sig] What version of Python to teach .... In-Reply-To: <200904200312.n3K3CfsM013787@theraft.openend.se> References: <200904191907.n3JJ7ues020236@theraft.openend.se> <200904192005.n3JK5hZC023323@theraft.openend.se> <200904200312.n3K3CfsM013787@theraft.openend.se> Message-ID: Laura is reminding that Recognition is easier than Recall. Recognition: the native speaker is doing the work, the learner is listening, following, passively concentrating Recall: the learner is speaking with few cues, blank canvas, has to pull up everything herself, much harder. That's from natural language learning, but with computer languages it's the same. You need to eyeball lots of code. However, in Pythonic Math, we have modules of ample length (called scaffolding) that doesn't constitute entire commercial applications. They're "short stories", not novels like 'War and Peace'. Those might come later. Correction: URL to my slides for 'GIS in Action' conference this coming Tuesday: http://www.4dsolutions.net/presentations/gis_2009_workshop.pdf Comments welcome. It's about our new FOSS-based pre-college curriculum pilots, with an emphasis on "place based education", all the rage among charters these days, especially in Alaska, but Oregon too somewhat. Kirby On Sun, Apr 19, 2009 at 8:12 PM, Laura Creighton wrote: > In a message of Sun, 19 Apr 2009 14:25:29 PDT, Edward Cherlin writes: >>No, I'm suggesting that an introductory course on Python 3.0 can make >>use of converted and lightly massaged code, and ignore Python 2.x >>until students have wrapped their minds around one version. Computer >>Science students are not necessarily interested in commercial >>programming, and may never need to learn 2.x. People learning Python >>in order to write their own programs, ditto. The original question was >>how to get enough educational examples in Python 3.0. > > But the ability to read code is not something that should be left to > commercial programmers. ?Unless you are at an age where reading itself > is problematical, there is no better way to become a better programmer > than to spend an hour a day reading other people's well-written code. > This 'how to read code' is something that belongs in everybody's > Introductory course, and it is something that we are going to have to > pay special attention to these days, if you are teaching Python 3.0, > rather than assuming that students will learn how to read code just by > following your teaching exercises. ?The code that you are likely to > assign to students as reading assignments, and the code (aside from > the Python interpreter and the standard library itself) that they are > likely to want to read will be 2.x code. > >>For the larger problem of converting existing 2.x libraries and >>applications in order to have more 3.0 to read, that will solve itself >>in the normal course of events. See Guido's advice. > >>http://docs.python.org/3.0/whatsnew/3.0.html > > This assumes that the creators of 2.x programs intend to move their > old code to 3.0. ?For a large fraction of the existing programs out > there, this simply will never happen. ?It has been a long time since > these programs were in active development, they are stable, and nobody > wants to go around poking a hornet's nest with a stick if they don't > have to. ?The importance of lessons in 'how to read 2.x programs' may > diminish as time goes on, but I predict that it will never go away > altogether. > > Laura > > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > From Scott.Daniels at Acm.Org Mon Apr 20 06:49:23 2009 From: Scott.Daniels at Acm.Org (Scott David Daniels) Date: Sun, 19 Apr 2009 21:49:23 -0700 Subject: [Edu-sig] What version of Python to teach .... In-Reply-To: <200904191907.n3JJ7ues020236@theraft.openend.se> References: <200904191907.n3JJ7ues020236@theraft.openend.se> Message-ID: Laura Creighton wrote: > One note: > It is very important to teach your students how to read code. I think that > this is even more important that teaching them how to write code -- not > only will they spend more time reading code than writing code in their > lives, but it is through reading other people's code that you can learn > any technique for writing code. (Well, that, and a whole lot of practice, > but a certain amount of reading of code every day can cut down on the > number of things that you have to learn by doing.) > > There isn't a lot of Python 3.0 code out there to read. So even if you > are only teaching your students how to write 3.0, you will still have to > teach them how to read 2.x. But here is a learning opportunity as well -- too many students are used to received wisdom, and assume there is nothing to discover. To say that Python is in motion, that we have learned from our mistakes, that we are forging a new way forward, and that they can be a part of how to say things well in this new language is to begin to explain that things are moving and they can be a part of that movement. One of the great disappointments from teaching my first computer science class (operating systems) came after a lecture where I discussed some of the publications going on about these new-fangled RAID systems. I had students explain to me that a new way of organizing file systems could not be as efficient as I described, because Microsoft and IBM would be using such designs if they really worked. Students need to know that not everything has been done. --Scott David Daniels Scott.Daniels at Acm.Org From kirby.urner at gmail.com Mon Apr 20 16:17:55 2009 From: kirby.urner at gmail.com (kirby urner) Date: Mon, 20 Apr 2009 07:17:55 -0700 Subject: [Edu-sig] What version of Python to teach .... In-Reply-To: References: <200904191907.n3JJ7ues020236@theraft.openend.se> Message-ID: On Sun, Apr 19, 2009 at 9:49 PM, Scott David Daniels wrote: << SNIP >> > But here is a learning opportunity as well -- too many students are > used to received wisdom, and assume there is nothing to discover. > To say that Python is in motion, that we have learned from our mistakes, > that we are forging a new way forward, and that they can be a part of > how to say things well in this new language is to begin to explain that > things are moving and they can be a part of that movement. > > One of the great disappointments from teaching my first computer science > class (operating systems) came after a lecture where I discussed some > of the publications going on about these new-fangled RAID systems. ?I > had students explain to me that a new way of organizing file systems > could not be as efficient as I described, because Microsoft and IBM > would be using such designs if they really worked. ?Students need to > know that not everything has been done. > > --Scott David Daniels > Scott.Daniels at Acm.Org Yes, excellent, my point as well. One of the benefits of being young and inexperienced is you're not ball-and-chained to legacy code written in some dino Python. The dinos aren't going away and Laura is 100% correct that many very good libraries will never move to 3.x, have no reason to, as their part of completed applications and we expect at least Poxis users to know how to do multiple Pythons (very easy command line alternatives upon installation, to herd snakes successfully). So it won't be either/or and we'll always have these older dialects to look at, should be up front as they're taking their seats the first day, about what the story is, in terms of this chasm, themselves on the smart side, others jumping up and down with their spears, still in caveman clothes, on the other side, with 2to3 and 3to2 lanes on our freeway bridge (like I-205 over the Columbia if you're local). But then some CS departments are probably all about 3rd party libraries, in cahoots with the Matplotlib subculture or whatever, which I have no problem with. If you're some hot jock Pythonista proud of your 3.x kung fu, and want a CS degree for icing on the cake, then phone ahead and see what it's like. You have enough knowledge going in, thanks to PPS, to ask such questions. Check prof pages, read the courseware. If none if it's open they're probably not into open source that much, and after a place like Portland, that'd be a real let down. I encourage more participation in Cubespace and Barcamps among the young Pythonic math grads I've sired over the years. I'll met one of the dads in the gym saying his son is all fired to go and what school around Portland is ready for such material. I can't think of any. Private companies, on the other hand, could put them to work, but mostly they're not legally old enough although that's not as problematic as it sounds given Saturday Academy, which does internships, support from Paul Allen. So yeah, learn Python 3.x out of the gate, then maybe go through SA: for a placement in some casino like where my CIO works. My thanks to all re GIS in Action conference slides, caught those font problems, look likes we're locked and loaded. Fun reading the Europython stuff, I'm always nostalgic. My talk tomorrow reuses many of the Gothenberg and Vilnius slides, which takes me back, plus as you've maybe seen from Blip TV, I tend to have my blogs going on another cube face (I rotate between desktops) where I'll likely as not have Photostream going as well, in case I wax autobiographical (which I do on occasion, part of exploring that lore axis I go on about...) plus in a real classroom setting we practice lightning talks, so it's my students who maybe get autobiographical, less onus on me. Kirby From da.ajoy at gmail.com Mon Apr 20 16:46:34 2009 From: da.ajoy at gmail.com (Daniel Ajoy) Date: Mon, 20 Apr 2009 09:46:34 -0500 Subject: [Edu-sig] How do kids these days get started in programming? Message-ID: How do kids these days get started in programming? http://www.ensode.net/roller/dheffelfinger/entry/how_do_kids_these_days Many experiences there mention that now kids start programming by playing with their calculators. Others speculate that kids start programming by inspecting HTML and javascript. Daniel From droujkova at gmail.com Mon Apr 20 17:21:31 2009 From: droujkova at gmail.com (Maria Droujkova) Date: Mon, 20 Apr 2009 11:21:31 -0400 Subject: [Edu-sig] How do kids these days get started in programming? In-Reply-To: References: Message-ID: On Mon, Apr 20, 2009 at 10:46 AM, Daniel Ajoy wrote: > How do kids these days get started in programming? > http://www.ensode.net/roller/dheffelfinger/entry/how_do_kids_these_days > > Many experiences there mention that now kids start programming by playing with their calculators. Others speculate that kids start programming by inspecting HTML and javascript. > > Daniel > I find the comments of the "Linux is easy to start" variety to be quite funny. For kids, easy=normal=common. Chinese or Russian are considered very hard/difficult/complex languages among all other languages, and yet native kids learn them as easily as natives of any other culture learn their language. Anything is easy if enough people around you practice it daily. That's why I am looking for kid-friendly AND large communities of practice first and foremost for any educational endeavors... -- Cheers, MariaD Make math your own, to make your own math. http://www.naturalmath.com social math site http://www.phenixsolutions.com empowering our innovations From kirby.urner at gmail.com Mon Apr 20 18:02:03 2009 From: kirby.urner at gmail.com (kirby urner) Date: Mon, 20 Apr 2009 09:02:03 -0700 Subject: [Edu-sig] How do kids these days get started in programming? In-Reply-To: References: Message-ID: On Mon, Apr 20, 2009 at 8:21 AM, Maria Droujkova wrote: << SNIP >> > That's why I am looking for kid-friendly AND large communities of > practice first and foremost for any educational endeavors... > > > > -- > Cheers, > MariaD There's the old chicken versus egg problem when it comes to "large communities". Funny story: Silicon Valley schmoozer comes to one of our Pioneer Place venture capital conventions and hears all this talk about "bootstrapping", complains that's not kosher where she comes from, sounds like we're poor, rubbing two sticks together, out in the cold, whereas in the Valley (plus Austin has Hills) it's better to sound like you *already have* tons of money, as that's what'll work for ya out of the box, once you do. What no one explained to this interloper is "bootstrap" has a perfectly objective meaning in engineering that actually applies in startup scenarios. You want just enough code in memory to serve as a foothold for some larger beast, which then climbs to the next rung and so on. Before you know it, you've dealing with IBM or one of those (i.e. some big kahuna that started in a modest little shop or garage say on Hawthorne, aka Asylum Ave. (e.g. the ESI story, which I like to tell, as we're still in it in some ways, thanks to Doug Strain's connections to the Linus Pauling venture, not to mention local Friends)). In any case, remember that teachers, not just students, like that feeling of being in a small pilot or government study, elite guinea pigs, something to brag about, kind of like TAG. That's where I like talking about the Winterhaven Experiment (see slides) where Silicon Forest executives had total control of our "geek Hogwarts", were able to boot Google Earth the first day, go from there to Kml to Xml to GIS more generally, as a set of rich data structures on a polyhedron (planet Earth), ergo we're talking geography (GIS) not just geometry, etc. Bridging geometry and geography is a fond goal of ours. How else to do "place based education" in the age of dodecacams. Winterhaven already has the Oaks Bottom connection i.e. kids to ecology around that ecosystem, file results over time. Using Python to generate Tufte style visualizations about the real world is our idea of a good time. We want worldly geeks, not head in the sand nerds. The kids loved it, got to "fly over" their own school, other locations. Basically, once you've tasted math on a real computer in a real programming language, you won't willingly retreat to the bad old days, when we only shared calculators. That would come across of penalizing, taking away toys, dumbing it down, deprivation, probably cause riots. In part that's why some schools are reluctant to take the leap, because they're in cahoots with the others in not making the others look bad (as in "non-viable"). Fortunately, in this climate of innovation thanks to a deteriorating economy, the government itself suffers from no such compunctions and is happy to explore new models of charter school build around FOSS, offering merit pay, and making their debut in Alaska and places. We'll even fly the teachers down to Portland for training why not. Alaska Airlines could use the business. We shall see. Having followed this thread since the 1980s (pre Python) from a vantage point in McGraw-Hill, other places, I'm thinking Logo exhausted itself by being not general purpose enough. As a stepping stone to LISP and Scheme, it kind of worked, at places like MIT. But in the hands of inexperienced teachers, it languished and died. BASIC, on the other hand, was always butt ugly and an insecure basis for any large business. Fortunately, Microsoft is rescuing itself the CLR and the dot NET platform, which makes VB just one more client language, and not an especially important one (good riddance!). Now that MIT is switching to Python, and now that we have a strong turtle module right out of the box, thanks to Gregor, we at least have no credibility problems when it comes to picking up where the 1980s left off. But that still puts us 30 years behind, which is a lot of catching up to do. Back to Scott's remarks about how "IBM and Microsoft would already be doing this if it made any sense" (paraphrase), we hear the same thing from students about the spatial geometry I'm doing with Python. But if you've followed the story closely (e.g. been looking over my shoulder) you know we have almost no competition and no resistance from higher math. Wolfram's cellular automata haven't lost their relevance and John Zelle's graphics.py makes doing his kind of science really a piece of cake, even in Tk (still an included battery in 3.x, as IDLE lives on, complete with easy widgets -- John is wise to exploit that I think). Once you move off a flat surface and want to fill space, you're plop into 'The Book of Numbers' by Conway and Guy, and that's right where we pick it up with the Python, doing "gnomon studies" around the figurate and polyhedral numbers. Kids are writing generators in the first 30 minutes in some scenarios, as this is just like functions in algebra class, but with state preserved between calls. They notice the quality of their cafeteria conversation suddenly skyrockets as they're sounding more and more like geeks every day. That's one step closer to being like Selena & Audrey, our young OS Bridge organizers, into PostgreSQL and Rails respectively, or like Tim Bauman, one of my proteges, knows all kinds of cool stuff. Role models within age range, not some 50 year old like me, is what they're looking for. In the Python community that's no problem. This CPP kids from Iceland must be about 17? I played xBox guitar with 'em, after knocking back a few, as they wanted proof that 50 year olds still have hand-eye coordination. I think I did well enough by our species to prove we still do. Kirby > > Make math your own, to make your own math. > > http://www.naturalmath.com social math site > http://www.phenixsolutions.com empowering our innovations > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > From droujkova at gmail.com Mon Apr 20 18:22:30 2009 From: droujkova at gmail.com (Maria Droujkova) Date: Mon, 20 Apr 2009 12:22:30 -0400 Subject: [Edu-sig] How do kids these days get started in programming? In-Reply-To: References: Message-ID: On Mon, Apr 20, 2009 at 12:02 PM, kirby urner wrote: > On Mon, Apr 20, 2009 at 8:21 AM, Maria Droujkova wrote: > > << SNIP >> > >> That's why I am looking for kid-friendly AND large communities of >> practice first and foremost for any educational endeavors... >> >> >> >> -- >> Cheers, >> MariaD > Exclusivity should be an interesting angle to pursue, with that "Hogwarts" metaphor. Still, math is already such an uphill battle socially that going for even smaller communities, on top of small interest in math, may be exponentially hard. Both approaches should be tried, though. > > In any case, remember that teachers, not just students, like that > feeling of being in a small pilot or government study, elite guinea > pigs, something to brag about, kind of like TAG. ?That's where I like > talking about the Winterhaven Experiment (see slides) where Silicon > Forest executives had total control of our "geek Hogwarts", were able > to boot Google Earth the first day, go from there to Kml to Xml to GIS > more generally, as a set of rich data structures on a polyhedron > (planet Earth), ergo we're talking geography (GIS) not just geometry, > etc. ?Bridging geometry and geography is a fond goal of ours. I just got back from a nice workshop about Math Circles and Math Clubs (Twitter hashtag #greatcircles though almost nobody joined me in reporting it on Twitter http://search.twitter.com/search?q=%23greatcircles) - there was a very nice presentation there by Tom Davis (a pdf on his page is related http://www.geometer.org/mathcircles/) on geography and geometry. Questions like, "Where do you need to stand on Venus for the sun to be directly overhead?" Then I asked him about designing your own planet systems, which can be a good programming task, I think >_> -- Cheers, MariaD Make math your own, to make your own math. http://www.naturalmath.com social math site http://www.phenixsolutions.com empowering our innovations From kirby.urner at gmail.com Mon Apr 20 21:32:00 2009 From: kirby.urner at gmail.com (kirby urner) Date: Mon, 20 Apr 2009 12:32:00 -0700 Subject: [Edu-sig] How do kids these days get started in programming? In-Reply-To: References: Message-ID: On Mon, Apr 20, 2009 at 9:22 AM, Maria Droujkova wrote: > On Mon, Apr 20, 2009 at 12:02 PM, kirby urner wrote: >> On Mon, Apr 20, 2009 at 8:21 AM, Maria Droujkova wrote: >> >> << SNIP >> >> >>> That's why I am looking for kid-friendly AND large communities of >>> practice first and foremost for any educational endeavors... >>> >>> >>> >>> -- >>> Cheers, >>> MariaD >> > > Exclusivity should be an interesting angle to pursue, with that > "Hogwarts" metaphor. Still, math is already such an uphill battle > socially that going for even smaller communities, on top of small > interest in math, may be exponentially hard. Both approaches should be > tried, though. > Yes. This book 'Out of the Labyrinth' by the Kaplans was useful, a gift to me from the PSF chairman this time, proof the guy is no slouch. We're copying some of what works from the math teaching subcultures, but in a lot of ways we're alien interlopers, didn't come up through the ranks. This administration makes that easier as the later charters are more liberal in terms of who gets to play. Remember: all schools are charter schools in our lexicon (per math-teach) unless they're private, and even then, there's probably a legal mandate or founding document we could dig up and call a "charter" of some kind. Just using the old English meanings, trying to avoid using the rank and file shoptalk, which isn't elite enough, nor serviceable for our purposes. > >> >> In any case, remember that teachers, not just students, like that >> feeling of being in a small pilot or government study, elite guinea >> pigs, something to brag about, kind of like TAG. ?That's where I like >> talking about the Winterhaven Experiment (see slides) where Silicon >> Forest executives had total control of our "geek Hogwarts", were able >> to boot Google Earth the first day, go from there to Kml to Xml to GIS >> more generally, as a set of rich data structures on a polyhedron >> (planet Earth), ergo we're talking geography (GIS) not just geometry, >> etc. ?Bridging geometry and geography is a fond goal of ours. > > I just got back from a nice workshop about Math Circles and Math Clubs > (Twitter hashtag #greatcircles though almost nobody joined me in > reporting it on Twitter > http://search.twitter.com/search?q=%23greatcircles) - there was a very > nice presentation there by Tom Davis (a pdf on his page is related > http://www.geometer.org/mathcircles/) on geography and geometry. Probably didn't include Fuller Projection, so more a competing brand, but that's OK, as we're into geography in many flavors, geometries too (non-Euclidean is *not* out of bounds pre college, as the Math Circles prove -- glad to see you're into those as well). > Questions like, "Where do you need to stand on Venus for the sun to be > directly overhead?" Then I asked him about designing your own planet > systems, which can be a good programming task, I think >_> > That's already handled in Celestia, an open source project and mentioned in my write-up of the Winterhaven Experiment. We also use Solaria, links on request. Kirby > > > -- > Cheers, > MariaD > > Make math your own, to make your own math. > > http://www.naturalmath.com social math site > http://www.phenixsolutions.com empowering our innovations > From kirby.urner at gmail.com Tue Apr 21 01:50:48 2009 From: kirby.urner at gmail.com (kirby urner) Date: Mon, 20 Apr 2009 16:50:48 -0700 Subject: [Edu-sig] How do kids these days get started in programming? In-Reply-To: References: Message-ID: > That's already handled in Celestia, an open source project and > mentioned in my write-up of the Winterhaven Experiment. ?We also use > Solaria, links on request. > > Kirby > Sorry, Stellarium. This page on Winterhaven Experiment (2007) mentions both. Click 'Functions and Generators' at the end for Fuller Projection (one of many -- have it at Cleveland High School these days (where they also have an Oaks Bottom connection, reports my star student (speaking as a proud parent))). http://www.4dsolutions.net/ocn/winterhaven/ Ciao for now, Kirby >> >> >> -- >> Cheers, >> MariaD >> >> Make math your own, to make your own math. >> >> http://www.naturalmath.com social math site >> http://www.phenixsolutions.com empowering our innovations >> > From kirby.urner at gmail.com Tue Apr 21 01:51:40 2009 From: kirby.urner at gmail.com (kirby urner) Date: Mon, 20 Apr 2009 16:51:40 -0700 Subject: [Edu-sig] How do kids these days get started in programming? In-Reply-To: References: Message-ID: > This page on Winterhaven Experiment (2007) mentions both. > 2005. From echerlin at gmail.com Tue Apr 21 08:55:14 2009 From: echerlin at gmail.com (Edward Cherlin) Date: Mon, 20 Apr 2009 23:55:14 -0700 Subject: [Edu-sig] What version of Python to teach .... In-Reply-To: References: <200904191907.n3JJ7ues020236@theraft.openend.se> Message-ID: Comments interspersed. On Sun, Apr 19, 2009 at 9:49 PM, Scott David Daniels wrote: > Laura Creighton wrote: >> >> One note: >> It is very important to teach your students how to read code. ?I think >> that >> this is even more important that teaching them how to write code -- not >> only will they spend more time reading code than writing code in their >> lives, but it is through reading other people's code that you can learn >> any technique for writing code. ?(Well, that, and a whole lot of practice, >> but a certain amount of reading of code every day can cut down on the >> number of things that you have to learn by doing.) >> >> There isn't a lot of Python 3.0 code out there to read. ?So even if you >> are only teaching your students how to write 3.0, you will still have to >> teach them how to read 2.x. But not right away. > But here is a learning opportunity as well -- too many students are > used to received wisdom, and assume there is nothing to discover. That's why Sugar software is all about collaborative discovery. At some point, we will be able to engage our millions of students in the conversion of Sugar to Python 3.0. > To say that Python is in motion, that we have learned from our mistakes, > that we are forging a new way forward, and that they can be a part of > how to say things well in this new language is to begin to explain that > things are moving and they can be a part of that movement. +1 > One of the great disappointments from teaching my first computer science > class (operating systems) came after a lecture where I discussed some > of the publications going on about these new-fangled RAID systems. ?I > had students explain to me that a new way of organizing file systems > could not be as efficient as I described, because Microsoft and IBM > would be using such designs if they really worked. ?Students need to > know that not everything has been done. They also need some education on the ways in which Microsoft and IBM have deliberately held back technical progress in furtherance of their anti-competitive business strategies. A biography of John Patterson National Cash Register would be a good place to start. That's where Tom Watson learned how to crush competition and then buy them up cheap, and suffered his first antitrust lawsuit. Then Patterson, as was his habit with almost everybody who learned his methods, fired Watson, who bought the Computing Tabulating Recording company, owner of the Hollerith punched card patents, and renamed it International Business Machines. The literature on IBM's shenanigans is huge. Microsoft actually lost an antitrust suit, and was labeled a criminal organization, although not punished as such after the Bush DoJ took over the case. See also the Groklaw archives on the SCO suit and other attempts to hold back Linux. Anyway, this is an old, old story. Perhaps it would be as well to prepare the way with some examples. My favorite is that when L. Frank Baum, a successful children's writer at that time, offered The Wizard of Oz to his publishers, they turned in down on the grounds that there was no market for American fairy tales. He asked how they knew, and they pointed out that no publisher had any on the market. Every other publisher he tried said the same thing. So he had to offer to pay the costs for the first printing himself to get anybody to take the risk. His first royalty check was enough to buy a house. One of the Warner Brothers said of talking movies, "Who wants to hear actors talk?" All radio manufacturers initially turned down the transistor, except Sony. General Electric turned down photovoltaics, because they were too expensive for building power plants. Japanese manufacturers then put them on calculators. You don't have to replace the cheapest use first. Start with the most expensive. The actually relevant examples for your class are in The Innovator's Dilemma, which is specifically about this problem in the disk storage business. The leaders in each generation nearly all became followers or disappeared in the next generation. > --Scott David Daniels > Scott.Daniels at Acm.Org > > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > -- Silent Thunder (??/???????????????/????????????? ?) is my name And Children are my nation. The Cosmos is my dwelling place, The Truth my destination. http://earthtreasury.org/worknet (Edward Mokurai Cherlin) From kirby.urner at gmail.com Tue Apr 21 09:31:52 2009 From: kirby.urner at gmail.com (kirby urner) Date: Tue, 21 Apr 2009 00:31:52 -0700 Subject: [Edu-sig] What version of Python to teach .... In-Reply-To: References: <200904191907.n3JJ7ues020236@theraft.openend.se> Message-ID: On Mon, Apr 20, 2009 at 11:55 PM, Edward Cherlin wrote: << SNIP >> > See also the Groklaw archives on the SCO suit and other attempts to > hold back Linux. > Good to see so much lore going by. Teaching to code in the open (open source code) involves storytelling. What are our values, whom do we study as role models? We don't try to fade into some "ambient culture" as nameless and faces. We have stars, sagas and epics -- a big part of my workshop this year, Python for Teachers. Part of what makes the XO so fascinating isn't the machine or software (although both intriguing in their own right) but the story of the XO itself, the whole idea of One Laptop Per Child and the values behind it. Here with OLPC is some great futurism come true, yet how many cereal companies put positive futurism on the backs of their cereal boxes? How much of Saturday Morning cartoons (much of the budget controlled by cereal companies) is about looking ahead, developing some relevant fantasies about what's actually possible? The failure of imagination about the near future traces to an unwillingness to share about the recent past. The SCO story is alluded to in my Pycon slides. I also talk about IBM (actually the target of the SCO lawsuit) in connection with "keeping tabs" in fascist Germany. ** > Anyway, this is an old, old story. Perhaps it would be as well to > prepare the way with some examples. > << SNIP >> ... many more good stories. Thank you Ed Cherlin. Kirby PS: stirring up more trouble on Math Forum: http://mathforum.org/kb/message.jspa?messageID=6682191&tstart=0 (making fun of TIs) ** http://blip.tv/file/1998267 > Silent Thunder (??/???????????????/????????????? ?) is my name > And Children are my nation. > The Cosmos is my dwelling place, The Truth my destination. > http://earthtreasury.org/worknet (Edward Mokurai Cherlin) > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > From echerlin at gmail.com Tue Apr 21 10:05:06 2009 From: echerlin at gmail.com (Edward Cherlin) Date: Tue, 21 Apr 2009 01:05:06 -0700 Subject: [Edu-sig] What Linux distro? In-Reply-To: <9a01273a0904111235u1a5169c6x68dddf63f7917eb5@mail.gmail.com> References: <9a01273a0904111235u1a5169c6x68dddf63f7917eb5@mail.gmail.com> Message-ID: On Sat, Apr 11, 2009 at 12:35 PM, Fahredd?n Basegmez wrote: > Hi, > > I have been developing a programmable scientific visualization > tool/rapid game maker with wxPython for a while. ?I recently released > the first public beta version that works on windows only. ?Now, I am > going to start working on a Linux version very soon. ?I have not > decided which distro to use yet but leaning towards Ubuntu. ?Could you > give me some feedback? ?What is the most popular distro in educational > institutes/settings? It is not at all a choice of just one distribution. We all want what you are doing, and we cooperate to make it available everywhere. Packagers for many distributions will take hold of anything that becomes available from a suitable upstream source. I am copying this to Jonas Smedagaard, a Debian packager who can give you better advice than I can on getting started. Anything in a Debian package is likely to flow through to Ubuntu, Edubuntu, and other distributions fairly rapidly. You can also get help putting your software into Red Hat Fedora, and from there into another whole stream of distributions. I am copying this to Greg DeKoenigsberg, a Red Hat community organizer, who can help you make the right contacts there. Those two will get your software launched in all of the most popular distributions, including several education-specific distributions, and numerous language-specific distributions around the world. If you would like to follow up on that, you can contact the localization groups for Fedora, Debian, and Ubuntu. Lastly, I would suggest getting your software into Sugar for the One Laptop Per Child XO and other systems. You should join the Sugar Development mailing list at http://lists.sugarlabs.org for that. Again, Sugar software feeds to Fedora, Debian, and so on from there, and Sugar is being localized into something like 80 languages. Sugar has well over a million education users, with many more on the way. > You can download the application from www.mekanimo.net. > > Also I have a 5 min video at > http://mekanimomedia.s3.amazonaws.com/tangram/Tangram.html > > If you try the application, I would appreciate your feedback about that too. > > Thanks in advance, > > Fahri Basegmez > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > -- Silent Thunder (??/???????????????/????????????? ?) is my name And Children are my nation. The Cosmos is my dwelling place, The Truth my destination. http://earthtreasury.org/worknet (Edward Mokurai Cherlin) From mangabasi at gmail.com Tue Apr 21 15:21:13 2009 From: mangabasi at gmail.com (=?ISO-8859-9?Q?Fahredd=FDn_Basegmez?=) Date: Tue, 21 Apr 2009 09:21:13 -0400 Subject: [Edu-sig] What Linux distro? In-Reply-To: References: <9a01273a0904111235u1a5169c6x68dddf63f7917eb5@mail.gmail.com> Message-ID: <9a01273a0904210621m27dbda11v68d126ebd34a1f4f@mail.gmail.com> Hi Edwards On Tue, Apr 21, 2009 at 4:05 AM, Edward Cherlin wrote: > On Sat, Apr 11, 2009 at 12:35 PM, Fahredd?n Basegmez > wrote: >> Hi, >> >> I have been developing a programmable scientific visualization >> tool/rapid game maker with wxPython for a while. ?I recently released >> the first public beta version that works on windows only. ?Now, I am >> going to start working on a Linux version very soon. ?I have not >> decided which distro to use yet but leaning towards Ubuntu. ?Could you >> give me some feedback? ?What is the most popular distro in educational >> institutes/settings? > > It is not at all a choice of just one distribution. We all want what > you are doing, and we cooperate to make it available everywhere. > Packagers for many distributions will take hold of anything that > becomes available from a suitable upstream source. I am copying this > to Jonas Smedagaard, a Debian packager who can give you better advice > than I can on getting started. Anything in a Debian package is likely > to flow through to Ubuntu, Edubuntu, and other distributions fairly > rapidly. > > You can also get help putting your software into Red Hat Fedora, and > from there into another whole stream of distributions. I am copying > this to Greg DeKoenigsberg, a Red Hat community organizer, who can > help you make the right contacts there. > > Those two will get your software launched in all of the most popular > distributions, including several education-specific distributions, and > numerous language-specific distributions around the world. If you > would like to follow up on that, you can contact the localization > groups for Fedora, Debian, and Ubuntu. > > Lastly, I would suggest getting your software into Sugar for the One > Laptop Per Child XO and other systems. You should join the Sugar > Development mailing list at http://lists.sugarlabs.org for that. > Again, Sugar software feeds to Fedora, Debian, and so on from there, > and Sugar is being localized into something like 80 languages. Sugar > has well over a million education users, with many more on the way. > >> You can download the application from www.mekanimo.net. >> >> Also I have a 5 min video at >> http://mekanimomedia.s3.amazonaws.com/tangram/Tangram.html >> >> If you try the application, I would appreciate your feedback about that too. >> >> Thanks in advance, >> >> Fahri Basegmez >> _______________________________________________ >> Edu-sig mailing list >> Edu-sig at python.org >> http://mail.python.org/mailman/listinfo/edu-sig >> > > > > -- > Silent Thunder (??/???????????????/????????????? ?) is my name > And Children are my nation. > The Cosmos is my dwelling place, The Truth my destination. > http://earthtreasury.org/worknet (Edward Mokurai Cherlin) > Hi Edwards, I just fired up an Ubuntu 8.10 based PC yesterday and I liked what I saw a lot. I think you are right, Debian should be the starting point. Once it works in Ubuntu (or Debian), porting to Fedora or other systems should be doable too. I talked to Walter Bender in May/07 when Mekanimo was very, very primitive, he and Nicholas Negroponte wanted to include it in OLPC but I was told that wxPython would not run due to some constraints the machines/Sugar had. I realize a lot changed since then ;) Thank you very much for the contact info, I am sure I will need help porting it. Regards, Fahri From kirby.urner at gmail.com Tue Apr 21 15:56:18 2009 From: kirby.urner at gmail.com (kirby urner) Date: Tue, 21 Apr 2009 06:56:18 -0700 Subject: [Edu-sig] What Linux distro? In-Reply-To: <9a01273a0904210621m27dbda11v68d126ebd34a1f4f@mail.gmail.com> References: <9a01273a0904111235u1a5169c6x68dddf63f7917eb5@mail.gmail.com> <9a01273a0904210621m27dbda11v68d126ebd34a1f4f@mail.gmail.com> Message-ID: Yeah and no problem distributing closed Windows binary, self installs, in fair trade for Uncle Sams (or other currency), in order to earn enough dough to "give back" to the wxPython community via Debian headwaters or whatever. Many of us have day jobs that in some way leverage the fact that Windows users don't know what "a compiler" is, not that Python really needs one (but your app is more than Python plus binary distros require install tools). PySol is another famous closed source example that's been out there for years. I forget if bittorrent is open source, even if free, lemme check... http://mail.python.org/pipermail/python-list/2006-August/570908.html http://www.dessent.net/btfaq/ Woah duh, you bet it is, also wxPython in some incarnations. Just be clear that nothing in the Python license requires you to make your Python source public, whereas Python itself is public and available through Python.org Kirby On Tue, Apr 21, 2009 at 6:21 AM, Fahredd?n Basegmez wrote: > Hi Edwards > > On Tue, Apr 21, 2009 at 4:05 AM, Edward Cherlin wrote: >> On Sat, Apr 11, 2009 at 12:35 PM, Fahredd?n Basegmez >> wrote: >>> Hi, >>> >>> I have been developing a programmable scientific visualization >>> tool/rapid game maker with wxPython for a while. ?I recently released >>> the first public beta version that works on windows only. ?Now, I am >>> going to start working on a Linux version very soon. ?I have not >>> decided which distro to use yet but leaning towards Ubuntu. ?Could you >>> give me some feedback? ?What is the most popular distro in educational >>> institutes/settings? >> >> It is not at all a choice of just one distribution. We all want what >> you are doing, and we cooperate to make it available everywhere. >> Packagers for many distributions will take hold of anything that >> becomes available from a suitable upstream source. I am copying this >> to Jonas Smedagaard, a Debian packager who can give you better advice >> than I can on getting started. Anything in a Debian package is likely >> to flow through to Ubuntu, Edubuntu, and other distributions fairly >> rapidly. >> >> You can also get help putting your software into Red Hat Fedora, and >> from there into another whole stream of distributions. I am copying >> this to Greg DeKoenigsberg, a Red Hat community organizer, who can >> help you make the right contacts there. >> >> Those two will get your software launched in all of the most popular >> distributions, including several education-specific distributions, and >> numerous language-specific distributions around the world. If you >> would like to follow up on that, you can contact the localization >> groups for Fedora, Debian, and Ubuntu. >> >> Lastly, I would suggest getting your software into Sugar for the One >> Laptop Per Child XO and other systems. You should join the Sugar >> Development mailing list at http://lists.sugarlabs.org for that. >> Again, Sugar software feeds to Fedora, Debian, and so on from there, >> and Sugar is being localized into something like 80 languages. Sugar >> has well over a million education users, with many more on the way. >> >>> You can download the application from www.mekanimo.net. >>> >>> Also I have a 5 min video at >>> http://mekanimomedia.s3.amazonaws.com/tangram/Tangram.html >>> >>> If you try the application, I would appreciate your feedback about that too. >>> >>> Thanks in advance, >>> >>> Fahri Basegmez >>> _______________________________________________ >>> Edu-sig mailing list >>> Edu-sig at python.org >>> http://mail.python.org/mailman/listinfo/edu-sig >>> >> >> >> >> -- >> Silent Thunder (??/???????????????/????????????? ?) is my name >> And Children are my nation. >> The Cosmos is my dwelling place, The Truth my destination. >> http://earthtreasury.org/worknet (Edward Mokurai Cherlin) >> > > Hi Edwards, > > I just fired up an Ubuntu 8.10 based PC yesterday and I liked what I > saw a lot. ?I think you are right, Debian should be the starting > point. ?Once it works in Ubuntu (or Debian), porting to Fedora or > other systems should be doable too. > > I talked to Walter Bender in May/07 when Mekanimo was very, very > primitive, he and Nicholas Negroponte wanted to include it in OLPC but > I was told that wxPython would not run due to some constraints the > machines/Sugar had. ?I realize a lot changed since then ;) > > Thank you very much for the contact info, I am sure I will need help porting it. > > Regards, > > Fahri > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > From kirby.urner at gmail.com Tue Apr 21 16:20:02 2009 From: kirby.urner at gmail.com (kirby urner) Date: Tue, 21 Apr 2009 07:20:02 -0700 Subject: [Edu-sig] What Linux distro? In-Reply-To: References: <9a01273a0904111235u1a5169c6x68dddf63f7917eb5@mail.gmail.com> <9a01273a0904210621m27dbda11v68d126ebd34a1f4f@mail.gmail.com> Message-ID: > PySol is another famous closed source example that's been out there > for years. ?I forget if bittorrent is open source, even if free, lemme > check... > Speaking of closed source (that'd run on an XO?) provided there's Java runtime: http://mathforum.org/kb/thread.jspa?threadID=1921344&tstart=0 ( huge stash of polyhedra, unfolding, duals, categories... fine work, the kind of stuff we learn in gnu math ) http://wiki.laptop.org/go/JNLP_Handler http://wiki.laptop.org/go/Java (deeper issues) Kirby From kirby.urner at gmail.com Thu Apr 23 19:56:06 2009 From: kirby.urner at gmail.com (kirby urner) Date: Thu, 23 Apr 2009 10:56:06 -0700 Subject: [Edu-sig] Admiring 'Hello World!' (Manning) Message-ID: I'm enjoying the state of the art with this one, am tempted to get the PDF (there's a mail in coupon). This father son team, Warren and Carter Sande, explore Python 2.5 in dialog, taking plenty of time to clear up confusions, not skipping over the odd bits, like integer division, and the fact that we're naming, like taking, not stuffing stockings (talking about variables) though we're quite open to Stocking objects (however named). The author "plays dumb" a little, wearing these "I know nothing about the future" glasses in the opening readings, suggesting we get the Python directly from Manning as if the future had never happened. This is excellent design, as the Manning version comes with some other goodies, is customized, is ready to run. The preface explains it: we used to put a CD in the back, but these days publishers favor using the Internet. Yep, that's very true. However, later on in the book, it's very clear the authors know there's a Python 3.0, and they gently hint at some of the differences. There's no big deal about it, just a fun XX engineer with a bug in her ear (in both ears apparently as it's there no matter which way she's turned -- well illustrated). The character that's really original is grandma in bunny slippers, the former Pong queen, geek of the old skool. She remembers when we did it all in 7K. We've all met this guy at parties, but having her be a friendly grandma is a stroke of genius I reckon. At the BOF at the last Pycon I was proclaiming Pygame "pretty hard" in the sense of "low level". Which it is, floats just above that C++ SDK whatever it's called, SDL right? In contrast: GameMaker, with a cult following in Oregon. We have play-offs, teams, a statewide festival. The problem with GameMaker by itself is it's immersive, like Alice, one of those "live in my own reality" twilight zones with no real world applications. Python, in contrast, is usable on the job. So if it's possible to dip into game-like experiences while developing as a professional non-gamer, then why not? I should have taken the hint from Argentina, which is all about Pygame in some areas (or so I recall -- a presence in Vilnius). Speaking of Python and games, I was privileged to join the CPP party in the nearby Softel and get my first experience with an xBox guitar woo hoo, not bad after a couple Black Labels. This is the company behind one of those massively parallel online gaming communities, a profitable business if you have loyal fans, based in Iceland. This is where Twisted comes into its own. What people don't get about FOSS is how many companies use it daily without thinking about it, deep in their internals, driving whatever container shipping service, rental car agency, garbage collection business. Large conservative banks running on PostgreSQL aren't breaking any laws in so doing. Billions get made using FOSS every day. This is what finally hit home about Pycon. These are happy camper users of a great language, coming together to celebrate and share tools, but most of the use cases come from private practice, academia a new minority. However, it's a growing minority, and quite welcome. With help from Vern Ceder, we're looking at PyOhio as more of a model for 2010, with floorspace set aside for posters, perhaps with judging. I've got another example of such a conference in my Photostream, where I was invited back to update the ESRI community regarding matters Pythonic. Given this was a local crowd, city and county GIS experts, I used the occasion to advance the "place based education" agenda, but that's neither here nor there. Anyway, back to 'Hello World!', I'm admiring towards its style, its intelligent dialog based format, and its interesting drawings by Martin Murtonen. There's a lot of 'Head First' type thinking going on, but that's a megatrend in technical writing more generally, pioneered in part by the 'for Dummies' series, my friend Allen Taylor the author of 'SQL for Dummies' (I always thought 'CORBA for Dummies' sounded especially oxymoronic). I also appreciate having my name in the acknowledgments, something to brag about ('Bucky Works' by J. Baldwin is another tome I'm proud to have my name in). Kirby From kirby.urner at gmail.com Thu Apr 23 20:17:15 2009 From: kirby.urner at gmail.com (kirby urner) Date: Thu, 23 Apr 2009 11:17:15 -0700 Subject: [Edu-sig] Admiring 'Hello World!' (Manning) In-Reply-To: References: Message-ID: Errata & Addenda (standard template): On Thu, Apr 23, 2009 at 10:56 AM, kirby urner wrote: > I'm enjoying the state of the art with this one, am tempted to get the > PDF (there's a mail in coupon). ?This father son team, Warren and > Carter Sande, explore Python 2.5 in dialog, taking plenty of time to > clear up confusions, not skipping over the odd bits, like integer > division, and the fact that we're naming, like taking, not stuffing > stockings (talking about variables) though we're quite open to > Stocking objects (however named). > "... like tagging..." I meant to say. I favor strings attached to helium balloons, with many-to-one strings to balloons sometimes (to get across the difference between two names for the same thing, versus actually cloning or copying, done at different depths -- separate module). > The author "plays dumb" a little, wearing these "I know nothing about > the future" glasses in the opening readings, suggesting we get the > Python directly from Manning as if the future had never happened. > This is excellent design, as the Manning version comes with some other > goodies, is customized, is ready to run. ?The preface explains it: ?we > used to put a CD in the back, but these days publishers favor using > the Internet. ?Yep, that's very true. Like it comes with a separate text editor from IDLE's for booting the TK GUIs. These use easygui. Note: in my talk to 'GIS in Action' I included a plug for John Zelle's graphics.py, showing our NKS work from awhile back. http://www.4dsolutions.net/presentations/gis_2009_workshop.pdf > > However, later on in the book, it's very clear the authors know > there's a Python 3.0, and they gently hint at some of the differences. > ?There's no big deal about it, just a fun XX engineer with a bug in > her ear (in both ears apparently as it's there no matter which way > she's turned -- well illustrated). ?The character that's really > original is grandma in bunny slippers, the former Pong queen, geek of > the old skool. ?She remembers when we did it all in 7K. ?We've all met > this guy at parties, but having her be a friendly grandma is a stroke > of genius I reckon. > Carter is the intelligent young XY voice in this work, has some good questions. The XX character who explains the high level stuff is more "older sister" and might already have some college credit to her name (or maybe she went straight to Rails after running a GIS shop in high school, at a place like LEP High): http://mathforum.org/kb/thread.jspa?threadID=1922239&tstart=0 "no less a public school than Madison..." fixing a typo in the above Math Forum post (am I allowed to do that?). > At the BOF at the last Pycon I was proclaiming Pygame "pretty hard" in > the sense of "low level". ?Which it is, floats just above that C++ SDK > whatever it's called, SDL right? ?In contrast: ?GameMaker, with a cult > following in Oregon. ?We have play-offs, teams, a statewide festival. > The problem with GameMaker by itself is it's immersive, like Alice, > one of those "live in my own reality" twilight zones with no real > world applications. ?Python, in contrast, is usable on the job. ?So if > it's possible to dip into game-like experiences while developing as a > professional non-gamer, then why not? ?I should have taken the hint > from Argentina, which is all about Pygame in some areas (or so I > recall -- a presence in Vilnius). > Yeah, SDL. Looking forward to Pygame Reloaded btw. I have done some work in this package, mostly around graphing and plotting, plus I wrote an entire presentation manager in the thing, used it when talking at London Knowledge Lab that time, about my work for Hillsboro police etc. (same story on as on Pycon Blip TV pretty much -- I repeat the same stories a lot but sometimes with a different spin at least). > Speaking of Python and games, I was privileged to join the CPP party > in the nearby Softel and get my first experience with an xBox guitar > woo hoo, not bad after a couple Black Labels. ?This is the company > behind one of those massively parallel online gaming communities, a > profitable business if you have loyal fans, based in Iceland. ?This is > where Twisted comes into its own. > Picture of xBox guitars included in silly slide for my GIS talk, where Pycon geeks come out looking like a buncha Quakers or something (we were passing my hat around, before heading downtown). > What people don't get about FOSS is how many companies use it daily > without thinking about it, deep in their internals, driving whatever > container shipping service, rental car agency, garbage collection > business. ?Large conservative banks running on PostgreSQL aren't > breaking any laws in so doing. ?Billions get made using FOSS every > day. > The point being: FOSS didn't shrivel and die with that dot com bust in the Clinton Era. That huge Wall Street stock run up over Red Hat and so on, was an exciting bubble to be in for many, but took place on a lore axis somewhat orthogonal to the engineering axis. The technologies have only gotten stronger, even as the economy has softened in other areas. > This is what finally hit home about Pycon. ?These are happy camper > users of a great language, coming together to celebrate and share > tools, but most of the use cases come from private practice, academia > a new minority. ?However, it's a growing minority, and quite welcome. > With help from Vern Ceder, we're looking at PyOhio as more of a model > for 2010, with floorspace set aside for posters, perhaps with judging. > ?I've got another example of such a conference in my Photostream, > where I was invited back to update the ESRI community regarding > matters Pythonic. ?Given this was a local crowd, city and county GIS > experts, I used the occasion to advance the "place based education" > agenda, but that's neither here nor there. > I go into this more in my blog writeup: http://worldgame.blogspot.com/2009/04/gis-2009.html Kirby > Anyway, back to 'Hello World!', I'm admiring towards its style, its > intelligent dialog based format, and its interesting drawings by > Martin Murtonen. ?There's a lot of 'Head First' type thinking going > on, but that's a megatrend in technical writing more generally, > pioneered in part by the 'for Dummies' series, my friend Allen Taylor > the author of 'SQL for Dummies' (I always thought 'CORBA for Dummies' > sounded especially oxymoronic). I also appreciate having my name in > the acknowledgments, something to brag about ('Bucky Works' by J. > Baldwin is another tome I'm proud to have my name in). > > Kirby > From kirby.urner at gmail.com Mon Apr 27 04:11:01 2009 From: kirby.urner at gmail.com (kirby urner) Date: Sun, 26 Apr 2009 19:11:01 -0700 Subject: [Edu-sig] old macdonald had a farm (coroutines for noobs like me) Message-ID: """ On the Farm: (Python 3 -- 3to2 easy) for David Beazley, the gratitude, who wanted something more useful than Fibonacci numbers See: http://oubiwann.blogspot.com/2009/04/generators-and-coroutines.html (my comments appended) """ def coroutine(target): """ used to decorate generators we plan to use as coroutines """ def initialize(*args, **kwargs): thegen = target(*args, **kwargs) next(thegen) return thegen return initialize @coroutine def screening(target, farmanimals): var = "" while True: var = (yield) print("I am a %s" % var) if var in farmanimals: target.send(var) @coroutine def process(): while True: var = (yield) print("Farm animal %s is being processed." % var) def test(): """ >>> I am a cow Farm animal cow is being processed. I am a jackalope I am a pig Farm animal pig is being processed. I am a monkey """ onthefarm = ["cow","pig","chicken"] p2 = process() p1 = screening(p2, onthefarm) p1.send("cow") p1.send("jackalope") p1.send("pig") p1.send("monkey") if __name__ == "__main__": test() From kirby.urner at gmail.com Mon Apr 27 18:07:20 2009 From: kirby.urner at gmail.com (kirby urner) Date: Mon, 27 Apr 2009 09:07:20 -0700 Subject: [Edu-sig] another edu-sig page textbook (suggesting to AR) Message-ID: http://www.skylit.com/mathandpython.html I have desk review copy, think many will appreciate the quasi-seamless blend of old and gnu world typographies, i.e. sigma and set notation, with concepts of iterator, types, functions etc. Reminiscent of 'Concrete Mathematics' though less difficult and explicitly Python based. For those training to read algebra, higher math, this is a friendly introduction (no cartoons or comics though -- gets you prepared for the somber dryness of the ambient literature). Kirby From andre.roberge at gmail.com Mon Apr 27 18:12:20 2009 From: andre.roberge at gmail.com (Andre Roberge) Date: Mon, 27 Apr 2009 13:12:20 -0300 Subject: [Edu-sig] another edu-sig page textbook (suggesting to AR) In-Reply-To: References: Message-ID: <7528bcdd0904270912j64ff8390p30709ef4164d15e@mail.gmail.com> On Mon, Apr 27, 2009 at 1:07 PM, kirby urner wrote: > http://www.skylit.com/mathandpython.html > > I have desk review copy, think many will appreciate the quasi-seamless > blend of old and gnu world typographies, i.e. sigma and set notation, > with concepts of iterator, types, functions etc. > Would this be appropriate for high school students, or as a first CS course for non Computer Science majors ? Andr? > > Reminiscent of 'Concrete Mathematics' though less difficult and > explicitly Python based. > > For those training to read algebra, higher math, this is a friendly > introduction (no cartoons or comics though -- gets you prepared for > the somber dryness of the ambient literature). > > 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: From kirby.urner at gmail.com Mon Apr 27 18:15:14 2009 From: kirby.urner at gmail.com (kirby urner) Date: Mon, 27 Apr 2009 09:15:14 -0700 Subject: [Edu-sig] another edu-sig page textbook (suggesting to AR) In-Reply-To: <7528bcdd0904270912j64ff8390p30709ef4164d15e@mail.gmail.com> References: <7528bcdd0904270912j64ff8390p30709ef4164d15e@mail.gmail.com> Message-ID: Both, per the back cover: """ Some students may choose to study AP Computer Science in high school, or major in CS in college. Others may decide to go into math, science, law, art, social sciences, or humanities. Regardless of your goals, Mathematics for the Digital Age and Programming in Python will help you gain a better understanding of the computerized world around you. """ ... definitely looking at high school in Oregon, on a math track, not a CS track per se, as the Silicon Forest lobby here is working with our state legislature to have discrete math alternatives that segue to college and private industry tracks, e.g. we could use this in place of Algebra 2. Kirby On Mon, Apr 27, 2009 at 9:12 AM, Andre Roberge wrote: > > > On Mon, Apr 27, 2009 at 1:07 PM, kirby urner wrote: >> >> http://www.skylit.com/mathandpython.html >> >> I have desk review copy, think many will appreciate the quasi-seamless >> blend of old and gnu world typographies, i.e. sigma and set notation, >> with concepts of iterator, types, functions etc. > > Would this be appropriate for high school students, or as a first CS course > for non Computer Science majors ? > > Andr? > >> >> Reminiscent of 'Concrete Mathematics' though less difficult and >> explicitly Python based. >> >> For those training to read algebra, higher math, this is a friendly >> introduction (no cartoons or comics though -- gets you prepared for >> the somber dryness of the ambient literature). >> >> 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 Apr 29 08:54:15 2009 From: kirby.urner at gmail.com (kirby urner) Date: Tue, 28 Apr 2009 23:54:15 -0700 Subject: [Edu-sig] another edu-sig page textbook (suggesting to AR) In-Reply-To: References: <7528bcdd0904270912j64ff8390p30709ef4164d15e@mail.gmail.com> Message-ID: Another thought is maybe edu-sig page is an appropriate place to provide contact info for Vern Ceder. The thought there is to have someone to help coordinate a more academically flavored poster space wherein we showcase interesting applications of Python where the sponsor (helping pay for hotel floorspace) might not be a private company booth exhibitor but a university or NGO or publisher or whatever. User groups might have their own contests why not? I'm not saying the edu-sig page should get into all this, as it aims to stay brief and uncluttered, just thinking we need some way to suggest the "science fair" aspect of future Pycons (the idea originates with Steve Holden in response to BOF-expressed desires to get teachers more involved, Pycon having a predominantly business flavor, with Jeff Rush going so far as to suggest a whole separate EduPycon, which idea I've continued to float, as worthy of consideration, including in edu-sig threads why not? These slides from some random GIS conference in Oregon, where I talked about Python (familiar through ESRI), show what a conference is like when split between private companies and academia, I'm sure a familiar site to most of you already, just not quite what Pycon has been like (which is where Vern comes in): http://worldgame.blogspot.com/2009/04/gis-2009.html Somewhat unrelated, I'd welcome any comments on my What is a Scripting Language? answer, something I might point to in a kind of FAQ mode (emailed question about Python being "a scripting language"). BTW I'm glad the edu-sig page still points to Software Carpentry under Miscellaneous (where we also link to my stuff) as I think we're also a gateway for system administrator types who choose a non-CS degree path (similar to the math track people we're tagging with the aforesaid title mentioned below). http://controlroom.blogspot.com/2009/04/whats-scripting-language.html CP4E and/or P4E never meant turning everyone into CS majors right? We should make sure that the "education" in edu-sig is far broader than CS departments reaching out, advertising they teach in that language (among others), although they're welcome to do that of course (we welcome "converts" or whatever). Kirby On Mon, Apr 27, 2009 at 9:15 AM, kirby urner wrote: > Both, per the back cover: > > """ > Some students may choose to study AP Computer Science in high school, > or major in CS in college. ?Others may decide to go into math, > science, law, art, social sciences, or humanities. ?Regardless of your > goals, Mathematics for the Digital Age and Programming in Python will > help you gain a better understanding of the computerized world around > you. > """ > > ... definitely looking at high school in Oregon, on a math track, not > a CS track per se, as the Silicon Forest lobby here is working with > our state legislature to have discrete math alternatives that segue to > college and private industry tracks, e.g. we could use this in place > of Algebra 2. > > Kirby > > > On Mon, Apr 27, 2009 at 9:12 AM, Andre Roberge wrote: >> >> >> On Mon, Apr 27, 2009 at 1:07 PM, kirby urner wrote: >>> >>> http://www.skylit.com/mathandpython.html >>> >>> I have desk review copy, think many will appreciate the quasi-seamless >>> blend of old and gnu world typographies, i.e. sigma and set notation, >>> with concepts of iterator, types, functions etc. >> >> Would this be appropriate for high school students, or as a first CS course >> for non Computer Science majors ? >> >> Andr? >> >>> >>> Reminiscent of 'Concrete Mathematics' though less difficult and >>> explicitly Python based. >>> >>> For those training to read algebra, higher math, this is a friendly >>> introduction (no cartoons or comics though -- gets you prepared for >>> the somber dryness of the ambient literature). >>> >>> Kirby >>> _______________________________________________ >>> Edu-sig mailing list >>> Edu-sig at python.org >>> http://mail.python.org/mailman/listinfo/edu-sig >> >> > From droujkova at gmail.com Wed Apr 29 16:06:40 2009 From: droujkova at gmail.com (Maria Droujkova) Date: Wed, 29 Apr 2009 10:06:40 -0400 Subject: [Edu-sig] another edu-sig page textbook (suggesting to AR) In-Reply-To: References: <7528bcdd0904270912j64ff8390p30709ef4164d15e@mail.gmail.com> Message-ID: The blurb says "not for dummies engaging style." I want a book like that, well, not for dummies, but for people who may already harbor significant math anxiety. They tend to disengage seeing certain artifacts or representations... I think this book is a very cool resource and I intend to use it. With the kind of students I have in mind, we may need to create our own. With more cowbell (or, as Kirby put it earlier, comics). -- Cheers, MariaD Make math your own, to make your own math. http://www.naturalmath.com social math site http://www.phenixsolutions.com empowering our innovations On Mon, Apr 27, 2009 at 12:15 PM, kirby urner wrote: > Both, per the back cover: > > """ > Some students may choose to study AP Computer Science in high school, > or major in CS in college. ?Others may decide to go into math, > science, law, art, social sciences, or humanities. ?Regardless of your > goals, Mathematics for the Digital Age and Programming in Python will > help you gain a better understanding of the computerized world around > you. > """ > > ... definitely looking at high school in Oregon, on a math track, not > a CS track per se, as the Silicon Forest lobby here is working with > our state legislature to have discrete math alternatives that segue to > college and private industry tracks, e.g. we could use this in place > of Algebra 2. > > Kirby > > > On Mon, Apr 27, 2009 at 9:12 AM, Andre Roberge wrote: >> >> >> On Mon, Apr 27, 2009 at 1:07 PM, kirby urner wrote: >>> >>> http://www.skylit.com/mathandpython.html >>> >>> I have desk review copy, think many will appreciate the quasi-seamless >>> blend of old and gnu world typographies, i.e. sigma and set notation, >>> with concepts of iterator, types, functions etc. >> >> Would this be appropriate for high school students, or as a first CS course >> for non Computer Science majors ? >> >> Andr? >> >>> >>> Reminiscent of 'Concrete Mathematics' though less difficult and >>> explicitly Python based. >>> >>> For those training to read algebra, higher math, this is a friendly >>> introduction (no cartoons or comics though -- gets you prepared for >>> the somber dryness of the ambient literature). >>> >>> Kirby >>> _______________________________________________ From kirby.urner at gmail.com Wed Apr 29 16:46:12 2009 From: kirby.urner at gmail.com (kirby urner) Date: Wed, 29 Apr 2009 07:46:12 -0700 Subject: [Edu-sig] another edu-sig page textbook (suggesting to AR) In-Reply-To: References: <7528bcdd0904270912j64ff8390p30709ef4164d15e@mail.gmail.com> Message-ID: On Wed, Apr 29, 2009 at 7:06 AM, Maria Droujkova wrote: > The blurb says "not for dummies engaging style." I want a book like > that, well, not for dummies, but for people who may already harbor > significant math anxiety. They tend to disengage seeing certain > artifacts or representations... > Yes, very true. Also on the edu-sig page, check out the Sande book under "for kids": http://www.python.org/community/sigs/current/edu-sig/ > Hello World! Computer Programming for Kids and Other Beginners by Warren Sande is just like the title says. It actually gets a lot deeper into Python than the Litvin text, which is more into the use of mathy formalisms, common to CS and not-CS alike. And yet the Sande book is written in a friendlier style for even younger kids, as a kind of father-son dialog (Carter, the son, is a real boy, albeit a gifted one who really likes Python). How we're thinking in Oregon is we'll use the Litvin text at the high school level, but with the reassuring "joke" in many cases that our students will already be beyond the Litvin level with Python coming in, i.e. they'll have studied Sande or something similar. This will reduce their anxiety of needing to learn both a programming language *and* math formalisms in one cycle. They'll feel more like ahead-of-the-pack gifted insiders in already having the requisite Python savvy and then some. That's smart pedagogy by the way. As soon as you call it "remedial" you've proved you're not a smart teacher, as you've saddled students with a label that works against them. So many colleges and universities fall into the trap of offering "remedial" this and that -- not so smart as Princeton, which would call it "Python for Thespians" or something (and it wouldn't be a lie -- Princeton big into theater, always has been). >From the blurb: """ Some students may choose to study AP Computer Science in high school, or major in CS in college. Others may decide to go into math, science, law, art, social sciences, or humanities. Regardless of your goals, Mathematics for the Digital Age and Programming in Python will help you gain a better understanding of the computerized world around you. """ Oregon universities tend to not accept AP compsci (unlike Utah) so it makes more sense to look at the Litvins' book as part of our discrete math track (pre-college), standard pre-law and/or pre-med you might say (rule of thumb). We conflate "medical" with "engineering" in this neck of the woods as well (lots of shovel ready bioinformatics, Python a player). I like your phrase "cowbell". Our goal in this region is to produce more animations about technical subjects. You can call them cartoons, but they're made by computer and look at topics like the effects of drugs in the body, but at a higher level of technical detail than you see in most drug pushing commercials on television (those are "comics" in the more "clown like" sense). Kirby > I think this book is a very cool resource and I intend to use it. With > the kind of students I have in mind, we may need to create our own. > With more cowbell (or, as Kirby put it earlier, comics). > > -- > Cheers, > MariaD > > Make math your own, to make your own math. > > http://www.naturalmath.com social math site > http://www.phenixsolutions.com empowering our innovations > > On Mon, Apr 27, 2009 at 12:15 PM, kirby urner wrote: >> Both, per the back cover: >> >> """ >> Some students may choose to study AP Computer Science in high school, >> or major in CS in college. ?Others may decide to go into math, >> science, law, art, social sciences, or humanities. ?Regardless of your >> goals, Mathematics for the Digital Age and Programming in Python will >> help you gain a better understanding of the computerized world around >> you. >> """ >> >> ... definitely looking at high school in Oregon, on a math track, not >> a CS track per se, as the Silicon Forest lobby here is working with >> our state legislature to have discrete math alternatives that segue to >> college and private industry tracks, e.g. we could use this in place >> of Algebra 2. >> >> Kirby >> >> >> On Mon, Apr 27, 2009 at 9:12 AM, Andre Roberge wrote: >>> >>> >>> On Mon, Apr 27, 2009 at 1:07 PM, kirby urner wrote: >>>> >>>> http://www.skylit.com/mathandpython.html >>>> >>>> I have desk review copy, think many will appreciate the quasi-seamless >>>> blend of old and gnu world typographies, i.e. sigma and set notation, >>>> with concepts of iterator, types, functions etc. >>> >>> Would this be appropriate for high school students, or as a first CS course >>> for non Computer Science majors ? >>> >>> Andr? >>> >>>> >>>> Reminiscent of 'Concrete Mathematics' though less difficult and >>>> explicitly Python based. >>>> >>>> For those training to read algebra, higher math, this is a friendly >>>> introduction (no cartoons or comics though -- gets you prepared for >>>> the somber dryness of the ambient literature). >>>> >>>> Kirby >>>> _______________________________________________ > From droujkova at gmail.com Wed Apr 29 18:23:58 2009 From: droujkova at gmail.com (Maria Droujkova) Date: Wed, 29 Apr 2009 12:23:58 -0400 Subject: [Edu-sig] another edu-sig page textbook (suggesting to AR) In-Reply-To: References: <7528bcdd0904270912j64ff8390p30709ef4164d15e@mail.gmail.com> Message-ID: The "coolness" factor has to be there, for everybody. The forms/representations/approaches can be adapted to your audience, but... > > That's smart pedagogy by the way. As soon as you call it "remedial" > you've proved you're not a smart teacher, as you've saddled students > with a label that works against them. > > So many colleges and universities fall into the trap of offering > "remedial" this and that -- not so smart as Princeton, which would > call it "Python for Thespians" or something (and it wouldn't be a lie > -- Princeton big into theater, always has been). > I finally tracked down that "Simpsons" quote. The episode, called "You can only move twice," places Bart into a remedial class: Teacher: Okay. Now, everyone take out your safety pencil and a circle of paper. This week, I hope we can finish our work on the letter "A". Bart: Let me get this straight. We're behind the rest of our class and we're going to catch up to them by going slower than they are? [making "crazy" gesture] Cuckoo. Kids: [imitating him] Cuckoo. Cuckoo. Cuckoo. Cuckoo. Cheers, MariaD Make math your own, to make your own math. http://www.naturalmath.com social math site http://www.phenixsolutions.com empowering our innovations From jeff at taupro.com Thu Apr 30 22:04:07 2009 From: jeff at taupro.com (Jeff Rush) Date: Thu, 30 Apr 2009 15:04:07 -0500 Subject: [Edu-sig] another edu-sig page textbook (suggesting to AR) In-Reply-To: References: <7528bcdd0904270912j64ff8390p30709ef4164d15e@mail.gmail.com> Message-ID: <49FA0437.6090406@taupro.com> kirby urner wrote: > > I'm not saying the edu-sig page should get into all this, as it aims > to stay brief and uncluttered, just thinking we need some way to > suggest the "science fair" aspect of future Pycons (the idea > originates with Steve Holden in response to BOF-expressed desires to > get teachers more involved, Pycon having a predominantly business > flavor, with Jeff Rush going so far as to suggest a whole separate > EduPycon, which idea I've continued to float, as worthy of > consideration, including in edu-sig threads why not? Hmm, "science fair", how about a "Python Fair" along those lines. It could be a "Programming Fair" but that might lead people to think it was only for CS majors. It might be "Computer Fair" that I think that opens up the event too broadly. I was thinking of regional events, 3-4 a year, to make them more convenient to teachers and students who often lack a budget to travel. With a focus on the use of Python programming in education, both K-12 and University level, both for CS and definitely non-CS subjects. It would take place on a weekend, perhaps just Saturday to be considerate of those who cannot take time off from school. There would be two tracks; one for students learning to program, with good support for beginners to Python and total beginners to programming. The second track would be for teachers to learn how other teachers use programming to present their subject areas. I bet we could get some sponsors to defray costs, and put together a proposal to the PSF for funding of travel costs for some top-notch speakers. Anyway just a idea I keep thinking about, that could show a good return on the PSF finances, and wondering if its something enough people would get behind to make happen. It also promotes the use of Python early in the pipeline, with students adopting it in their professional life after leaving school. I don't have the background or contacts in education to chair it though. > CP4E and/or P4E never meant turning everyone into CS majors right? We > should make sure that the "education" in edu-sig is far broader than > CS departments reaching out... It definitely meant more than making everyone a CS major. It is about empowering people to participate in an increasingly more computerized world, opening the box, dispelling the magic and getting people to take control according to their abilities. A basic literacy, a conceptual model of how it works and the encouragement to dabble, to program their appliances for their lifestyle or just to have fun. Few dabble with electricity or water due to the danger and costs. Programming is much more forgiving of play and very very cheap to do. How about an alarm clock you can program with simple script, to make it work the way you want - a different snooze delay, with per-day differences in behavior for your work schedule. Or a TV system scriptable to catch programs in the manner you want, the prioritization you want, and store different content to different levels of quality, perhaps with email/IM/twitter notices of specific situations. Or perhaps just a better understanding of the idea of automated trading or the power grid failures or why security of online systems is so elusive. Imagine an alternate history where cars (buses) are all driven by hired drivers because only trained automotive professionals are considered safe by society to control multi-ton powerful masses of metal and fuel. I mean, if non-engineers drove them, there would be wrecks everywhere and cars flying off the road -- certainly a grandmother or teenager could not drive them safely. Imagine the impact on society of that history and of when people start insisting on driving themselves for the simple trips, tired of being dependent on others. That's what I see today, people in their driving caps and jackets, making programming a big deal when it shouldn't be. -Jeff From droujkova at gmail.com Thu Apr 30 22:40:42 2009 From: droujkova at gmail.com (Maria Droujkova) Date: Thu, 30 Apr 2009 16:40:42 -0400 Subject: [Edu-sig] another edu-sig page textbook (suggesting to AR) In-Reply-To: <49FA0437.6090406@taupro.com> References: <7528bcdd0904270912j64ff8390p30709ef4164d15e@mail.gmail.com> <49FA0437.6090406@taupro.com> Message-ID: On Thu, Apr 30, 2009 at 4:04 PM, Jeff Rush wrote: > > Hmm, "science fair", how about a "Python Fair" along those lines. ?It could be > a "Programming Fair" but that might lead people to think it was only for CS > majors. ?It might be "Computer Fair" that I think that opens up the event too > broadly. > > How about an alarm clock you can program with simple script, to make it work > the way you want - a different snooze delay, with per-day differences in > behavior for your work schedule. When I was working on my dissertation, I programmed an alarm clock I called "two-timer" which since have been used by many people with attention issues. You program two different time periods, say, 20 minutes for writing and 10 minutes for cleaning the house; the (pleasant) alarm goes off after 20, 10, 20, 10 and so on minutes and you know to switch between your two tasks. It had sliders, because when one is tired or nervous time periods need to be shorter. I used it with some math anxious kids, too - it seems the very thought of switching between activities frequently is enough to keep them calm and focused. I need to move the thing to cell phones so I can carry it with me. There are many little "social apps" like that you could make. -- Cheers, MariaD Make math your own, to make your own math. http://www.naturalmath.com social math site http://www.phenixsolutions.com empowering our innovations From kirby.urner at gmail.com Thu Apr 30 23:16:31 2009 From: kirby.urner at gmail.com (kirby urner) Date: Thu, 30 Apr 2009 14:16:31 -0700 Subject: [Edu-sig] another edu-sig page textbook (suggesting to AR) In-Reply-To: <49FA0437.6090406@taupro.com> References: <7528bcdd0904270912j64ff8390p30709ef4164d15e@mail.gmail.com> <49FA0437.6090406@taupro.com> Message-ID: On Thu, Apr 30, 2009 at 1:04 PM, Jeff Rush wrote: << SNIP >> > I was thinking of regional events, 3-4 a year, to make them more convenient to > teachers and students who often lack a budget to travel. ?With a focus on the > use of Python programming in education, both K-12 and University level, both > for CS and definitely non-CS subjects. ?It would take place on a weekend, > perhaps just Saturday to be considerate of those who cannot take time off from > school. > Some of the thinking over hear is Cubespace could host Barcamps specific to visiting schools, say a combined 11-12th grade coming in for a day and doing the self organize thing, with teachers having their legal role of adult guardians but otherwise not trying to distort this already well-developed model. Part of our thinking is FOSS subculture doesn't easily survive when narrowed to one language, showcases like Pycon a large billboard advertising the few exceptions, though we don't rival ESRI's I understand (on the other hand, there's Python there too). So if attempting to bring students into an experience of our "way of life", we have Perl, PHP, Apache... very long list of tools, not wanting to "fall below threshold". Basically, there's no "world domination" with "just Python" so we're not really able to talk like pirates er geeks unless we have a complete ecosystems to return home to (at Pycons, we do). An alternative is "Barcamp in a Box" where we take it into the schools, more realistic in some cases, less realistic in others. Plus I'm not sure Cubespace really wants to be overrun with "yellow bus people", so even better would be ESD sets aside a repurposed facility, some warehouse in ToonTown maybe (east side, near Produce Row?). Once you're all grown up and well versed in geek culture, going to Pycon doesn't risk stripping you of your memepool, i.e. you already know all this other stuff besides Python. But when still in high school, you need to follow various rules about not mixing the students with strangers on school time, plus not falling below threshold in terms of keeping the content believable. I think a big problem with contemporary "classroom math" is it has, in fact, "fallen below threshold", fails to meet the relevance test. The only thing that keeps it in place is the relentless pressure to pass ETS-administered screening tests. Those who control the obstacle course control the shape of recruiting. However, we have a long history of pioneering and experimenting in this country, are getting official encouragement to keep at it from on high. I'm feeling pretty upbeat about FOSS having a bright future in our schools, but it'll take a lot more than a few dedicated Pythonistas to keep the flame alive. Good thing we've got GNU, EFF, all the rest of 'em. Kirby