Note: this page was used for MATH121 in the Fall 2014 semester. For current classes, follow the "Teaching" link on the left.

This course will introduce you to computer science in general and computer programming in particular. We'll use Python programming as the vehicle with which to accomplish this, and the class might feel a bit like a simple Python programming class. However, we will do our best to avoid the messy details of programming (even though they're very useful to learn!) and instead focus on the deeper concepts behind the way programming languages work. I hope you'll find the course interesting and a lot of fun.

Course details

Textbook: Composing Programs
Syllabus: Download here
Office hours: Mon. 9-11, Wed. 3-4, Thur. 10-11, Fri. 10-11 (or by appointment)

Useful links

The Python standard library, and in particular the list of built-in functions

Special method names

Built-in exception types

Final projects

This file has the final projects that were volunteered for posting on the class website. This is a zip file, so you should extract from it a large folder, which contains a subfolder for each game. In general you play the game by running the main.py file with Python 3. The games included are:

  • Alex's game, Small Cellar Adventure
  • Andrew Simler's game
  • Chris Orita's game
  • Elijah's game, Gobslay
  • Evan's game, Einstein vs. Australia in Space
  • Heather Milne's game
  • Helen's game
  • Irene's game, Welcome to Night Vale
  • Jules's game, The Eldritch Realm
  • Kaitlin's game
  • Kavya's game, Seeker of Treasuer

All homeworks

Homework 0

Homework 1

Homework 2

Homework 3

Homework 4

Homework 5

Homework 6

Homework 7

Homework 8

Homework 9

All projects

Project 1

Project 2

Project 3

All reading

1.1 and 1.2 due Sept. 4

1.3 and 1.4 due Sept. 5

1.5 due Sept. 8

1.6.1-1.6.4 due Sept. 10

1.6.5-1.6.9 due Sept. 15

1.7.1-1.7.4 due Sept. 19

2.1.1-2.3.3 and 2.4.1-2.5.4 due Oct. 8