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