Week 1
Unix and Python.
- Read, test, and play around with the programs available at
my Python page.
- Nothing to turn in. Bring questions to class on Wednesday, January 6.
- Reading: The Tar Pit by Fred Brooks.
Available via Moodle.
- By ready to discuss in class on Wednesday, January 6.
- Unix miscellany
- Due on paper, 8:30 AM Friday, January 8.
Week 2
Functional and command-line interfaces. Style.
- Readings: Functions from Clean Code by Robert C. Martin,
and
High-Quality Routines and The Commento
from Code Complete by Steve McConnell,
- Posted on Moodle. Read by Monday, January 11.
- A Python warm-up
- Hand in via Collab by 8:30AM Wednesday, January 13
- Taking over the world with
an RSS feed filter.
- Due 8:30AM Wednesday, 20 January 2010. You may work with a partner.
We will have code reviews for this assignment.
Week 3
Catch-up & code reviews.
- Reading: Assert Yourself by Steve Maguire.
Available via Moodle.
- Read it soon.
- Code reviews and RSS revision.
- Reviews will be Thursday and Friday Jan 21-22. Revision due Wednesday, Jan 27.
Weeks 4 and 5
Testing & tools.
- Test-driven development: test cases for Mancala.
- Submit via e-mail to Jeff by 8:30AM Monday, February 1.
-
- Test-driven development part 2: Mancala implementation.
- Have ready to test by 8:30AM Friday, February 5.
-
- Mancala lab.
- Final program plus report due by the end of the day Sunday.
-
Weeks 6, 7
Object-oriented design
- An animation with a class hierarchy of sprites.
- New due date: 8:30AM Monday, February 22
- Reading: Freeman and Freeman, Chapters 1 and 2.
- Soon. We'll start discussing this on Monday.
Week 8
Design patterns and a visitor
- Send me via e-mail at least two ideas for a final project.
- End of the day Wednesday, Feb 24
- A stock market viewer.
This assignment has been cancelled.
- Due date: 8:30AM Monday, March 1.
- Reading: Freeman and Freeman, Chapters 4 (factories) and 12 (model-view-controller).
- Soon. We'll discuss both in class Wednesday, and your assignment
for March 1 is based on Chapter 12.
Week 9
User interface design. Use cases.
- The final project
- Description and interface diagrams due Monday, March 1 in class on paper.
Final product due 5:00PM Monday, March 15.
- Reading: Tidwell, Preface and Chapter 01.
- We'll be talking about this on Monday, and go deeper into the
book later next week.
- Reading: Tidwell, Chapters 03 (navigation) and 05 (actions).
- Of the programs you use, what has good navigation? Bad navigation?
Where does the good/bad navigation experience come from? How could you
replicate the good? (Same questions for actions.) Let's talk
on Wednesday.