CompSci 108
Fall 2008
Software Design and Implementation
Date Topic Reading Classwork Assignment Due
25 Aug Course Overview
Introduction
Survey
27 Aug Design in the Small OO in One Sentence
Open Closed Principle
Code Smells
Bins
29 Aug Eclipse
Unit Testing
Test Infected Bins
1 Sep Inheritance Design Inheritance Lendables Bins
3 Sep Code Review Introductions
5 Sep Catch Up Liskov Substitution Principle Roulette
8 Sep GUIs and Events User Interfaces that Swing Events Roulette
10 Sep Code Review Using Swing Components
12 Sep GUI Design Single Responsibility Principle Jotto
15 Sep Event Driven Programming Writing Listeners Roulette 2.0
17 Sep Guest Speaker: Aaron Patzer
Founder of Mint.com
Observer Jotto
19 Sep Reflection The Reflection API Jotto 2.0
22 Sep Code Review Dependency Inversion Principle
24 Sep Design Patterns Design Patterns
26 Sep Generics Generics NanoGoogle 0.1
29 Sep Team Meetings NanoGoogle review
1 Oct Code Review
3 Oct Java IO Basic I/O
6 Oct Code Review Interface Segregation Principle NanoGoogle 1.0
8 Oct Teams Review Extreme Programming
10 Oct Patterns Revisited Foundation Patterns NanoGoogle 2.0
Jotto 3.0
13 Oct Fall Break - No Class
15 Oct Introduction to Python Python for Java Programmers Bins
17 Oct Scripting Scripting Roulette NanoGoogle analysis
20 Oct Python Lab Python is Not Java
22 Oct Python Lab
24 Oct Python Lab Tag Cloud
27 Oct Team Meetings OO Software Development
29 Oct Design Review Josh Bloch on Design Fennec 1
31 Oct Integrating Java and Python Working with Jython and Java
3 Nov Interface Face-Off Fennec 2, 3
5 Nov Designing with Patterns Designing a Document Editor
7 Nov Team Meetings Writing Listeners
10 Nov Designing Programs UML Quick Guide Scooter Fennec 4
12 Nov Animation Basics Introducing OO Frameworks VOOGA 1
14 Nov Networking Framework Custom Networking Chat Fennec analysis
17 Nov Animation Framework Animation Tutorial Bounce VOOGA 2
19 Nov Interaction Using Key Bindings
21 Nov Data Driven Design Technical Introduction to XML VOOGA 3
24 Nov Progress Demos VOOGA 4
26 Nov Thanksgiving - No Class
28 Nov Thanksgiving - No Class
1 Dec Code Review
3 Dec Path to the Profession ACM Code of Ethics
IEEE Code of Ethics
Ten Commandments of Computer Ethics
5 Dec Course Critique VOOGA 5
11Dec Final Demos (2-5pm) VOOGA 6, 7