Week 1

Introduction to Unix, and a little Python.

Making introductions.
Due 9:50AM Wednesday, 9/16.
Getting to know Unix.
Do this by class on Wednesday, 9/16. There's nothing to hand in.
Counting lines in a file.
Due 5:00PM Friday, 9/18.
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, 9/18, and Chapter 3 by Monday, 9/21. 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 Ben Cochran 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 21.

Week 2

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

A Caesar Cipher function.
Due 11:59PM Wednesday, 9/23.
Another lab on miscellaneous Python, plus some homework (a menu-driven program).
Hand in the homework by 11:59PM Monday, September 28.
Read Chapters 6 (if statements), 7 (functions), and 8 (loops).
Get to this during the coming week.

Week 3

Catching up.

Read Chapter 5 (intro to classes and objects).
By Monday, October 5.

Week 4

Objects and graphics.

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

Week 6

Objects, classes, and Python modules.

A graphical prairie, with mountains.
Due 11:59PM Friday, 10/30. Note the change in due date, because of the network problems we had in class on 10/23.
Have you read Read Chapters 5 and 10 yet?
You should.

Week 7

Data representation, more on classes.

Read about binary numbers, two's complement integer representation, ASCII, and Unicode. The two's complement discussion is in considerable depth, so to shorten the reading, you could 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, 10/28.
Brief notes on hexadecimal numbers.
Read if you need to.

Week 8

Image processing, recursion, searching, and sorting.

Image processing.
Due by 11:59PM Wednesday, 11/4.
Read Chapter 13 of Zelle.
By Wednesday, Nov 3.
Drawing a fractal square.
Due by 11:59PM Monday, 11/9.

Week 9

Algorithms.

Takehome exam.
Due on paper 9:40AM Friday, 11/13.
Final project.
Due by 5:00PM Monday, 11/23.