Advanced Aspects of Object-Oriented Programming (summer term 2014)

Announcements

  • The exercise normally held on Thursdays does not take place on the 19th of June. Instead, the exercise will be held on Wednesday, the 18th June at 11:45 in 34-420.

Old Announcements

  • The exercise normally held on Thursdays does not take place on the 29th of May. Instead, the exercise will be held on Wednesday, the 28th May at 11:45 in 34-420.
  • My apologies to the people of the thursday-group. I was late because I had a meeting that took longer than expected. I have made the comments and hints available only. If you have any questions just drop by in my office and I will answer them.
  • The exercise on 14 May 2014 at 10:00 takes place in 57-215 instead of the normal room.
  • The exercise normally held on Thursdays does not take place on the 1st of May. Instead, the exercise will be held on Wednesday, the 30th April at 11:45 in 34-420.

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 “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.

Lecture

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 at least a day before the lecture.

  1. Introduction
  2. Objects, Classes, Inheritance
  3. Subtyping and Parametric Types
  4. Object Structures, Aliasing, and Encapsulation (version with minor updates, 27.5.14)
  5. Specification and Checking
  6. Concurrency and Distribution (updated 1.7.14) (see also slides on JCoBox)
  7. Program Frameworks
  8. Component Software (updated 14.7.14)

Practice

The practice aims at consolidating acquired knowledge with the help of exercises. Students will present their solutions and discuss them with the tutor. You are allowed to work in groups. For group work, please send your solution in only once.

The exercise session takes place on Wednesdays, 10:00 in room 42-110. An alternative session will take place on Thursdays, 17:15 in room 46-268 (we will cover the same material that we cover on Wednesdays).

Exercise Sheets

Exercise Material Hints and Comments
0 PDF Code.zip
1 PDF PDF
2 PDF ObjectOutputStream.java HelloPlugin.jar PDF code02.zip
3 PDF webserver.zip PDF webserver_solution.zip NonNull.zip
4 PDF PDF code04.zip
5 PDF PDF
6 PDF kacheck.zip ConfinedList.zip PDF
7 PDF PDF
8 PDF PDF Queue.java ArrayQueue.java
9 PDF PDF
10 PDF ChatServerSimple.zip PDF ChatServerMT.zip
11 PDF accontrol.zip JCoBoxChat.zip PDF JCoBoxChat_sol.zip accontrolsys_sol.zip
12 PDF mobile_code.zip worker_JCoBox.zip PDF ChatServer_RMI.zip mobile_code_sol.zip worker_sol.zip
13 PDF ladder.zip Slides calculator.zip ladder_sol.zip osgi_sol.zip
14 PDF

Additional Sources

If you have any questions regarding the exercises, do not hesitate to get in touch with the contact person listed below.

Contact Person

Mathias Weber