Object-Oriented Design Lectures
Lectures
- Intro
- Software Process
- What does it mean to be Object-Oriented ?
(Page-Jones Chapter 1. p. 3 - 47)
- UML: Classes, Attributes and Methods
(Page-Jones Chapter 3. p. 85 - 101)
- UML: Class Diagrams
(Page-Jones Chapter 4. p. 107 - 130)
- UML: Object-Interaction Diagrams
(Page-Jones Chapter 5. p. 237 - 160)
- UML: Finite State Automata
- UML: Activity Diagrams (Petri Nets (pdf),
examples (xpns))
- UML: State Diagrams
(class transparencies (pdf) based on
David Harel.
On Visual Formalisms.
Communications of the ACM,
31(5):514-530. May 1988.
(only accessible from within the mcgill.ca domain),
Page-Jones Chapter 6. p. 164 - 181 is optional reading)
The drawingTool example from class.
- UML: Architecture Diagrams, Package Diagrams
(Page-Jones Chapter 7. p. 188 - 196).
- Criteria for good OO design: Encapsulation and Connascence.
(Page-Jones Chapter 8. p. 207 - 229).
- Criteria for good OO design: Domains, Encumbrance and Cohesion.
(Page-Jones Chapter 9. p. 233 - 253).
- Design Patterns: Observer.
(GoF p. 293 - 303).
- State-space and Behaviour.
(Page-Jones Chapter 10. p. 259 - 272).
- Design Patterns: Command.
(GoF p. 233 - 242).
- Type conformance and closed behaviour.
(Page-Jones Chapter 11. p. 278 - 294).
- Design Patterns: Composite.
(GoF p. 163 - 173).
Tutorials
- Graphical User Interface (GUI) development in Python/Tkinter. By
Bruno Dufour.
Leacock 321. Wednesday, February 6, 2002. 6:00-8:00 p.m.
Do not forget the "official"
Tkinter tutorial by Fredrik Lundh !