Python Programming: An Introduction to Computer Science

by John M. Zelle, Ph.D.

I have written an introductory CS textbook using Python. It is published by Franklin, Beedle & Associates. If you are interested in reviewing or adopting this textbook, contact Tom Sumner at FBA. Instructor resources including problem solutions and exam questions are available from the publisher. Click an edition below to access edition-specific public resources.

First Edition (Python 2.x) Second Edition (Python 3.x)

Simple Graphics Library:

I have developed an easy-to-use graphics library to introduce object-oriented concepts. The library is released under the GPL, so it is freely available for use and modification. The simple graphics module used in textbook examples. This is version 4.1, and will work with both Python 2.x and 3.x. This is the latest version of the graphics library can be used with either edition of the book. It is known to work under Linux, Windows, and Mac OSX.
Graphics Reference (HTML) Browseable reference documentation for the graphics package
Graphics Reference (PDF) Downloadable/printable documentation for the graphics package

Why Python for CS1?

At Wartburg College we have been using Python extensively in our curriculum since 1998. We have found it to be a near-ideal first language and a useful tool throughout the curriculum. I am convinced from my experiences that Python is a much better for teaching than languages such as Java, C++, or Ada. If you are interested in learning why, check out some of my papers and presentations.

Python as a First Language
Paper presented at 13th Annual Midwest Computer Conference, March 1999. This position paper presents the case for Python in CS1 and CS2 courses. Belorussian translation by Alyona Sinkovich.
Teaching Computer Science with Python
HTML version of a workshop I presented at SIGCSE 2004. sigcse-slides.pdf is a PDF file of the slides, and sigcse-handout.pdf is a handout with 4 slides per page.
Simple not Simplistic: Squeezing the most from CS1 with Python
HTML version of a talk I presented at CCSC Fall 2003. ccsc-slides.pdf is a PDF file of the slides, and ccsc-handout.pdf is a handout with 4 slides per page.

Related Links:

Python Language Homepage

John Zelle, Ph.D.

Wartburg College

Ukrainian translation of this page (h/t Vlad Brown)

French translation of this page (h/t Silvia Moraru)