Summer 2013
Paul Laskowski
paul at ischool dot berkeley dot edu
Office Hours: Monday 11:30-12:30, Rm 211

Zachary Schneider
zschneider at berkeley dot edu
Office Hours: TBA

Meeting Time:
MWF 9:00-11:30

Course Description: An introduction to computer programming using the Python language and emphasizing algorithmic problem solving. This course will guide students through the elements that compose any programming language, including expressions, control of flow, data structures, and modularity via functions and/or objects. Covers traditional and contemporary programming paradigms including sequential, event-based, and object-oriented programming.

A laptop is required during lecture. This course uses Python 3, which includes substantial changes compared to Python 2.x. You will need to install Python on your laptop before the second class (Wed 7-10). The latest version of Python 3 can be found at in the download section.

Windows users will need to download a windows installer. There are actually two installers available. The one labeled 64 will only work on 64-bit systems. To see whether your Windows version is 64-bit, see the instructions at:

Mac users also have two installers, depending on their version of Mac OS. For OS 10.6 users, you can find out whether your processor is 32 bit or 64 bit by following the instructions here:

Textbook: William F. Punch and Richard Enbody. The Practice of Computing Using Python, 2nd edition. Addison-Wesley, 2013.

Note: There is an e-book version of the text with a special price of $41.99 (as of July 5, 2013). Additional details are at:

Collaboration Policy
Individual assignments: you can work together up to and including the development of pseudo-code and a file with all comment lines, but you must write the program itself on your own.
Group assignments: All members must contribute to writing the program

All assignments are due at 9am on the due date.
Final grade will be based on assignments, quizzes, the final project, and class participation.