Advanced Aspects of Object-Oriented Programming (course, summer term 2008)

Content

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 above in case of questions or problems.

Lecture

1. Introduction
2. Objects, Classes, Inheritance
3. Subtyping and Parametric Types
4. Object Structures, Aliasing, and Encapsulation
5. Specification and Checking
6. Concurrency and Distribution
7. Program Frameworks
8. Component Software

Additional Sources

Jan Vitek and Boris Bokowski, “Confined Types in Java”

Practice

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.

Please opt for one of the two offered weekly meetings. Practice will start in the 16th week of the year (14.04.08 - 20.04.08).

Important notice: There will be no tutorial on July, 1st.

1st Practice Sheet
2nd Practice Sheet
3rd Practice Sheet
4th Practice Sheet
5th Practice Sheet
6th Practice Sheet
7th Practice Sheet
8th Practice Sheet
9th Practice Sheet
10th Practice Sheet
11th Practice Sheet
12th Practice Sheet

Additional Sources

Sources of the Tiny Webserver System
Source code of class Permutations (5th Practice Sheet)

Angelika Langer’s Java Generics FAQs
Java theory and practice: To mutate or not to mutate?
Getting started with JML
André Weinand and Erich Gamma, “ET++ – a Portable, Homogenous Class Library and Application Framework”
Trygve Reenskaug’s MVC paper
Java EE 5 Tutorial

Hints & Comments

The following documents provide hints and comments concerning exercises on the practice sheets. Please keep in mind that the documents make no claim to be complete and freedom from error cannot be guaranteed. The resources are neither meant to be a substitute for the offered weekly meetings nor as a transcript. Use the provided resources as an addendum to complement your personal notes. We strongly encourage you to attend to the weekly meetings - keep in mind that “The modul exam is an oral exam about the content of the lecture and the assignments.”

Hints & Comments for Practice Sheet #1
Hints & Comments for Practice Sheet #2
Hints & Comments for Practice Sheet #3
Hints & Comments for Practice Sheet #4
Hints & Comments for Practice Sheet #5
Hints & Comments for Practice Sheet #6
Hints & Comments for Practice Sheet #7
Hints & Comments for Practice Sheet #8
Hints & Comments for Practice Sheet #9
Hints & Comments for Practice Sheet #10
Hints & Comments for Practice Sheet #11
Hints & Comments for Practice Sheet #12

Auxiliary Tutorial

There will be an auxiliary tutorial on August 4th (Monday) in room 34-420 starting at 4.p.m. You will have the opportunity to discuss questions and problems that might have arisen during your exam preparations.

Exams

Oral exams will take place on August 6 - 8 and on September 5. You can sign up for the exam with our secretary during her office hours or by email.

Contact Person

Dipl. Inform. Markus Reitz