Week 1

Unix and Python.

Don't know Python?
For a brief introduction, try working through my Python examples. For a more thorough introduction, most people love Dive Into Python, by Mark Pilgrim. In any case, set aside a few hours to get familiar with the basic structures of Python (especially variables, loops, conditionals, functions, classes, lists, and dictionaries). Do this by Wednesday, January 9. Nothing to hand in, but do bring me questions.
Unix scavenger hunt
Due on paper, 9:40 AM Friday, April 3.
Reading: McConnell, Chapters 5-7.
Chapter 7 by Wednesday, April 1. Chapters 5 and 6 by Monday, April 6.

Week 2

Design of functions and simple classes. Style. More Python details.

Your first program: taking over the world with An RSS feed filter.
Due 5:00PM Friday, 10 April 2009. You may work with a partner.
Reading: McConnell, Section 32.3, Chapter 11, and Chapter 8.
By Monday, April 13.

Week 3

Code reviews, assertions, portability.

RSS program revision.
Revise your RSS program based on the feedback you received in the code review (and based on any other insights you have had since writing the program in the first place). Hand it in by 9:50AM Wednesday, April 22, in a folder called rss-revision.

Week 4

make & svn; testing

Read Chapter 22 of McConnell
By Friday, April 24
Lab exercises on make and subversion.
Wednesday, April 22.
Test data for a mailing address analyzer.
Test system due 5:00PM Friday, April 24. Program due 11:59PM Monday, April 27.

Week 5

Java intro, discussion of testing, beginning of polymorphism

Experiment with some of my old Java programs from CS 117 to get a feel for how basic things are done in Java
Monday, April 27, in class
Get started with Java and inheritance by writing a small Animation
Due 8:30AM Friday, May 8

Weeks 6 and 7

Use cases and design patterns

Reading: Craig Larman's Use Cases, sections 6.1-6.8. (Want an opinion piece on use cases? This one by Alistair Cockburn is good.)
By Monday, May 8.
Use cases.
Due on paper by 9:50 AM Wednesday, May 13.
Reading: Chapters 1, 2, and 5 of Head First Design Patterns, by Freeman and Freeman.
As soon as possible this week.
Reading: Chapters 4 and 12 of Head First Design Patterns, by Freeman and Freeman.
Early next week (May 18-20).

Week 8

More design patterns. User interface design.

Stock Markets, the MVC pattern, and the Java GUI classes.
Due 8:30AM Monday, May 25.

Finals week

A small miscellany
Due 5:00PM Monday, June 8, 2009