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.
Context for design; What is design; Eiffel programming; classes; and objects. Software Quality & Engineering – Abstract data types;
Slides:
Case studies:
Bottom up design; Documentation; BON static model; Design patterns: Adapter pattern
Slides:
Structural Pattern:
Design patterns:BON dynamic model; Assertions;
Slides:
Agents & tuples;Basis of Design by Contract; Genericity; Criteria for Modularity (Design rules to Ensure Modularity, and Software Construction Principles);
Slides:
Quiz 1 (September 27, 2012):
Memory Management; Design rules and principles: Exceptions and Exceptions Handling Referential transparency; Active data structures; Testing with Espec;
Slides:
Resources:
Inheritance; Inheritance and adaptation
Slides:
Quiz 2:
Multiple and Repeated Inheritance,
Slides:
Mid-Term
Thursday Oct. 18 2012, during the lecture (90min). Covers everything including Introduction to Inheritance.
Global objects; Singleton design pattern
Slides:
Quiz 3 (Oct 26):
Design patterns – Facade, Command, Iterator, Visitor
Quiz 4 (Tuesday, Nov 6, 2012):
Slides:
Design patterns – Abstract Factory & Builder
Slides:
Quiz 5 (Thursday):