Computer Programming
for Everybody

Jeffrey Elkner

Presentation @ National Science Foundation

May 11, 2004

A Teacher's Journey into

Free Software, Computer Literacy, and Python

Computer Programming for Everybody

Computing devices and computer use is ubiquitous

An understanding of what they are and what they can do is empowering

High level languages make programming accessible

Wide spread knowledge of programming could change the way people interact with computers

3 Compontents of Guido's Proposal

Develop a new computing curriculum suitable for high school and college students.

Create better, easier to use tools for program development and analysis.

Build a user community around all of the above, encouraging feedback and self-help.

CP4E was never fully funded, but the project proceeded anyway...

Active edu-sig@python.org mailing list

Python taught in a growing number of Colleges and High Schools

Several introductory texts using Python

Better tools and teaching materials

Where is CP4E Today?

Without any funding...

How did they do it?

Python is Free Software

anybody can look at it

anybody can contribute

The Python community

a friendly, open environment

a collaborative space

The Internet and the World Wide Web

How we did it: CP4E on a shoestring...

The program can be run for any purpose (freedom 0)

The program can be studied and adapted to your needs (freedom 1)

Copies of the program can be redistributed to help your neighbor (freedom 2)

You can improve the program and release your improvements, so the whole community benefits (freedom 3)

It is Free Software if...

And this matters

because?

You need to be well read to read well...

Rosanne Rocchino, 10th grade English teacher

Developing a new curriculum:

Guido van Robot (GvR)

What is GvR?

A programming language

An educational tool

A free software development project

GvR Features

A “Pythonic” Karel the Robot

Only five instructions

No variables

Easy to read

Visual run-time environment

GvR in the Classroom

What does it look like?

Let's pause here to see Guido

in operation...

What do students learn?

Sequencing

Conditional branching

Looping

Procedural abstraction

How do they like it?

"Guido v. Robot is a great program for computer science classes. By working with Guido I learned about looping, conditional branching, sequencing and other terms that I was not familiar with before. I really enjoyed working with this program because it was a "mind teaser". The tasks we had to create for Guido were complicated and got harder each day. The time it took to complete a lesson increased with each new topic."	Blaine Hitt

GvR as a Path to Python

Free intro programming tool

Pythonic syntax

Python references in lessons

Future Goals

More teachers using GvR (GvR community)

GUI world builder

More lessons (including advanced applications)

Now, just imagine what we could accomplish with a bit of funding...

2004-05-09T09:55:41