education as Python's killer app
My thoughts on Python in education Article: http://pencilscience.blogspot.com/2007/04/edu-python-pythons-killer-app.html Resources: http://pencilscience.blogspot.com/2007/04/python-first-educational-resources... Presentation: http://webpages.cs.luc.edu/~mt/Python-First/Py1.html Comments and suggestions welcome. Please no fussing about formatting or grammar; this is all draft. However, I would appreciate anyone pointing out broken links. Mostly, I'd like to hear what you think I've left out (or anything I've gotten wrong). The thrust of the article is tarting to emerge: CP4E is real again thanks to OLPC (a project whose near-term success, while desireable, is uncertain) and Sugar, its user environment, which may well be unstoppable. On the advocacy front, this presents Python with a potential killer app with possibilities far larger than Ruby on Rails can ever aspire to. thanks for your attention Michael Tobis PS - anonymous blog comments are enabled, if you'd like to reply there.
Beautifully written Michael! Plus I learned some interesting facts and bent my head a bit differently. I think you are right that we would do well to consider the implications of Sugar -- beyond the XO machine. I would not say there are no easy and interesting places to start with Python -- Rur-ple for instance. It is not a killer-app, though. I find Rur-ple constraining when trying to extend past the carefully planned sequence in the tutorials. Thinking ahead, an environment with built-in objects with the high level methods of Scratch sprites would be good: easy animation of multiple sprites with multiple views, knowledge of collisions, maybe even knowledge of bouncing off walls and other sprites.... Scratch adds a mouse based editor/construction environment that makes syntax errors impossible. I would think that for someone with a little experience, Scratch would be a lot slower than typing. I am not suggesting insisting on taking the typing out of Python. (I have not looked to see what has been built on top of PyGame -- does something come close to what I am saying?) For starting off, I like the 2D world of Pygame/Scratch. I find the 3D world of Alice distracting. Andy Harrington Michael Tobis wrote:
My thoughts on Python in education
Article: http://pencilscience.blogspot.com/2007/04/edu-python-pythons-killer-app.html
Resources: http://pencilscience.blogspot.com/2007/04/python-first-educational-resources...
Presentation: http://webpages.cs.luc.edu/~mt/Python-First/Py1.html
Comments and suggestions welcome. Please no fussing about formatting or grammar; this is all draft. However, I would appreciate anyone pointing out broken links.
Mostly, I'd like to hear what you think I've left out (or anything I've gotten wrong).
The thrust of the article is tarting to emerge: CP4E is real again thanks to OLPC (a project whose near-term success, while desireable, is uncertain) and Sugar, its user environment, which may well be unstoppable.
On the advocacy front, this presents Python with a potential killer app with possibilities far larger than Ruby on Rails can ever aspire to.
thanks for your attention Michael Tobis
PS - anonymous blog comments are enabled, if you'd like to reply there. _______________________________________________ Edu-sig mailing list Edu-sig@python.org http://mail.python.org/mailman/listinfo/edu-sig
-- Andrew N. Harrington Computer Science Department Director of Academic Programs Loyola University Chicago http://www.cs.luc.edu/~anh 512B Lewis Towers (office) Office Phone: 312-915-7982 Snail mail to Lewis Towers 416 Dept. Fax: 312-915-7998 820 North Michigan Avenue aharrin@luc.edu Chicago, Illinois 60611
On 4/16/07, Michael Tobis <mtobis@gmail.com> wrote: << SNIP >>
Mostly, I'd like to hear what you think I've left out (or anything I've gotten wrong).
I think there's plenty that's right in your draft. In addition to Seymour Papert and Alan Kay, Kenneth Iverson is another important figure vis-a-vis CP4E as his thrust, like mine, was to make Math Notation (MN) come alive in an interactive environment (per APL & J in his case, more Pythonic in ours). http://www.cacs.louisiana.edu/~mgr/404/burks/language/apl/camnweb/camn.htm Although Iverson somewhat disavowed Wolfram's status as his protege and/or acolyte (per correspondence I saw on a J list), Mathematica *does* dramatically illustrate the role of computer software in the domain of math learning and modeling today. Python isn't Mathematica, but nor is it a "just a calculator" either. You can use it, in combination with add-ons, to study cellular automata, fractals, plus traditional basic math topics such as polynomials, polyhedra, group theory, trigonomety, matrix algebra etc. etc. Plus OOP gives a way to supply missing concreteness to math objects, without sacrificing their status as abstractions. Once you get passed the considerable barriers to putting Python in front of a student, ready for action, you come up against the question: what is it we're wanting to learn with assistance from our charming snake? Why do we care about turtles, robots and such? What's the bigger picture? The Shuttleworth Foundation (kusasa.org) writes in terms of developing "analytical thinking". Or call it problem solving abilities. And what are the problems? They're very "real world" for one thing, involve energy and opportunity costs (doing more of this means doing less of that). I'll through out "model view controller" (MVC) as still an important design pattern. I think you get into that when you start talking about developing for the web. HTML provides a view. There's often a database in the picture, maybe several. http://www.4dsolutions.net/ocn/geoquiz.html Rather than repeat myself endlessly, I'll just trail off by saying Python needs a context, doesn't necessarily supply one all on its own. Nor is Sugar (the GUI) nor a laptop computer in and of itself sufficiently "contextual" to guide our choices of emphasis and focus when it comes to curriculum writing for the emerging shared future. The questions go deeper than that e.g. "what is school really *about*?" The positive spin here is this question really is pretty open ended. I'm not trying to close down discussion by leaving it here. However, per my own CP4E curriculum writing it's quite certain that students are learning Python because they're wishing to develop their analytical and problem solving skills around specific content and/or real world challenges. Mathematical techniques and algorithms, pivotal concepts, remain a proper focus for these investigations, always have, always will. And the positive spin here is: lots of backward compatibility with pre-computer texts, even if they're out of print and/or just get shared around in electronic format. Kirby
Michael Tobis wrote:
My thoughts on Python in education
Nice. I'm still thinking about your earlier request to articulate why I use, care about, and want to promote Python (and by extension, why I'm excited about OLPC using it, and why I'm pushing that forward). There are lots of simple answers that I find unsatisfying and incomplete, and I haven't yet found a way to cogently express the more complex answer. -- Ivan Krstić <krstic@solarsail.hcs.harvard.edu> | GPG: 0x147C722D
Well, if you (and anyone else) could take a stab at it this week I'd appreciate it. I am finalizing the article this weekend. Of course, better late than never, but better sooner than late is also true... mt On 4/17/07, Ivan Krstić <krstic@solarsail.hcs.harvard.edu> wrote:
Michael Tobis wrote:
My thoughts on Python in education
Nice.
I'm still thinking about your earlier request to articulate why I use, care about, and want to promote Python (and by extension, why I'm excited about OLPC using it, and why I'm pushing that forward). There are lots of simple answers that I find unsatisfying and incomplete, and I haven't yet found a way to cogently express the more complex answer.
-- Ivan Krstić <krstic@solarsail.hcs.harvard.edu> | GPG: 0x147C722D
participants (4)
-
Andrew Harrington -
Ivan Krstić -
kirby urner -
Michael Tobis