Skip to main content
Till KTH:s startsida Till KTH:s startsida

DD1388 Program System Construction Using C++ 7.5 credits

Choose semester and course offering

Choose semester and course offering to see current information and more about the course, such as course syllabus, study period, and application information.


For course offering

Spring 2025 cprog25 programme students

Application code


Headings with content from the Course syllabus DD1388 (Autumn 2021–) are denoted with an asterisk ( )

Content and learning outcomes

Course contents

The development of C++ from C and Simula to ISO standard.

Overview of all parts of C++ according to the ISO standard, including classes, simple and multiple inheritance, overloading, generic functions and classes, exceptions, constant declarations, streams, name spaces, type equivalence and type compatibility, the preprocessor.

Program design with C++: good programming style, procedure at object-oriented development in C++, rules of thumb and tips for design and implementation of C++ programme, support for modularisation, memory handling, making the program code more efficient, common errors and traps, Unicode and localisation, use of the standard library, tools for testing, troubleshooting, static and dynamic linking and name mangling, portability.

Intended learning outcomes

On completion of the course, you should be able to

  • program with dynamic memory allocation,
  • apply the standard library,
  • write correct C++ syntax,
  • write test code,
  • relate to advanced C++ literature,
  • program generics with type parametrization,
  • apply, in C++, your prior knowledge of object-oriented programming,
  • model an extensive object-oriented project,
  • present and justify an object-oriented model

in order to

  • know that you master the whole language C++,
  • with self-confidence be able to take part in C++ projects in the industry and develop or maintain the code.

Literature and preparations

Specific prerequisites

No information inserted

Recommended prerequisites

Knowledge of object orientation and Java programming corresponding to DD1361 Programming paradigms, DD1385/DD2385 Software engineering, DD1346 Object-oriented program construction or DD1332 Object oriented programming.     


No information inserted


No information inserted

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


  • LAB1 - Laboratory assignments, 6.0 credits, grading scale: A, B, C, D, E, FX, F
  • TEN1 - Examination, 1.5 credits, grading scale: P, 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.

Other requirements for final grade

Passed laboratory assignments and examination.

Opportunity to complete the requirements via supplementary examination

No information inserted

Opportunity to raise an approved grade via renewed examination

No information inserted


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 room in Canvas

Registered students find further information about the implementation of the course in the course room in Canvas. A link to the course room can be found under the tab Studies in the Personal menu at the start of the course.

Offered by

Main field of study


Education cycle

First cycle

Add-on studies

DD2480 Software engineering fundamentals


Christopher Peters (

Supplementary information

The course cannot be combined with DD1387 or DD2387.

In this course, the EECS code of honor applies, see: