User Tools

Site Tools


course_outline

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
course_outline [2011/03/09 23:43] jonathancourse_outline [2011/04/10 14:22] (current) jonathan
Line 115: Line 115:
 **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" and Design Patterns as "experience reuse". UML Class diagrams and BON Class Diagrams. **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" and Design Patterns as "experience reuse". UML Class diagrams and BON Class Diagrams.
  
-**Wednesday:** A Design challenge was handed out in class (scene editor). AnswerL template pattern. Singleton Pattern. Illustrates Mondays design principles. Discussion of the stripped down version of the Project.+**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?
  
 **Required Readings**: Chapters 18, 22, 24 **Required Readings**: Chapters 18, 22, 24
Line 121: Line 121:
 ===== Week 10 ===== ===== Week 10 =====
  
-**Design Patterns**: AdapterComposite+**Design Patterns**: Adapter and Composite Patterns
  
 ===== 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 Pattern.
  
 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:resources for a link to test questions from previous years; you may choose to do those that are relevant to the course outline here, but it is not required that you do them).+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:resources for a link to test questions from previous years; you may choose to do those that are relevant to the course outline here, but it is not required that you do them).
  
 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, and then to build an Implementation of the Design in code. The focus of this course is Design.  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, and then to build an Implementation of the Design in code. The focus of this course is Design. 
 +
 +We are looking for architectures that support Reliability, Extendibility, and Reusability.
  
 In Design we need to:  In Design we need to: 
course_outline.1299714218.txt.gz · Last modified: 2011/03/09 23:43 by jonathan

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki