Week 1

Introduction to Linux, and a little Python.

Making introductions.
Due by Wednesday, 9/12.
Getting to know Linux.
Do this by Wednesday, 9/12, but don't hand anything in.
Reading: Zelle, Chapters 1-3
Do this by Friday, 9/14. Zelle's book is best read while you have access to a Python interpreter, so you can experiment with the examples given in the book.

Week 2

Python basics.

Playing with strings.
Due by 11:59PM Monday, 9/17.
Reading: Zelle, Chapter 4
By Monday, 9/17.
Reading: Zelle, Chapters 6 and 7
By Wednesday, 9/19.
Triangular numbers.
Due by 11:10AM Monday, 9/24.
Word statistics.
Due by 11:10AM Wednesday, 9/26.

Week 3

Using libraries and objects.

Reading: Zelle, Chapters 5 and 8
By Friday, 9/28. You might find Chapter 8 useful sooner, though.
Lab: Playing With Graphics
Wednesday, 9/26, in CMC306. Faces due 11:10AM Monday, 10/1.

Week 4

More objects, more functions.

Reading: Zelle, Chapter 10
By Friday, 10/5.

Week 5

Data representation and an in-class exam.

In-class exam, closed book.
Wednesday, 10/10, 11:10AM-12:20PM, CMC209. This exam will cover concepts from class, the textbook (Chapters 1-8 and 10), the assignments you've done, the sample programs we've looked at in class (see the left-hand margin of this page), and the graphics lab.

Week 6

Break, plus recursion.

A graphical city.
Due by 11:10AM Wednesday, 10/17.
Reading: Zelle, Chapter 13
By Friday, 10/19.

Week 7

Algorithms and data representation.

Some recursive functions.
Due by 11:59PM Wednesday, 10/24.
Reading: Wikipedia articles on Two's Complement, ASCII, and Unicode.
By Friday, 10/26.

Week 8

Takehome exam, image processing.

Binary arithmetic.
Due on paper at 11:10AM Monday, 10/29.
Takehome exam.
Due by noon Friday, November 2.

Weeks 9, 10, and finals

Final project, plus miscellaneous topics in class

Final project.
Due in two parts. Project description on paper at noon Friday, Nov 9, and final code and documentation by 5:00 PM Monday, Nov 19.