Python First

What is "Computer Literacy"?

What is "Computer Literacy"?

Papert

ui/papert.png

Papert's Query

Should the computer program the kid

or...

Should the kid program the computer?

Seymour Papert

Kay

ui/akay.jpg

Kay

"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 (!)

What is "Computer Literacy"?

What is "Computer Literacy"?

What is "Computer Literacy"?

What is "Computer Literacy"?

Python First - A Brief History Part I

ui/guido.png

Python First - A Brief History Part I

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

CP4E

"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

DARPA Proposal

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!

Why is Python the Best Computer Language?

Many reasons. Often not articulated well.

I think we should articulate them.

My theory of reason #1:

Why is Python the Best Computer Language?

It is the only language

co-designed

for the most advanced and the complete novice.

Useful Consequences

"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

So what happened?

CP4E fizzled for an amazing reason

So what happened?

CP4E fizzled for an amazing reason

Python is too valuable as a commercial tool to leave the core team worrying about children!

So what happened?

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

Everybody needs a native language

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?

Dijkstra

ui/dijkstra.jpg

Dijkstra

"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."

Python First

Five (Six?) Audiences:

PyVangelism

Learning is the killer app for Python

Python is weak in the younger age groups

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)

The Good News

Python is booming in colleges and universities

The Really Spectacular Kick-Butt News

?

The Really Spectacular Kick-Butt News

ui/olpc.jpg

OLPC

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...

So what is it?

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!

Why does this matter to us?

This can be Python's killer app.

Why does this matter to us?

This can be Python's killer app.

(oh yeah, and save the world too...)

Survey of Resources and Article

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!