Should the computer program the kid
or...
Should the kid program the computer?
Seymour Papert
"The book did ... allow centuries of human knowledge to be encapsulated and transmitted to everybody; perhaps an active medium can also convey the excitement of thought and creation.
Alan Kay 1972 (!)
Guido as academic
Guido as hobbyist - Python as ABC meets Perl
(much of the best practical work emerges noncommercially because there is no rush)
Guido as academic - proposal to DARPA
"We want to explore the notion that virtually everybody can attain some level of computer programming skills, just as they can learn how to read and write."
Traces back to ideas of Alan Kay and Seymour Papert in the late 60s and early 70s (these names will re-enter the discussion in 2006)
Saw the potential of ubiquitous computing as a potential to democratize rigorous thinking
http://www.python.org/doc/essays/cp4e.html
"The two major research goals are the development of a prototype of a new programming curriculum and matching prototype software comprising a highly user-friendly programming environment. We envision that the typical target audience will consist of high school and (non-CS major) undergraduate college students, although younger students and adults will also be considered. Course and software will normally be used together, so they should be tightly tuned to each other; each will also be usable on its own."
Note: professional writers of prose don't object to teaching writing as well as reading in schools!
Many reasons. Often not articulated well.
I think we should articulate them.
My theory of reason #1:
It is the only language
co-designed
for the most advanced and the complete novice.
"readability counts"
neither objects-in-your-face nor objects-unavailable
good style is learned by example rather than by theoretical rants that you don't have the experience to understand
conceptual growth without pain
CP4E fizzled for an amazing reason
CP4E fizzled for an amazing reason
Python is too valuable as a commercial tool to leave the core team worrying about children!
CP4E fizzled for an amazing reason
Python is too valuable as a commercial tool to leave the core team worrying about children!
To be fair, CP4E is not only non-lucrative, it is speculative, difficult, and not a core competency of the core development team
Also, produced IDLE
I think the grant got cut off halfway, still trying to figure this out
The edu-sig splintered
Anyway some people become programmers. Leaving aside CP4E, what about the core group?
I suffer from being a native speaker of FORTRAN IV
Most people these days are native speakers of Java
We make very different mistakes in Python!
Does the first language matter?
"The use of COBOL cripples the mind; its teaching should, therefore, be regarded as a criminal offense."
"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Five (Six?) Audiences:
Learning is the killer app for Python
Youngest - interesting but limited environments like Squeak and Alice
Self-directed kids - barriers to entry in web work enough higher than Javascript or PHP
Schools - averse to experiment - clueless about CP4E (programming is viewed as vocational rather than intellectual)
Python is booming in colleges and universities
?
Re-enter both Kay and Papert! (They're still around!)
Plus Nick Negroponte's amazing promotional skills.
Plus big money from the good guys: AMD, Google, Red Hat...
Sugar; the entire environment is written in Python
the happily-ever-after self-healing UI!!!
Very interesting demos on youtube; search on OLPC
Squeak/EToys included; see http://www.squeakland.org
Python (and Squeak) suddenly get an audience of millions!
This can be Python's killer app.
This can be Python's killer app.
(oh yeah, and save the world too...)
Coming soon;
See my blog at http://pencilscience.blogspot.com and the next issue of Python Papers
I need a Sugar Buddy (familiarity with Linux a big plus for the setup phase); contact me
I have some ideas of my own I'd like to see on this platform!