[Edu-sig] Squeezing Python into CS1 (was Beyond CP4E)

John Zelle john.zelle at wartburg.edu
Mon Apr 18 02:13:53 CEST 2005

Hello Chuck,

Welcome aboard. I'm a fan and user of the "Thinking in" series so I'm 
pleased to meet you (virtually, that is).

As far as your question about how to convince others to give Python a 
try, I think you already hit one of the nails on the head when you wrote 
of the "crowded" CS1 curriculum. One of the main reasons for switching 
to Python is that it clears a lot of room to talk about what's really 
important in CS1, namely algorithmic thinking and problem solving. In 
fact, I frequently argue that Python allows you to "squeeze" the most 
out of CS1. Python greatly simplifies syntax, memory-model, parameter 
passing, class declaration/use, and collections, to name just a few off 
the top of my head. It does this w/o sacrificing any power, and it is a 
real-world language to boot. In my experience compared to languages like 
Java and C++, students have anywhere from 30-50% more time to actually 
use their skills and practice solving problems. We routinely have our 
students do 20-25 progamming projects in a semester of CS1.

Another advantage to stress is the ease of experimentation. The 
simplicity of Python code means students can and will try out multiple 
approaches. In Java, students are loathe to tinker with a program that 

I would also point out that I've never heard of any program that tried 
Python in the early classes and regretted it. It really does have 
compelling advantages.

The beauty of Python is that one can become proficient in only a few 
weeks' effort. If you get your fellow faculty to try Python, I'm sure 
they'll be amazed at how quickly they pick it up. I know folks who have 
been teaching C++ for years, but still do not really know the language 
well (myself included). And of course, Java 1.5 is a bit of a new beast 
as well.

Plus, there are some good Python textbooks out there now ;-).


Chuck Allison wrote:
> Hello Arthur,
> Boy this is getting thick! Confident humility is quite attainable.
> (Just ask me :-).
> (Please forgive the top-post. And being new here, let me
> self-introduce: I'm a college CS professor (with 20 years development
> experience) trying to get Python in our curriculum (with some
> success), a colleague of and co-author with Bruce Eckel, and attended
> my first PyCon last month, at his invitation).
> Perhaps we can switch for a moment to the task of trying to squeeze
> Python into an already crowded curriculum to teach CS1. Any ideas
> would be appreciated. My main obstacle is to get consensus from the
> rest of the faculty (they don't know Python).

John M. Zelle, Ph.D.             Wartburg College
Professor of Computer Science    Waverly, IA
john.zelle at wartburg.edu          (319) 352-8360

More information about the Edu-sig mailing list