Week 1

Command-line and functional interfaces.

Reading: McConnell, Chapters 5-7.
Chapter 7 by Wednesday, March 28. The others by Wednesday, April 4.
A web server log summarizer
Due by 8:30 AM Wednesday, April 4. Please hand in via HSP.

Week 2

Visitors (4/2), style, comments, etc.

Reading: McConnell, Section 32.3.
By Friday, April 6.
Prepare for the code reviews.
Reviews will take place on Monday and Tuesday, April 9-10. More details will arrive via e-mail.

Week 3

Code reviews, assertions, and error handling.

Reading: McConnell, Chapter 8.
By Friday, April 13.
Rewrite your log summarizer
Due by 8:30 AM Monday, April 16.

Week 4

Visitor (4/16) and testing.

Reading: McConnell, Chapter 22.
By Wednesday, April 18.
Reading: McConnell, Chapter 23.
By Friday, April 20.
A testing system for a shortest-path program.
Due by 11:59 PM Tuesday, April 24.

Week 5

Programming tools.

Lab exercises on make and subversion.
Also, this Unix scavenger hunt.
In class on Wednesday, April 25.
A shortest-path program.
Due by 5:00 PM Friday, April 27.

Week 6

Use cases.

Reading: Craig Larman's Use Case Model: Writing Requirements in Context, sections 6.1-6.8.
By Friday, May 4.
Use cases.
Due on paper by 8:30 AM Wednesday, May 9.

Week 7

Design patterns.

Reading: Freeman & Freeman, Chapters 1 & 2.
By Friday, May 11.
A weather display program.
Due 8:30AM Monday, May 21.

Weeks 8, 9

User interface design.

Reading: Cooper & Reimann, Chapters 1, 2, 3, 8, 9, 10, 12, 13, 20.
These are the chapters I recommend reading if you want a reasonably brief introduction to some of the core ideas and problem areas in human-computer interaction user interface design. We will talk about these ideas in class May 21 and 28.

Final Project

A shape editor
Due 5:00PM Monday, June 4