[Edu-sig] Squeezing Python into CS1 (was Beyond CP4E)
john.zelle at wartburg.edu
Mon Apr 18 02:13:53 CEST 2005
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
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
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