| 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 |