This is intended to be a relatively short list of resources on using Python as a language for a first course in Computer Science. Send suggestions or comments to firstname.lastname@example.org.
- Learning Python, Third Edition, Mark Lutz (2007)
- Python Programming: An Introduction to Computer Science by John Zelle, also here
- Python Programming for the Absolute Beginner (2/e) by Michael Dawson
- Starting Out with Python (2009)
- Practical Programming: An Introduction to Computer Science Using Python by Jennifer Campbell et al.
- Think Python: How to Think Like a Computer Scientist, older versions here and here
- Course Bibliography (see page attachments)
- Python for CS1, CS2 and beyond - Krishna K. Agarwal and Achla Agarwal, Journal of Computing Sciences in Colleges, v20n4, pp262-270, April 2005.
- Python as a First Language - John M. Zelle, 2004.
- ACM SIG CSE - Special Interest Group on Computer Science Education
- cs21 - Introduction to Computer Science, Swarthmore.
- MIT 6.01 The new version of this required first course for EECS majors at MIT uses Python and not Scheme.
- MIT 6.189 - MIT's 6.189, A Gentle Introduction to Programming Using Python offered in January 2008
Tutorials and guides
- The Python Tutorial - The "official" Python tutorial from python.org.
- Python by Examples - A nicely done site that shows examples of the most useful Python Library functions, methods, and classes.
- (the eff-bot guide to) The Standard Python Library - Free pdf versions of chapters from Fredrik Lundh's 2001 book. He also has many short articles on python online.
- Lectures on Computational Economics - Provides a good, general introduction to Python and then discusses issues relevant to computational economics
Blogs and feeds
- Neopythonic - Guido van Rossum's new blog
- delicious popular python - Popular bookmarks on Del.icio.us tagged with Python.
- Eric - Python IDE
- IPython - Enhanced interactive interpreter
- bpython - Simpler enhanced interactive interpreter
- DreamPie - Another enhanced interactive interpreter
- Guido van Robot - Simplified, Python-based language for beginners
- RUR-PLE - Robots environment with real Python, and lessons
- NumPy - Scientific computing/Linear algebra/Arrays package for Python
- SymPy - Symbolic manipulation/Computer algebra package for Python
- PIL - Python Imaging Library (image processing and 2D graphics)
- VPython - Visual (3D graphics)
- PyUnit - Unit testing framework for Python
- LEPL - Recursive descent parser library for Python
HTML Presentation Tools
- Crunchy - Crunchy is an application that formats and delivers html-written Python tutorials inside a browser window, adding interactive elements and snazzy navigation.
- Slidy - This is the package that the W3c recommends.
- S5 - Simple Standards-based Slide Show System. Several enhanced/alternate version are available, including S5 1.29 , S6 and S9.
- webslideshow - "Discussion forum/mailing list about free web slide show alternatives such as S5, S6, S9, FullerScreen, Presentacular, Slidy, Codex, and friends."