course_outline
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
course_outline [2011/03/02 23:09] – jonathan | course_outline [2011/04/10 14:22] (current) – jonathan | ||
---|---|---|---|
Line 100: | Line 100: | ||
===== Reading Week - Feb 21 ===== | ===== Reading Week - Feb 21 ===== | ||
+ | **Required readings**: Chapter 21. Inheritance case study. Command pattern and the undo/redo pattern in an interactive system. | ||
- | ===== Week 8 ===== | + | |
+ | ===== Week 8 - Feb. 28 ===== | ||
**Monday**: Labtest2 on SimOdyssey | **Monday**: Labtest2 on SimOdyssey | ||
- | **Wednesday**: | + | **Wednesday**: |
- | **Readings**: | + | **Required |
- | ===== Week 9 ===== | + | ===== Week 9 - March 7th ===== |
- | Inheritance Techniques | + | **Monday**: 09 slides. Challenge Design Question. Answer: Strategy Design Pattern. Design Principle: Encapsulate what Varies. Design Principle: Program to an Interface not to an Implementation. Libraries as "code resuse" |
- | **Readings**: Chapters 16 | + | **Wednesday:** A Design challenge was handed out in class (scene editor). Answer: template pattern. Singleton Pattern with a contract to enforce the singleton. Illustrates Mondays design principles. Discussion of the stripped down version of the Project (TWR and MWR). Question: how would you write a contract to specify TWR and MWR? |
- | How to find the classes - Using Inheritance Well | + | **Required |
- | + | ||
- | **Readings**: | + | |
===== Week 10 ===== | ===== Week 10 ===== | ||
- | **Design Patterns**: Adapter, Composite | + | **Design Patterns**: Adapter |
===== Week 11 ===== | ===== Week 11 ===== | ||
- | **Design Patterns**: Decorator. (We usually cover the command pattern as well, but it was left out due to the fact that the term was compressed; howver, the multi-display pattern uses the command pattern, in part). | + | **Design Patterns**: Decorator |
UML static and dynamic diagrams. | UML static and dynamic diagrams. | ||
+ | |||
+ | We also reviewed DbC. Defensive programming versus non-defensive programming (and when to use the latter or the former). Loop variants and invariants. Exceptions and DbC. Rescuse clauses. Hoare logic for regular calls and Hoare logic for rescue clauses. See chapters in OOSC2 ob DbC. | ||
===== Week 12 ===== | ===== Week 12 ===== | ||
Line 133: | Line 135: | ||
**Design Patterns**: Observer, Visitor | **Design Patterns**: Observer, Visitor | ||
- | Readings from OOSC2: Chapter 1 on Software Reliability. Chapter 3 on Modularity. | + | Readings from OOSC2: Chapter 1 on Software Reliability. Chapter 3 on Modularity.The BON approach. The Osborne curve and desigining for quality. |
===== Final Exam ===== | ===== Final Exam ===== | ||
- | The exam is closed book. A single data sheet (US letter size) will be allowed, but nothing else. Everything covered in class, in the slides, the project, the assignments, the required readings in the text (OOSC2), and the forum, is required for the exam. (See wiki: | + | The exam is closed book. A single data sheet (US letter size) will be allowed, but nothing else. Everything covered in class, in the slides, the project, the exercises and labtests, the required readings in the text (OOSC2), and the forum, is required for the exam. (See wiki: |
Software development is a process of eliciting the customer’s desired Requirements (in the problem domain), coming up with a Design (in the solution domain) to satisfy the Requirements, | Software development is a process of eliciting the customer’s desired Requirements (in the problem domain), coming up with a Design (in the solution domain) to satisfy the Requirements, | ||
+ | |||
+ | We are looking for architectures that support Reliability, | ||
In Design we need to: | In Design we need to: |
course_outline.1299107345.txt.gz · Last modified: 2011/03/02 23:09 by jonathan