Hasso-Plattner-InstitutSDG am HPI
Hasso-Plattner-InstitutDSG am HPI

Advanced Programming in C++ (Wintersemester 2016/2017)

Dozent: Prof. Dr. Jürgen Döllner (Computergrafische Systeme)
Tutoren: Willy Scheibel Daniel Limberger Jan Ole Vollmer

Allgemeine Information

  • Semesterwochenstunden: 4
  • ECTS: 6
  • Benotet: Ja
  • Einschreibefrist: 28.10.2016
  • Lehrform: VU
  • Belegungsart: Wahlpflichtmodul

Studiengänge, Modulgruppen & Module

IT-Systems Engineering BA
IT-Systems Engineering MA
  • IT-Systems Engineering A
  • IT-Systems Engineering B
  • IT-Systems Engineering C
  • IT-Systems Engineering D
  • IT-Systems Engineering Analyse


The course "Advanced Programming in C++" provides a fast-paced introduction to the C++ programming language. You will learn the required background knowledge, including

  • built-in data types,
  • memory management,
  • pointers and references,
  • object-oriented programming,
  • generic programming,
  • functional programming, and
  • the C++ standard library.

In addition, various best practices for developing large-scale software projects are presented. Furthermore, we introduce tools and processes required to systematically and automatically build C++ software systems.


This course addressess multiple programming styles and professional programming, including system build processes, multi-person code development, raw memory management, and performance optimization. As another general aspect of advanced programming, we aim at robust, performing, industrial-strength code. We assume basic knowledge in programming techniques and software engineering in general.

For the assigments and hands-on sessions, a C++14-enabled compiler (GCC, Clang, MSVC), git, and CMake are required. Additionally, we assume you solve the assignments on either Windows, Linux, or macOS.


For introduction and deeper understanding of C++ and advanced programming techniques, we propose the following literature:

  • Bjarne Stroustrup: “The C++ Programming Language”, Addison-Wesley Professional, ISBN 978-0321563842
  • Bjarne Stroustrup: “A Tour of C++”, Addison-Wesley Professional, ISBN 978-0321958310
  • Scott Meyers: “Effective Modern C++”, O’Reilly Media, ISBN 978-1491903995
  • John Lakos: “Large-Scale C++ Software Design”, Addison-Wesley Professional, ISBN 978-0201633627

Lern- und Lehrformen

We provide lectures, the script, and assignments (approx. 6, started and reviewed every other week).

Assignments can be solved in groups of maximum two students and include both theoretical and practical tasks.


After the lectures, a written examination (approx. 120 minutes) is used for scoring.

Participants can complete assignments (approx. 6, started and reviewed every other week). Upon successful presentation of an assignment during the tutorial sessions, bonus points to the written examination can be gained.


Lecture and tutorials are held two times a week:

  • Monday 13:30 - 15:00 in HS3
  • Wednesday 09:15 - 10:45 in HS3

The first lecture is on Monday, October 17th 13:30.