Week 1
Introduction to Unix, and a little Python.
- Making introductions.
- Due by Wednesday, 4/1 (no fooling).
- Getting to know Unix.
- Do this by Wednesday, 4/1, but don't hand anything in.
- Reading: Zelle, Chapters 1-3 and sections 4.1-4.5.
- Read Chapters 1-2 and sections 4.1-5 by Friday, 4/3. Read Chapter
3 by Monday, 4/6. 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 Reid Gilman about them in class, prefect
sessions, or office hours.
- Writing and running a Python program.
- Do this by Friday, 4/3, but don't hand anything in.
- A lab about strings, plus some homework.
- Hand in the homework by 11:59PM Wednesday, April 8.
Week 2
Loops, conditionals, functions.
- A menu-driven program.
- Due by 8:30AM Monday, 4/13.
- Read chapters 6, 7, and 8.
- By Monday.
Week 3
Objects, modules, and Zelle's graphics module.
- Read chapter 5.
- By Wednesday.
- Lab: Playing With Graphics
- Wednesday, 4/15, in CMC306. Faces due 5:00PM Friday, 4/17.
Week 4
Files, lists, etc.
- Read sections 4.6 (files) and 11.1-4 (lists).
- By Wednesday.
- A spell-checker
- Due 8:30AM Monday, 4/27.
Week 5
Midterm exam, starting on the City assignment.
- Nothing new
Week 6
Object-oriented programming, data representation
- Read the Wikipedia articles on
ASCII,
Unicode,
and two's complement integers.
- By Friday, May 8.
- A graphical city
- Due 8:30AM Monday, 5/11.
Week 7
Data representation, algorithms.
- Read sections 13.1 and 13.3
- By Monday, 5/18
- Some binary arithmetic
- Due on paper at 8:30AM, Friday, 5/15.
Week 8
Algorithms and their analysis. Image processing.
- An image processing
program.
- Due 11:59PM Friday, May 22.
Weeks 9, 10, and finals
More algorithms, recursion, and misc.
- Your takehome exam.
- Due on paper 8:30AM Friday, May 29.
- Your final project.
- Due 5:00PM Monday, June 8.