Hide menu

TDDD38 Advanced Programming in C++

Seminars

To find the slides for previous format of the course, see this page.

This page serves as the main page for all the relevant course material. The slides for each seminar is given together with relevant reading material, exercises, tools and other relevant things.

Note that the published slides have extra material compared to the lectures.


Intro lecture 

Introduction and course information: slides (lecture version)
Introduction to the course and some basics.

Reading material:

  • Guide for studying
    This page discusses in depth how to succeed in this course and its examination. Please read through it and take it seriously. This course is a self-study course so you will have to practice discipline to actually learn the contents and this guide give suggestions and insights into how this can be done.

  • Lecture slides on pointers from TDDE18
    If you are new to C++ or C you can read through these slides to get a basic grasp of memory and pointers before moving on to the more advanced document below.

  • Pointers and dynamic memory
    This document serves as a thorough introduction to pointers and dynamic memory conceptually. Generally it is assumed that students are familiar with these concepts from before (see slides linked above), but if you are not then this document is a great starting point for learning how it works.

Exercises:

Recommended reading:


Seminar 1 

Fundamentals I: slides (lecture version)
Data types, implementation-defined behaviour, function overloading, implicit type conversion and IO.

Reading material:

  • Explicit type conversions
    During the seminar we cover implicit type conversion, but not its counter-part: explicit type conversion. Instead I will refer to this document for an introduction to the various ways we can do explicit type conversion.

Exercises:


Seminar 2 

Fundamentals II: slides (lecture version)
Compound types (struct and class), memory layout of objects, constructors, operator overloading and value categories.

Exercises:


Seminar 3 

Templates I: slides (lecture version)
References, function templates, nontype template parameters, explicit template specialization, template argument deduction, overload resolution, compilation and linking.

Exercises:

C++-20 info:

Useful tools:

  • Compiler Explorer - a tool that lets you see the generated assembler of your code, useful to see what is actually generated from your templates (remember to add the -O2 flag).


Page responsible: Christoffer Holm
Last updated: 2026-02-04