CompSci 108
Fall 2006
Software Design and Implementation
Date Topic Reading due Classwork Assignment Due
28 Aug Introduction
Course Details
Survey
Bins
30 Aug Design in the Small Open Closed Principle
Tell Don't Ask
Code Smells
Anagrams
1 Sep Comparing C++ and Java Comparing C++ and Java
Java vs. C++
4 Sep Recitation: C++ Translating Roulette Introductions
6 Sep Markup Languages: HTML and XML
8 Sep C++ Basics TiVOO #1
11 Sep Recitation: Refactoring Extending Roulette TiVOO #2
Roulette #1
13 Sep Pointers and STL Wordlines
15 Sep STL Details Counter
18 Sep Guest: Brian Goldfarb, Microsoft TiVOO #3
Roulette #2
20 Sep Code Review: TiVOO
22 Sep Automating Testing
25 Sep Recitation: Refactoring TiVOO TiVOO #4
27 Sep TiVOO #4.1
29 Sep Design Principles Revisited HTML Writer
2 Oct TiVOO Retrospective XP Chapters 10,11
McCarthy Chapter 1
TiVOO #5
4 Oct Design Patterns Design Patterns
Foundation Patterns
6 Oct No Class TiVOO #6
9 Oct No Class - Fall Break
11 Oct Web Protocols HTTP Protocol
Java URL Class
Web Servers
TiVOO #7
13 Oct GUIs and Events User Interfaces that Swing
Using Swing Components
Events
16Oct Recitation: Project Planning Websta #1
18Oct Reflection The Reflection API ShowClass
MethodButton
20Oct Networking Custom Networking Chat
23Oct Recitation: Java/C++ Quiz Websta #2
25Oct Guest: John Bley, CA, Inc.
27Oct Code Review: Websta Websta #3
30 Oct Recitation: Websta Use Cases
Guest: Ben Wolf
What Time Is It
1 Nov Use Case Review
Guest: Ben Wolf
3 Nov Quiz Follow-up
6 Nov Recitation: Design Exercise Tapestry Chapter 13.3 SLogo Websta #4
8 Nov Design Exercise Follow-up GoF Chapter 2 SLogo #1
10 Nov API Design Josh Bloch on Design Websta #5, 6
13 Nov Animation Animation Tutorial Bounce SLogo #2
VOOGA #1
15 Nov Animation Framework Taligent Chapters 1-3
Unidraw Design
VOOGA #2
17 Nov Interaction VOOGA #3
20 Nov In-class Presentations VOOGA #4
22 Nov No Class - Thanksgiving
24 Nov No Class - Thanksgiving
27 Nov Reflection Revisited Visitor Design Pattern
Multiple Dispatch
Multi-methods
29 Nov Code Review
1 Dec VOOGA Topics VOOGA #5
4Dec Ethics and Programming ACM Code of Ethics
IEEE Code of Ethics
Ten Commandments of Computer Ethics
Discussion
6Dec In-class Demos VOOGA #6
8Dec Course Critique VOOGA #7
15Dec Final Project Demos (2-5pm) VOOGA #8, 9, 10