TDDD38 · 6 credits · Advanced level (A1N) · Informationsteknologi, Datateknik, Datavetenskap
Advanced Programming in C++
Active · next start HT 2026
53%
passed the latest regular sitting
DAT2 · 13 Jan 2026 · 43 students
50%
passed the regular sittings, all sittings over the last 5 years
DAT2 · 154 students
96%
Harder than 96% of courses at advanced level
Compared with 285 courses at the same level, ordinary exams over the last three academic years. 104 students.
Part of 12 programmes
- Master's Programme in Cybersecurity
- Master's Programme in Computer Science
- Master of Science in Computer Science and Engineering
- Master of Science in Information Technology
- Master of Science in Chemical Biology
- Master of Science in Computer Science and Software Engineering
- Master of Science in Engineering Biology
- Master of Science in Engineering Mathematics
- Master of Science in Applied Physics and Electrical Engineering - International
- Master of Science in Applied Physics and Electrical Engineering
- Bachelor of Science in Computer Engineering
- Bachelor's Programme in Programming
Other module
DAT2 Computer examination
- 5
- 4
- 3
- U
Main rounds
50% passed · 154 students
- 53%43
- 56%61
- 40%50
Later rounds
41% passed · 222 students
- 53%15
- 0%8
- 53%19
- 45%22
- 38%29
- 55%22
- 13%16
- 44%34
- 41%17
- 55%11
- 38%29
- Pass a later round: 41% (222 students), compared with 50% (154 students) on the ordinary exam
- Get 4 or 5: 27% (376 students)
Show small sittings (2)
Sittings with fewer than 5 students, often credit transfers or special sittings. They are not part of any figure on this page.
- 100%1
- 0%2
Other modules
Partial exams, hand-ins and labs. They are not part of the figures at the top.
Other module
DAT1 Computer examination
- 5
- 4
- 3
- U
Main rounds
36% passed · 165 students
- 31%65
- 40%100
Later rounds
33% passed · 208 students
- 60%5
- 11%9
- 58%19
- 30%27
- 11%36
- 33%33
- 19%42
- 59%37
- Pass a later round: 33% (208 students), compared with 36% (165 students) on the ordinary exam
- Get 4 or 5: 17% (373 students)
Show small sittings (10)
Sittings with fewer than 5 students, often credit transfers or special sittings. They are not part of any figure on this page.
- 0%1
- 0%1
- 100%1
- 0%1
- 0%1
- 50%2
- 0%3
- 0%4
- 0%2
- 0%1
Other module
DAK1 Voluntary examination in computer lab (part 1)
- G
- U
Main rounds
53% passed · 17 students
- 53%17
Later rounds
50% passed · 6 students
- 50%6
- Pass a later round: 50% (6 students), compared with 53% (17 students) on the ordinary exam
Show small sittings (1)
Sittings with fewer than 5 students, often credit transfers or special sittings. They are not part of any figure on this page.
- 50%2
Other module
DAK2 Voluntary examination in computer lab (part 2)
- G
- U
Main rounds
40% passed · 10 students
- 40%10
Later rounds
60% passed · 5 students
- 60%5
- Pass a later round: 60% (5 students), compared with 40% (10 students) on the ordinary exam
Show small sittings (1)
Sittings with fewer than 5 students, often credit transfers or special sittings. They are not part of any figure on this page.
- 75%4
Other module
DAK3 Voluntary examination in computer lab (part 3)
- G
- U
Main rounds
64% passed · 11 students
- 64%11
Later rounds
No sittings with at least 5 students.
Show small sittings (2)
Sittings with fewer than 5 students, often credit transfers or special sittings. They are not part of any figure on this page.
- 50%2
- 33%3
Other module
DAT3 Computer examination
- 5
- 3
- U
No sittings with at least 5 students.
Show small sittings (4)
Sittings with fewer than 5 students, often credit transfers or special sittings. They are not part of any figure on this page.
- 100%1
- 100%2
- 100%2
- 0%1
About the course
Aim
The purpose of this course is to study constructions and mechanisms in the programming language C++. The course primarily focuses on advanced constructions and advanced usage of C++, but the course is not a systems development course, a problem solving course, or alike. Upon completion of this course the student should be able to:
- Explain advanced language constructs and their semantics.
- Explain the overall design principles of the C++ standard library.
- Use data types with regards to value category and type semantics.
- Apply non-trivial language constructs to implement generally usable modules that are statically customizable.
- Use different components and techniques from C++ in combination to solve non-trivial computation problems.
Content
The course reiterate topics regarding functions, memory, types, exception handling, classes, inheritance and polymorphism with an in-depth perspective.
The course covers topics of type system, object lifetime, operator overloading, compilation and linking process, namespaces, templates, advanced static constructs, standard library, function objects, new language standards and C++-specific idioms and design patterns.
- Examiner
- Klas Arvidsson
- Scheduled hours
- 84 h
- Main field of study
- Informationsteknologi, Datateknik, Datavetenskap