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