DD3456 Avancerade objektorienterade system 7,5 hp

Advanced Objekt Oriented Systems

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.

  • Utbildningsnivå

    Forskarnivå
  • Huvudområde

  • Betygsskala

    P, F

Det finns inget planerat kurstillfälle.

Lärandemål

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.

Kursens huvudsakliga innehåll

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

Behörighet

Rekommenderade förkunskaper

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

Litteratur

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

Examination

  • EXA1 - Examination, 7,5, betygsskala: P, F

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.

Ges av

EECS/Teoretisk datalogi

Kontaktperson

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

Examinator

Karl Meinke <karlm@kth.se>

Påbyggnad

To be discussed with the course co-ordinator.

Versionsinformation

Kursplan gäller från och med VT2010.
Examinationsinformation gäller från och med VT2019.