Programming in C/C++ (Bachelor), 2V+2Ü (6 LP) (englisch) - Blockkurs online

This is a non-basic programming course for C/C++.
The course and the exercises will be taught online via Zoom.


  • Variables, basic data types, scopes and lifetime
  • Functions
  • Pointers and references
  • Arrays
  • STL - dynamic data structures, iterators and algorithms
  • Classes, inheritance, RAII
  • Dynamic and Static polymorphism, templates
  • File handling
  • Exceptions
  • Threads and OpenMP
  • Graphs and graph algorithms

Course Organization

  • Six intensive days: Mon-Wed 04.09.-06.09. and Mon-Wed 11.09.-13.09.
  • Each day, there will be two lectures (at 8:30 and at 13:30) and one or two exercise sheets, one larger exercise from 06.09. to 11.09.
  • (Don't plan on much else during these days. Make sure to properly schedule and prepare your meals, ... and sleep).
  • On Wednesday 13.09., there is no lecture in the afternoon.
  • Lectures and exercises will be offered online only. Slides and video recordings will be made available.


  • You need to bring basic programming skills in whatever language. E.g., you should have passed Informatik I+II or equivalent.
  • You need to register in InfoMark (you have to (re-)register, old accounts cannot be used).
  • You need to execute Exercise 0 before the lecture starts.


  • You will be graded based on the exercises. There is no exam, neither written nor oral.
  • You need 50% of the total exercise points and at least 10% on each individual sheet to pass.


  • We strongly encourage forming groups of 2.
  • Solutions will have to be handed in via InfoMark. They will be analyzed automatically to some degree.
  • Tutorials will be offered in the form of parallel breakout rooms on Zoom.

Programming Environment

  • You will program on your own PC or laptop.
  • Exercise Sheet 00 contains a detailed guide for how to install the programming environment on your system. Please do not deviate from this guide - we can not give support for setup related errors that are out of scope of this guide.
  • Make sure to install and test everything before the course starts. You need to be ready to directly start with the exercises. This means you should have successfully processed all steps in Exercise 0.