| |
[an error occurred while processing this directive] |
|
Advanced Topics in Object Technology

Bertrand Meyer, Summer semester 2003
Still available: last
year's page.
Announcements |
31 March 2003
- Register to the course: Please send an email
To: atot-course@se.inf.ethz.ch
Subject: ATOT course participant
Content:
- Your name
- Preferred email address
- Status: Diplom student (what semester), Ph.D. student, other.
- Taking the course for credit or not.
- Attach a picture (JPEG, GIF, PNG) if you wish.
- Reading assignment for Monday 7 April 2003: OOSC2
Chapters
- Chapter 1: Software quality
- Chapter 28: The software construction process
- Updated version of the slides for lecture 1
- Changed semester schedule (order of lectures 7 to
13)
|
Description |
|
Title and code
|
|
Advanced Topics in Object Technology
Course code: 37-250
See official
ETH page on this course
Scope
|
|
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.
|
|
Prerequisites
|
|
Good programming experience.
|
|
Objectives
|
|
The goal is to provide students with solid knowledge
of:
|
- Object technology principles and methods
- The practice of object-oriented analysis, design and implementation
- Some open issues
- Some recent developments
- Two specific technologies: Eiffel and .NET
Topics
|
- Quality issues
- Lifecycle
- Abstract Data Types
- Object model choices
- Design by Contract.
- Beyond Design by Contract: specification and proof issues.
- Inheritance techniques
- Design patterns
- Typing issues.
- Covariance and catcalls.
- Language design for flexible typing.
- Reconciling the object-oriented paradigm with other approaches:
functional, logic.
- High-level system structuring.
- Role of graphical formalisms.
- Seamless and reversible development.
- Specific issues of reuse-oriented development.
- Library design principles.
- Concurrent object-oriented development: issues, constraints,
existing proposals, implementations.
- Concurrency variants: multi-threading, distribution.
- Object-oriented project management.
|
Schedule |
Weekly schedule
|
- Monday 9.00 - 11.00, IFW E42.
- Wednesday 10.00 - 12.00, IFW E42.
Office hours: Tuesday 14:15-16, or by appointment.
RZ-F2 (tentative).
|
|
Semester schedule (tentative)
|
| Monday 31 March |
Lecture 1: Introduction, Quality issues, Software
lifecycle |
| Wednesday 2 April |
Lecture 2: EiffelStudio and Project presentation
(by Karine Arnout) |
| Monday 7 April |
Lecture 3: Modularity, Reusability, Abstract
Data Types |
| Wednesday 9 April |
Lecture 4: Objects |
| Monday 14 April |
Lecture 5: Genericity |
| Wednesday 16 April |
Lecture 6: Aspect-Oriented Programming (Guest
lecture by Philippe Lahire, University of Nice, France) |
| Monday 21 April |
No lecture (Easter) |
| Wednesday 23 April |
Lecture 7: Inheritance (by Karine Arnout) |
| Monday 28 April |
Lecture 8: Inheritance (continued) |
| Wednesday 30 April |
Lecture 9: Inheritance (continued) |
| Monday 5 May |
Lecture 10: Design by Contract (by Karine Arnout) |
| Wednesday 7 May |
Lecture 11: Design by Contract (continued by
Bernd Schoeller) |
| Monday 12 May |
Lecture 12: Design by Contract (continued by
Susanne Cech) |
| Wednesday 14 May |
Lecture 13: Exception handling, Design by Contract
outside of Eiffel (by Karine Arnout) |
| Monday 19 May |
Lecture 14: Design principles |
| Wednesday 21 May |
Lecture 15: Design principles (continued) |
| Monday 26 May |
Lecture 16: O-O design: a collective exercise |
| Wednesday 28 May |
Lecture 17: O-O design: a collective exercise |
| Monday 2 June |
Lecture 18: Typing issues, covariance |
| Wednesday 4 June |
Lecture 19: Typing issues, covariance (continued
by Karine Arnout) |
| Monday 9 June |
Lecture 20: Agents and event-driven design |
| Wednesday 11 June |
Lecture 21: Agents and event-driven design (continued
by Karine Arnout) |
| Monday 16 June |
Lecture 22: From design patterns to components |
| Wednesday 18 June |
Lecture 23: From design patterns to components
(continued) (also: Project deadline) |
| Monday 23 June |
Lecture 24: Concurrency |
| Wednesday 25 June |
Lecture 25: Concurrency (continued) |
| Monday 30 June |
Lecture 26: Project collective correction and
preparation of the exam |
| Wednesday 2 July |
Final exam |
|
Grading |
- 60% Project: Development of a "Pattern
wizard" (Deadline: 18 June 2003)
- 40% Exam: 2 July 2003
|
|
Textbook
|
|
Bertrand Meyer: Object-Oriented Software Construction, second edition.
Prentice Hall, 1997.
Recommended:
Erich Gamma et al.: Design Patterns. Addison-Wesley, 1995.
|
|
Slides
|
|
All links are to documents (PDF by default).
Lecture
1: Introduction, Quality issues, Software lifecycle
Lecture 2:
EiffelStudio and project presentation
Lecture
3: Modularity, Reusability, Abstract Data Types
Lecture 4: Objects
Lecture 5: Genericity
Lecture 6: Aspect-oriented programming (guest lecture)
Lecture 7: Inheritance
Lecture 8: Inheritance
(cont'd)
Lecture 9: Inheritance
(cont'd)
Lecture 10: Design
by Contract
Lecture 11: Design
by Contract (cont'd)
Lecture 12: Design
by Contract (cont'd)
Lecture
13: Exception handling, Design by Contract outside of Eiffel
Lecture 14: Design
principles
Lecture 15: Design
principles (cont'd)
Lecture 16: A design
example
Lecture 17: O-O design: a collective exercise
Lecture
18: Typing issues, covariance
Lecture
19: Typing issues, covariance (cont'd)
Lecture 20: Agents
and event-driven programming
Lecture 21: Agents
and event-driven programming (cont'd)
Lecture 22: From design patterns to components
Lecture 23: From design patterns to components (cont'd)
Lecture 24: Concurrency
Lecture 25: Concurrency
(cont'd)
|
|
Contacts
|
|
- Send all email relative to this course to this
address. It will reach the professor and assistants. Do
not use their personal addresses or your message may be missed.
- Contact assistant for the course: Karine Arnout (http://se.inf.ethz.ch/people/arnout,
Office: RZ-F7)
- Webmaster: Click here.
|
|