DD2456 Advanced Object-oriented Systems 7.5 credits

Avancerade objektorienterade system

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.

Offering and execution

Course offering missing for current semester as well as for previous and coming semesters

Course information

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.

Equipment

No information inserted

Literature

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

Examination and completion

Grading scale *

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

Examination *

  • HEM1 - Exercises, 1.5 credits, Grading scale: P, F
  • TEN1 - Examination, 6.0 credits, Grading scale: 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: http://www.kth.se/csc/student/hederskodex/1.17237?l=en_UK.

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

Examiner

Karl Meinke

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.

Contact

Karl Meinke, e-post: karlm@csc.kth.se, tel: 790 6337

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.

Supplementary information

The course replaces DD2455 Theoretical Foundations of Object-Orientation