Advanced Aspects of Object-Oriented Programming (summer term 2009)
New exam date: 23.10.2009
This lecture furthers knowledge and skills in the domain of object-oriented software development. Focus is on operational semantics of object-oriented languages, modularity and encapsulation, typing and type systems, and specification of program properties including tools and techniques supporting verification and checking. Further information is available in the corresponding KIS entry and the “Modulhandbuch” for Bachelor & Master Studies.
Please do not hesitate to get in touch with the contact person listed below in case of questions or problems.
The lecture will take place on Tuesdays in room 48-462 at 11:45.
The lecture is structured into the following chapters. The slides for the chapters will usually be made available a day before the lecture.
Chapters for which the slides are available:
2. Objects, Classes, Inheritance
3. Subtyping and Parametric Types
4. Object Structures, Aliasing, and Encapsulation
5. Specification and Checking
6. Concurrency and Distribution (complete chapter)
7. Program Frameworks
8. Component Software
- 30.07.2009 at 09:00, 09:30, etc.
- 19.08.2009 at 09:00, 09:30, etc.
- 18.09.2009 at 09:00, 09:30, etc.
- 23.10.2009 at 09:00, 09:30, etc.
- For later dates, please contact us.
The exam will take place under the form of an oral exam (Duration: between 15 and 28 min.). In order to do the exam in July or August, you need to fix an exam date before the 16.07.09 in our secretary’s office (Judith Stengel). Furthermore, you need to register with your examination office (Prüfungsamt).
The practice aims at consolidating acquired knowledge with the help of exercises. Students will present their solutions and discuss them with the tutor. As in recent years, it is planned to have at least twelve practice sheets and a corresponding number of meetings with the tutor.
The Tuesday exercise class will be in German. Please also note that the Friday exercise class starts at 10:00 (not 10:30 as mentioned in KIS). You are allowed to work in groups. For group work, please send your solution in only once.
- uebung01.pdf Additional material
- uebung02.pdf Additional material
- uebung03.pdf Additional material
- uebung04.pdf Additional material
- uebung07.pdf Additional material
- uebung08.pdf Queue example annotated
- uebung09.pdf Taxpayer (Solution)
- uebung11.pdf Calculator.java
- Konzepte objektorientierter Programmierung (Arnd Poetzsch-Heffter) : Online version if accessed from University network.
- Abstraction, Encapsulation, and Information Hiding (Edward V. Berard)
- Encapsulation is not information hiding (Paul Rogers)
- Secrets of equals() (Angelika Langer)
- Class-Based vs. Prototype-Based Languages
- Java Reflection Tutorial
- Supplementary Notes on Inheritance and Subtyping (Jonathan Aldrich)
- Featherweight Java (Igarashi, Pierce, Wadler)
- Confined Types (Jan Vitek, Boris Bokowski) (accessible from the TU network)
- Balloon Types:Controlling Sharing of State in Data Types (Paulo Sergio Almeida) (accessible from the TU network)
- Flexible alias protection (Noble, Vitek, Potter) (accessible from the TU network)
- Ownership types for flexible alias protection (Clarke, Potter, Noble) (accessible from the TU network)
- JML Home Page
- RMI specification
If you have any questions regarding the exercises, do not hesitate to get in touch with the contact person listed below.