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

Announcements

  • 26.06.2013: To register for the exam, write an email to our secretary Judith Stengel. The currently fixed dates are 25.07.13 (July), 23.08.13 (August) and 26.09.13 (September).

Old Announcements

  • 26.06.2013: Next week, the dates of the exercise and the lecture will be swapped again. The exercise will take place on Tuesday, 02.07.2013 at 11:45 in 48-462 and the lecture will take place on Wednesday, 03.07.2013 at 10:00 in 42-110.
  • 13.06.2013: There is an error on sheet 9: In exercise 1 b) it reads that you should give an implementation of BlankReader. Instead it should read that you should give an implementation of your StringReader interface.
  • 11.06.2013: Next week, the dates of the exercise and the lecture will be swapped. The exercise will take place on Tuesday, 18.06.2013 at 11:45 in 48-462 and the lecture will take place on Wednesday, 19.06.2013 at 10:00 in 42-110.
  • 05.06.2013: The exercise next week (12.06.2013) will be held in 13-305.
  • 25.04.2013: Because of the holiday, the exercise will be held on Thursday, 02.05.2013 at 17:15 in 46-268 next week. This is only an exception. The weeks after, the exercise will take place at the normal time and in the normal location.
  • 24.04.2013: Sheet 1: If the AgeManager class does not work with an error “Unparsable date”, replace DateFormat.getDateInstance() with DateFormat.getDateInstance(DateFormat.SHORT, Locale.GERMANY) in method AgeManager.add(…).
  • 23.04.2013: When writing me emails regarding this lecture, please start the subject of your mail with the following tag: [FASOOP]
  • 23.04.2013: Those of you which want to participate in the exercise but have not yet found a group to work in, please write me an email.
  • 16.04.2013: The first exercise will take place tomorrow, 17.04.2013, at 10:00 am. We will form groups and discuss the organisation of the exercises.

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
  5. Specification and Checking
  6. Concurrency and Distribution (see also slides on JCoBox)
  7. Program Frameworks
  8. Component Software

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.

Exercise Sheets

Exercise Material Hints and Comments
1 PDF PDF
2 PDF ObjectOutputStream.java HelloPlugin.jar PDF sol02.zip
3 PDF exercise03.zip PDF NonNull.zip
4 PDF webserver.zip PDF webserver_solution.zip
5 PDF PDF solution05.zip
6 PDF kacheck.zip exercise06.zip PDF
7 PDF PDF solution07.zip
8 PDF PDF
9 PDF PDF
10 PDF ChatServer.java PDF Chatserver_Thread.zip
11 PDF accontrolsys.zip JCoBoxChat.zip PDF accontrolsys.zip JCoBoxChat.zip
12 PDF PDF factorize.zip ChatServer_RMI.zip
13 PDF ladder.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