This ... Is ... Sparta!
CSE 335: Software Design
Spring 2009   •   Scott D. Fleming, Instructor

Syllabus


# Date Lecture Topic Readings Homework Projects
1 Jan 13 Introduction OO § 1-2
(MM § 1-2, 16)
H1 asgd.  
Foundations: Language Mechanisms and Primitive OO Concepts
2 Jan 15 Classification and Inheritance      
3 Jan 20 Polymorphism   H1 due  
4 Jan 22 Class-Association Modeling OO § 3-3.3,
4-4.2
H2 asgd.
(Updated 1/23)
 
Synthetic OO Design Concepts and Design for Reuse
5 Jan 27 Abstract Operations OO § 4.5 H2 due  
6 Jan 29 Composite Object Structures
Pseudo-Quiz Q1
DP 163-173
OO § 4.4
H3 asgd. P1 asgd.
(Updated 2/4)
7 Feb 3 Separating Concerns: Visitors and Abstract Factories
Solution to Visitor Sequence Diagram Activity
(Note: Abstract Factories is covered exclusively in the readings)
DP 87-96,
331-344
H3 due  
8 Feb 5 More on the Visitor Pattern
Make Tutorial
Extended Expr-Visitor Example
  H4 asgd.  
9 Feb 10 Mixin Classes and Policies   H4 due  
10 Feb 12 E1: 7:00-9:00pm in 1279 Anthony Hall
• Covers all prior lectures, readings, and homework
Practice questions
     
11 Feb 17 E1 Debriefing     P1 mlst. #1
12 Feb 19 Reusable, Customizable Strategy Objects DP 315-330    
13 Feb 24 Reusable, Extensible Collaborations DP 139-150,
293-304
  P1 due
14 Feb 26 Reusable "Units" of Behavior: Roles and Collaborations   H5 asgd. P2 asgd.
15 Mar 3 In-Class Activity   H5 due  
16 Mar 5 Documenting and Reasoning About Collaborations OO § 7.2, 8.2 H6 asgd.  
SPRING BREAK
17 Mar 17 Collaboration Synthesis      
18 Mar 19 Mediated Collaborations and Loose Coupling
Solution to F06 E2 Question 1a
DP 273-282   P2 mlst. #1
19 Mar 24 More on Mediators OO § 14 H6 due  
20 Mar 26 E2: 7:00-9:00pm in 1145 Engineering Bldg.
• Emphasizes post-E1 material (including RCObject)
Practice questions
     
21 Mar 31 E2 Debriefing      
Software Architectures and Larger System Design Issues
22 Apr 2 Intro to Software Architectures and Concurrency   H7 asgd. P2 due
23 Apr 7 Multithreaded Control OO § 5-6 H7 due P3 asgd.
(Updated 4/16)
24 Apr 9 Guest Speaker: David Bryson
• Lead developer for the Avida project
• Bring questions!
  H8 asgd.  
25 Apr 14 Synchronization and Monitors
Multithreaded Sequence Diagram Tutorial
  H8 due  
26 Apr 16 Active Object Lifecycle   H9 asgd.  
27 Apr 21 Pseudo-Quiz Q2   H9 due  
28 Apr 23 State Modeling and Analysis      
29 Apr 28 More on State Modeling     P3 due
30 Apr 30 E3: 7:00-9:00pm in 1145 Engineering Bldg.      
E3 Debriefing: Wednesday, May 6, 12:45-2:45pm

Valid HTML 4.01 Strict Valid CSS!