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:50 AM Wednesday, January 9.
- Reading: McConnell, Chapters 5-7.
- Chapter 7 by Wednesday, January 9. Chapters 5 and 6 by Monday, January 14.
Week 2
Command-line and functional interfaces
- An e-mailbox summarizer
- Due 9:50 AM Monday, January 21.
- I bet you haven't read last week's reading assignment yet...Reading: McConnell, Chapters 5-7.
- Chapter 7 by Monday, January 14. Chapters 5 and 6 by Wednesday, January 16.
Week 3
Tools, style, etc.
- Reading: McConnell, Section 32.3, Chapter 11, and Chapter 8.
- By Wednesday, January 23.
- Lab exercises on make and
subversion.
- By Friday, January 25.
Week 4
Code review, miscellaneous Python, assertions
- Mailbox summarizer revision
- Due 9:50 AM Wednesday, February 6.
Week 5
Testing, software development processes.
- Reading: McConnell, Chapter 22.
- By Friday, February 8.
- An exercise in building test infrastructures.
- Part 1 (the tester) due 9:50 AM Monday, February 11. Part 2 (the program
being tested) due 9:50 AM Wednesday, February 13.
Weeks 6, 7
Use cases, intro to UML, intro to design patterns
- Getting to know
the eclipse IDE
- In class, Wednesday, February 13.
- 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 Friday, February 15.
- Reading: Read through an introductory tutorial on UML.
Here's one I like pretty well,
and this one's OK, too.
- By Monday, February 18.
- Use cases.
- Due on paper by 9:50 AM Monday, February 18.
- Reading: Freeman & Freeman, Chapters 1 & 2.
- By Wednesday, February 20.
- Reading: Freeman & Freeman, Chapter 4.
- By Friday, February 22.
Week 8
Design patterns, user interface design.
- Reading: Freeman & Freeman, Chapter 12 (espcially pages 526-564).
- By Monday, February 25.
- MVC with a simple M.
- Due 5:00PM Friday, February 29.
Final Exam
- The takehome exam
- Due 5:00PM Saturday, March 15, 2008