Week 1

Introduction to Unix, and a little Python.

Making introductions.
Due 11:10AM Wednesday, 1/5.
Getting to know Unix.
Do this by class on Wednesday, 1/5. There's nothing to hand in.
Counting lines in a file.
Due 5:00PM Friday, 1/7.
Reading: Please read the course information page.
Do this as soon as possible. I will assume you have done so.
Reading: Enbody & Punch, Chapters 0 and 1
For best results, read these chapters by Friday, 1/7.
A lab about miscellaneous Python stuff, plus some homework (making change).
Hand in the homework by 11:59PM Monday, January 10.

Week 2

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

Read Chapters 6 (if statements), 7 (functions), and 8 (loops).
As soon as possible.
A Caesar Cipher function.
Due 11:59PM Friday, January 14.
Another lab on miscellaneous Python, plus some homework (a menu-driven program).
Menu-driven program due 11:10AM Wednesday, Jan 19.

Week 3

More Python. Data representation.

Data representation exercises.
Due on paper 11:10AM Monday, 1/24. brief notes on hexadecimal numbers helpful for some of these questions. Also, Wikipedia has some very long and detailed pages that have good information: binary numbers, two's complement integer representation, ASCII, and Unicode. The two's complement discussion is in considerable depth, so you should focus on the subsections entitled "Calculating two's complement" and "Addition."

Week 4

Catch up. Start graphics.

Reading: Chapters 2, 4, and 5.
This was a big mistake on my part. I thought I had assigned these long ago. Chapter 2 introduces loops and conditional statements, chapter 4 talks in detail about strings, and chapter 5 introduces functions. These topics are at the core of the code you have written and will write. They're undoubtedly still worth reading despite the out-of-order path I have accidentally sent you on. Sorry.
Manipulating weather data.
Due 11:10AM Monday, 1/31.

Week 6

Objects and graphics.

Read Chapters 11 (intro to classes and objects) and 12 (more on classes and objects).
Start soon, but definitely by Monday, February 14.
A lab on graphics, plus some homework (drawing a face).
Hand in the homework by 11:59PM Friday, February 11.

Week 7

Objects, classes, and Python modules.

A graphical prairie, with mountains and buffalo.
Due 11:10AM Wednesday, 2/16.
Have you read Read Chapters 11 and 12 yet?
You should.
Read Chapter 16 on recursion, especially 16.1-4.
There will be a recursion assignment starting Friday, so reading soon would be good

Week 8

Recursion. Image processing. Algorithm analysis.

Drawing a fractal square.
Due 11:59PM Monday, 2/21.
Some image processing.
Due 11:10AM Monday, 2/28.

Week 9

Algorithm analysis. Takehome exam. Other fun stuff.

Take home exam
Due on paper 11:10AM, Monday, March 7.
Final project.
Description due 11:59PM Wednesday, 3/2. Code and documentation due 5:00PM Monday, March 14.