Object-Oriented Design Winter Term 2009 -- Schedule

Object-Oriented Design
Winter Term 2009 COMP 304B (CRN 728)
Schedule

Monday 5 January Course Introduction/Overview
Tuesday 6 January Python tutorial Trottier 3070, 17:00 - 19:00
Wednesday 7 January Software Processes: from Waterfall to RUP
Friday 9 January Software Processes: productivity and eXtreme Programming
Monday 12 January Software (Unit) Testing
Tuesday 13 January Class Diagram to RDBMS tutorial + UnitTesting assignment Trottier 3120 (Krieble Lab), 17:00 - 19:00
Wednesday 14 January Unit testing example: Roman Numerals
Friday 16 January What does it mean to be Object-Oriented?
Monday 19 January What does it mean to be Object-Oriented ?
Wednesday 21 January What does it mean to be Object-Oriented ?
Friday 23 January The Unified Modelling Language (UML)
Monday 26 January UML: Class Diagrams, Deployment Diagrams
Tuesday 27 January Tutorial/hands-on UML 2.0 design in BoUML + Python code synthesis + assignment Trottier 3120 (Krieble Lab), 17:00 - 19:00
Wednesday 28 January UML: Class Diagrams
Friday 30 January UML: Class Diagrams
Saturday 31 January Assignment 1 due @ 23:55
Monday 2 February UML: Interaction Diagrams (Communication Diagrams)
Wednesday 4 February UML: Interaction Diagrams (Sequence Diagrams)
Friday 6 February UML: Behaviour Diagrams (State Automata)
Monday 9 February UML: State Automata for language recognition
Wednesday 11 February UML: Behaviour Diagrams (Activity Diagrams)
Friday 13 February UML: Behaviour Diagrams (Statecharts)
Monday 16 February UML: Behaviour Diagrams (Statecharts)
Tuesday 17 February Tutorial/hands-on Statecharts Trottier 3120 (Krieble Lab), 17:00 - 19:00
Wednesday 18 February scheduling slack
Friday 20 February Midterm Exam in Trottier 1100
Monday 23 February No class (Study Break)
Wednesday 25 February No class (Study Break)
Friday 27 February No class (Study Break)
Monday 2 March UML: Behaviour Diagrams (Statecharts)
Wednesday 4 March State Space, and Behaviour: invariants
Friday 6 March Design By Contract
Assignment 2 due @ 23:55
Monday 9 March Quality of Design: LSP (co/contra-variance), closed behaviour
Wednesday 11 March Quality of Design: Domains, Encumbrance
Friday 13 March Quality of Design: Law of Demeter, Cohesion
Monday 16 March Design Patterns: Overview, Composite, Singleton
Assignment 3 due @ 23:55
Wednesday 18 March Design Patterns: Command
Friday 20 March Design Patterns: Command
Monday 23 March Design Patterns: Visitor
Wednesday 25 March Design Patterns: Visitor
Friday 27 March Design Patterns: Observer
Monday 30 March Design Patterns: Observer/Template Method
Assignment 4 due @ 23:55
Wednesday 1 April Design Patterns: Model/View/Controller, Adapter
Friday 3 April Design Patterns: combining patterns
Monday 6 April Design Patterns: Factory
Wednesday 8 April Design Patterns: Proxy
Friday 10 April No class (Easter Holiday)
Monday 13 April No class (Easter Holiday)
Tuesday 14 April Final Review
Assignment 5 due @ 23:55
Monday 20 April Final Exam 14:00 -- 17:00