This is an old revision of the document!
Table of Contents
Course Outline
The course outline is a guideline to topics that will be discussed in the course, and when they will be discussed. It will be updated with materials, readings and additional information as we proceed with our classes.
Week 1
Context for design; What is design; Eiffel programming; classes; and objects. Software Quality & Engineering – Abstract data types;
- Readings required: Chapters 7, 8, Chapter 11 Section 10
- Readings background: Chapters 1, 2, 6 – Also see links under Eiffel on the resources page on estudio guided tour
Slides:
Case studies:
Week 2
Bottom up design; Documentation; BON static model; Design patterns: Adapter pattern
- Readings required: Chapter 27 Section 7
- Readings background: Chapters 6, 26, 27
Slides:
Structural Pattern:
Week 3
Design patterns:BON dynamic model; Assertions;
- Readings required: Chapter 11 Sections 1 to 9
Slides:
Week 4
Agents & tuples;Basis of Design by Contract; Genericity; Criteria for Modularity (Design rules to Ensure Modularity, and Software Construction Principles);
- Readings required: Chapter 11 , Chapter 3, 10 (Modularity and Genericity)
Slides:
Quiz 1 (September 27, 2012):
- BON
- ADT
- Adapter pattern
Week 5
Memory Management; Design rules and principles: Exceptions and Exceptions Handling Referential transparency; Active data structures; Testing with Espec;
- Readings required: Chapter 12
Slides:
Resources:
Week 6
Inheritance; Inheritance and adaptation
- Readings required: Chapter 14
Slides:
Quiz 2:
- Agents and Tuples
- Assertions
- Design by contract
Week 7
Multiple and Repeated Inheritance,
- Readings required: Chapter 14
Mid-Term
Thursday Oct. 18 2012, during the lecture (90min). Covers everything including Introduction to Inheritance.
Week 8
Inheritance and design by contract and genericity; global objects; Singleton design pattern
- Readings required: Chapters 15, 16 & 18
Quiz 3:
- Memory Management;
- Design rules and principles
- Exceptions
Week 9
Designing classes; Design Patterns – Decorator, Composite
Quiz 4:
- Inheritance
Week 10
Design patterns – Iterator, Visitor, Command
Week 11
Design patterns – State, Abstract Factory & Builder
Quiz 5:
- Design patterns
Week 12
Design patterns – Prototype & TBA