Object-Oriented Software Construction
|
| Announcements | Description | Schedule | Grading | Textbooks | Readings | Slides | Project | Contacts |
Still available: last year's page.
23 June 2005
22 June 2005
14 June 2005
13 June 2005
8 June 2005
6 June 2005
3 June 2005
30 May 2005
26 May 2005
25 May 2005
24 May 2005
12 May 2005
11 May 2005
9 May 2005
4 May 2005
2 May 2005
29 April 2005
25 April 2005
24 April 2005
21 April 2005
17 April 2005
14 April 2005
12 April 2005
11 April 2005
10 April 2005
4 April 2005
31 March 2005
29 March 2005
Object-Oriented Software Construction
Course code: 251-0250-00
See official
ETH page on this course
This course will explore a number of issues, both practical and theoretical, raised by object technology, especially when applied to large, ambitious, long-running projects with high quality requirements.
Some practice of object-oriented development and knowledge of an object-oriented language and basic design patterns. Attendance of the winter semester course 251-0239-00 Trusted Components is desirable.
The goal is to provide students with solid knowledge of:
Weekly schedule
Office hours: By appointment. RZ J4.
Semester schedule (tentative)
| Wednesday 30 March | Lecture 1: Introduction, Modularity (1) |
| Monday 4 April | Lecture 2: Modularity (2) |
| Wednesday 6 April | Lecture 3: Abstract Data Types |
| Monday 11 April | Lecture 4: Objects |
| Wednesday 13 April | Lecture 5: Project Presentation |
| Monday 18 April | Lecture 4: Objects (2) |
| Wednesday 20 April | Lecture 4: Objects (3) |
| Monday 25 April | Lecture 6: Genericity |
| Wednesday 27 April | Lecture 7: Inheritance |
| Monday 2 May | Lecture 8: Inheritance (continued) |
| Wednesday 4 May | Lecture 8: Inheritance (continued) |
| Monday 9 May | Lecture 9: Introduction to Patterns, Model View Controller and the Observer Pattern |
| Wednesday 11 May | Lecture 10: Project Presentation |
| Monday 16 May | No lecture (Pfingstmontag) |
| Wednesday 18 May | Lecture 11: Design by Contract |
| Monday 23 May | Lecture 12: Design by Contract (continued) |
| Wednesday 25 May | Lecture 13: Design by Contract (continued) |
| Monday 30 May | Lecture 14, 15: Presentation of EiffelStudio and Ace Files (first hour), Exception Handling (second hour) |
| Wednesday 1 June | Lecture 16: Object Persistence |
| Monday 6 June | Lecture 17: Testing Object-Oriented Software |
| Wednesday 8 June | Lecture 18: A Design Example |
| Monday 13 June | Lecture 19: Concurrency and Real-Time Systems |
| Wednesday 15 June | Lecture 20: Design Principles |
| Monday 20 June | Lecture 21: Agents and Tuples (1) |
| Wednesday 22 June | Lecture 21: Agents and Tuples (2) |
| Monday 27 June | Lecture 22: Typing Issues, Covariance |
| Wednesday 29 June | Final exam |
Important: No "Testat" is delivered or "mündliche Prüfung" provided for this course. The only way to get a grade is to take the exam and the project. This applies regardless of your department or status.
Bertrand Meyer: Object-Oriented Software Construction, second edition. Prentice Hall, 1997.
Recommended:
Erich Gamma et al.: Design Patterns. Addison-Wesley, 1995.
Bertrand Meyer: The power of abstraction, reuse and simplicity: An object-oriented library for event-driven design . Springer-Verlag, Lecture Notes in Computer Science, 2003.
David L. Parnas: On the Criteria To Be Used in Decomposing Systems into Modules. Communications of the ACM, Communications of the ACM, 15, 12, (December 1972), p 1053 - 1058
C.A. R. Hoare: An Axiomatic Basis for Computer Programming. Communications of the ACM, 1969.
IEEE Std 1063: IEEE Standard for User Documentation
IEEE Std 1233: IEEE Guide for Developing System Requirements Specifications
IEEE Std 830: IEEE Recommended Practice for Software Requirements Specifications
Niklaus Wirth, “Program Construction by Stepwise Refinement”, Communications of the ACM, 14, 4, (April 1971), p 221-227
Karine Arnout, “EiffelStudio: A Guided Tour”
| 1, 2: Modularity | PowerPoint | PDF 1up | PDF 4up |
| 3: Abstract Data Types | PowerPoint | PDF 1up | PDF 4up |
| 4: Objects | PowerPoint | PDF 1up | PDF 4up |
| 5: Project and EiffelStudio Presentation | PowerPoint | PDF 1up | PDF 4up |
| 6: Genericity | PowerPoint | PDF 1up | PDF 4up |
| 7: Inheritance | PowerPoint | PDF 1up | PDF 4up |
| 8: More on Inheritance | PowerPoint | PDF 1up | PDF 4up |
| 9: Introduction to Patterns, Model View Controller and the Observer Pattern | PowerPoint | PDF 1up | PDF 4up |
| 10: Project Presentation | PowerPoint | PDF 1up | PDF 4up |
| 11: Design by Contract | PowerPoint | PDF 1up | PDF 4up |
| 12: Design by Contract (continued) | PowerPoint | PDF 1up | PDF 4up |
| 13: Design by Contract (continued) | PowerPoint | PDF 1up | PDF 4up |
| 14: Presentation of EiffelStudio and Ace Files | PowerPoint | PDF 1up | PDF 4up |
| 15: Exception Handling | PowerPoint | PDF 1up | PDF 4up |
| 16: Object Persistence | PowerPoint | PDF 1up | PDF 4up |
| 17: Testing Object-Oriented Software | PowerPoint | PDF 1up | PDF 4up |
| 18: A Design Example | PowerPoint | PDF 1up | PDF 4up |
| 19: SCOOP: Simple Concurrent Object-Oriented Programming | PowerPoint | PDF 1up | PDF 4up |
| 20: Design Principles | PowerPoint | PDF 1up | PDF 4up |
| 21: Agents and Tuples | PowerPoint | PDF 1up | PDF 4up |
Project specification: Object Spyglass
Supporting material:
Last modified: 23.06.2005 by Ilinca Ciupa