CSE 335: Software Design
Course Calendar
Spring 2008
(Subject to Change)

Class Date Lecture Topic Assigned Due Optional
1 Jan 7 Introduction Blaha and Rumbaugh Ch. 1 and 2
Foundations: Language mechanisms and primitive OO concepts
2 Jan 9 Classification and Inheritance and
Working with Makefiles (notes on demo)
3 Jan 14 Working with Makefiles, continued (notes on demo) and
Polymorphism
HW1 Make - a tutorial
4 Jan 16 GDB tutorial
Class-association modeling
Blaha and Rumbaugh Ch. 3 - 3.3, 4 - 4.2
Jan 21 No class -- MLK Day HW1
Synthetic OO design concepts and design for reuse:
5 Jan 23 Abstract Operations Blaha and Rumbaugh 4.5 HW2
6 Jan 28 Composite Object Structures Gamma: Composite pattern
Blaah and Rumbaugh 4.4
7 Jan 30 More on UML and
Separating concerns: Visitors and abstract factories , (pdf)
Gamma: Abstract factory pattern
Visitor pattern
8 Feb 4 Separating concerns: Mixin classes and policies , (pdf)
9 Feb 6 Practice Exam
10 Feb 11 Exam 1
11 Feb 13 Exam 1 Debriefing Project 1
12 Feb 18 Exam return, P1 discussion
Abstract Factories
13 Feb 20 Reusable, customizable strategy objects
Interface and Adapters
Gamma: Strategy pattern, Template-method pattern, Adapter pattern, Observer pattern
14 Feb 25 Roles and Collaborations
Modeling and Documenting Collaborations
Blaha and Rumbaugh 7.2 and 8.2
15 Feb 27 Intro to FLTK
Collaboration Synthesis
Mar 3 Spring Break
Mar 5 Spring Break
16 Mar 10 Mediated collaborations and loose coupling and (pdf)
Memory leaks
Gamma: Mediator pattern Project 1
Software architectures and larger system design issues
17 Mar 12 Intro to Software architectures and Concurrency Blaha and Rumbaugh, Ch. 14
HW3
18 Mar 17 Practice Exam
19 Mar 19 Exam 2
Mar 21 HW3
20 Mar 24 Processes, Threads, and
Synchronization
21 Mar 26 Solution to HW3
Introduction to P2
Introduction to programming with ACE
P2
22 Mar 31 no class
23 Apr 2 Exam 2 return and discussion
24 Apr 7 State Modeling (Part 1) and (pdf)
25 Apr 9 State modeling, sequence diagrams, and concurrency concerns HW4
26 Apr 14 Concurrency/synchronization using UML state models and (pdf)
27 Apr 16 Review: Synchronization, Sequence Diagrams
Object labels
State modeling I
State modeling II
In class exercise : Homework 5
P3
28 Apr 21 Brief Review
Sequence Diagram Review
In class exercise : Homework 6
Exam 3 (7-9 pm), ENGR 1345
29 Apr 23 In class exercise : Homework 7
Apr 28, 12:45 - 2:45 pm Exam debriefing
Group exercise : Homework 8

Eileen Kraemer (kraemere@cse.msu.edu)