I started writing this article in 2006 using Python’s restructured text. In 2007 I switched to markdown since everything else I was writing used markdown. In particular I switched to the variant of markdown used by the excellent pandoc program. Pandoc does an excellent job of converting markdown to html, latex, pdf, and other formats. The markdown source for this article is available here. Finally the document became so big that I used pandoc to convert it to latex for preparing the final version. I used The htlatex program to generate html for the online version of this document.

Shameless Plug

If you got this far, I would also like to use this space as a shameless plug for two books. At Luther college we use Python for CS1 and CS2. When we decided to make the switch to introducing CS with Python we wanted to provide our students with two semesters of Python. The reason is that after one semester students are just getting comfortable with the language and it does not make sense to push them into a brand new language just as they are getting some comfort. The second reason is that Python really is a great language for teaching data structures. The language makes the algorithms evident by clearing away all of the syntactic clutter. So we (David Ranum and I) wrote a CS2 book called Problem Solving with Algorithms and Data Structures using Python. After we finished the CS2 book we decided to write our own CS1 book as well. This book will be available for Fall 2008 classes from Jones and Bartlett publishers. The tentative title is Python in Context. Please feel free to contact me for more information.