CompSci 108
Fall 2009
Software Design and Implementation
Date Topic Reading due Assignment Due
24 Aug Course Overview Survey
26 Aug Refactoring to DesignOO in One Sentence
Open Closed Principle
Code Smells
Bins, due Thu., 6pm
28 Aug Code Review
31 Aug Inheritance Design Inheritance
Commonality Analysis
Introductions
2 Sep Eclipse
Unit Testing
Test Infected Arithmetica, due Thu., 10pm
4 Sep Code Review Single Responsibility Principle Book decision
Arithmetica Final, due Sun
7 Sep GUIs and Events User Interfaces that Swing
Using Swing Components
9 Sep GUI DesignWriting Listeners
11 Sep Debugging Jotto, due Sun., 10pm
14 Sep Code Review Liskov Substitution Principle
16 Sep Team Meetings Guide to Versioning Systems Picasso, Team Web Page
18 Sep Reflection
Generics
The Reflection API
Generics
21 Sep Testing Review Picasso, Draft
23 Sep Code Review Dependency Inversion Principle
25 Sep Design Patterns Design Patterns
28 Sep Team Review Extreme Programming
30 Sep Design Patterns Revisited Foundation Patterns Picasso, Final
2 Oct No Class - Out of Town Picasso, Analysis
5 Oct No Class - Fall Break
7 Oct Java I/O I/O Streams
9 Oct Web Sites and HTML Parsing Interface Segregation Principle DataViz, Team Web Page
12 Oct API Design Josh Bloch on API Design DataViz, API, due Tue
14 Oct API Review
16 Oct Guest Speaker: Cy Khormaee DataViz API, due Sat
19 Oct API Presentations Exploit Online Data Sources
21 Oct Code Review Big Ball of Mud
23 Oct Final Project DataViz, Final
26 Oct Animation Custom Animation DataViz, Analysis
VOOGA, Team Web Page
28 Oct Team Meetings Designing a Document Editor
OO Software Development
30 Oct Designing Programs What is Software Design?
SLogo Design Exercise
2 Nov Interaction Using Key Bindings VOOGA, Design Draft
4 Nov Design Review Introducing OO Frameworks
6 Nov Data Driven Design Technical Introduction to XML
9 Nov Project Presentations VOOGA, Initial Program
11 Nov Code Review Use of Heuristics in Design
13 Nov Guest Speaker: Lars Bishop Debugging Lessons
16 Nov Collisions and Design Collision Detection
Physics Engine Issues
VOOGA, Design Revised
18 Nov Design Review Observer VOOGA, Level Editor, due Thu
20 Nov Networking Framework Custom Networking
23 Nov Project Presentations VOOGA, Revised Program
25 Nov No Class - Thanksgiving
27 Nov No Class - Thanksgiving
30 Nov Team Meetings
2 Dec Course Review
4 Dec The Profession ACM Code of Ethics
IEEE Code of Ethics
Ten Commandments of Computer Ethics
VOOGA, Full Draft
11 Dec Final Demos (2-5pm) VOOGA, Final
VOOGA, Analysis, due Sun.