Week 1

Introduction to Unix, and a little Python.

Making introductions.
Due 9:50AM Wednesday, 1/6.
Getting to know Unix.
Do this by class on Wednesday, 1/6. There's nothing to hand in.
Counting lines in a file.
Due 5:00PM Friday, 1/8.
Reading: Please read the course information page.
Do this as soon as possible. I will assume you have done so.
Reading: Zelle, Chapters 1-3 and sections 4.1-4.5.
For best results, read Chapters 1-2 and sections 4.1-5 by Friday, 1/8, and Chapter 3 by Monday, 1/11. 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. Note that it will take some time to absorb the material in these chapters, so you should write down your main questions as you go, and ask me or the prefect about them in class, prefect sessions, or office hours.
A lab about miscellaneous Python stuff, plus some homework (making change).
Hand in the homework by 11:59PM Monday, September 11.

Week 2

More introductory Python, including functions, conditionals, and loops.

A Caesar Cipher function.
Due 11:59PM Friday, January 15.
Read Chapters 6 (if statements), 7 (functions), and 8 (loops).
Get to this during the coming week.

Week 3

Variations on the themes from weeks 1 and 2.

Read Chapter 5 (intro to classes and objects).
By Friday, January 22.
Another lab on miscellaneous Python, plus some homework (a menu-driven program).
Hand in the homework by 9:50AM Wednesday, January 20.

Week 4

Objects and graphics.

There will be an assignment at the end of Monday's lab.
Due 11:59PM Wednesday, 1/27.
Manipulating weather data.
Due 11:59PM Monday, 2/1.
Read Chapters 5 (intro to classes and objects) and 10 (more on classes and objects).
By Wednesday, January 27.
A lab on graphics, plus some homework (drawing a face).
Hand in the homework by 11:59PM Wednesday, January 27.

Week 6

Objects, classes, and Python modules.

A graphical ocean, with fish and bubbles.
Due 9:50AM Wednesday, 2/17.
Have you read Read Chapters 5 and 10 yet?
You should.

Weeks 7, 8

Data representation. Image processing.

Read about binary numbers, two's complement integer representation, ASCII, Unicode, and Brief notes on hexadecimal numbers. The two's complement discussion is in considerable depth, so to shorten the reading, you should focus on the subsections entitled "Calculating two's complement" and "Addition."
Use these links as resources for your data representation homework.
Data representation exercises.
Due on paper 9:50AM Wednesday, 2/24.
Image processing.
Due by 5:00PM Friday, 2/26.
Read Chapter 13 of Zelle.
By Monday, 3/1.

Week 9

Algorithms and recursion.

Final project.
Due by 5:00PM Monday, 3/15.
The takehome exam.
Due on paper 9:50AM Monday, 3/8.