Skip to main content
Before choosing courseDD2456 Advanced Object-oriented Systems 7.5 creditsAdministrate About course

This course is an advanced course for students who already have competence in Java/c++/UML and wish to deepen their understanding of the fundamental issues of object-orientation. The course covers both theory and practice.

Course offering missing for current semester as well as for previous and coming semesters
* Retrieved from Course syllabus DD2456 (Spring 2010–)

Content and learning outcomes

Course contents

  • A review of object-oriented themes, terminology, the computational model.
  • OO language features exemplified in commercial and experimental languages such as Java, Self, Ruby, AspectJ etc.
  • Operational semantics of sequential class-based OO languages.
  • Hoare’s logic and JML approach to OO static analysis and verification.
  • Abadi/Cardelli object calculus to model object-based languages and types.
  • Static type checking methods for object-based languages.
  • Live sequence charts for OO use-case requirements capture and validation.
  • Students can choose a practical mini-project related to any one of the above themes.

Intended learning outcomes

Under the heading of practice we will study some advanced OO programming concepts which are featured in object based languages (such as Self), class based languages (such as Ruby), aspect-oriented languages (such as AspectJ) and requirements/design languages (live sequence charts).
We will also focus on the mathematical theory of OO type systems, including static and dynamic type checking, type safety and models of OO languages such as Abadi/Cardelli object calculus.
The course is examined by means of a mini-project and a take home exam.

Course Disposition

No information inserted

Literature and preparations

Specific prerequisites

Single course students: 90 university credits including 45 university credits in Mathematics or Information Technology. English B, or equivalent.

Recommended prerequisites

An introductory course in at least one object-oriented programming language is a prerequisite.
An introductory course in logic is strongly advised.


No information inserted


To be announced on the course web page at least 4 weeks before the course start.

Examination and completion

If the course is discontinued, students may request to be examined during the following two academic years.

Grading scale

A, B, C, D, E, FX, F


  • HEM1 - Exercises, 1,5 hp, betygsskala: P, F
  • TEN1 - Examination, 6,0 hp, betygsskala: A, B, C, D, E, FX, F

Based on recommendation from KTH’s coordinator for disabilities, the examiner will decide how to adapt an examination for students with documented disability.

The examiner may apply another examination format when re-examining individual students.

In this course all the regulations of the code of honor at the School of Computer science and Communication apply, see:

Other requirements for final grade

HEM1 - practical project work, 1,5 hp, grade scale: P, F
TEN1 - Take home exam, 6,0 hp, grade scale: A, B, C, D, E, FX, F

Opportunity to complete the requirements via supplementary examination

No information inserted

Opportunity to raise an approved grade via renewed examination

No information inserted


Profile picture Karl Meinke

Ethical approach

  • All members of a group are responsible for the group's work.
  • In any assessment, every student shall honestly disclose any help received and sources used.
  • In an oral assessment, every student shall be able to present and answer questions about the entire assignment and solution.

Further information

Course web

Further information about the course can be found on the Course web at the link below. Information on the Course web will later be moved to this site.

Course web DD2456

Offered by

CSC/Computer Science

Main field of study

No information inserted

Education cycle

Second cycle

Add-on studies

To be discussed with the course co-ordinator.


Karl Meinke, e-post:, tel: 790 6337

Supplementary information

The course replaces DD2455 Theoretical Foundations of Object-Orientation