Students in a lecture room Copyright: © EECS

In this practical course, the students are to learn and apply the principles of object-oriented programming using the programming language C++ (incl. STL and Smart Pointer). The focus is not on teaching the language elements of C++, but on the application of the conceptual world and program design in the sense of object-oriented programming. Basic knowledge of the C++ language is assumed or may have to be acquired before / during the internship using the Jupyter notebooks and videos under "C++ Introduction", the literature or an online tutorial. The lab course script contains all required syntax elements as a quick reference for reference.

The practical course will be held in the CIP pool of the Faculty of Electrical Engineering and Information Technology (seminar building, Wüllnerstr. 5-7, 2nd floor). Eclipse will be used as programming environment.

The practical task consists of sub-tasks that build on each other and cover the complete language range of C++. These are combined into 2 task blocks. The tasks should be worked on at home.

If someone finishes the respective subtask early, he can continue working on the next subtask. The assignments can be prepared and, if necessary, completed at home or during the normal opening hours of the CIP pool. Data transfer to the CIP pool is possible via e-mail or USB media.

The individual task blocks are tested after completion of the block (see evaluation). The complete solution includes a program executable in the internship environment, a sufficiently documented source code and the answering of questions concerning the learning objectives of the task block. In this semester, the learning objectives are checked by means of E-tests in Moodle and by test certificates from a supervising person.

Schedule of the course

Aufgabe Termin Beschreibung
Registration from 19.09 RWTH-online-Anmeldung
Introductory event 42. week Explanation of the organizational process
Individual training in C++

from 42. week, from 17.10

Depending on previous knowledge and learning progress, this time range can be individually designed.


  • Simple classes
  • Inheritance
  • Operators overload
from approx. 44. week Introduction to the class concept of C++
Implementation of a vehicle
Creation of classes by derivation from a base class
Extension of the derived classes car and bicycle
Definition and application of operators for own classes
Completion Block 1:
Fundamentals of the transport system

48. week, from 28.11

Completion of the first block
latest date for Moodle-ETest and testat for AB1
  • STL
  • Exception Handling
  • templates
  • Graphical representation

49. week,
2. - 4. week

Using the standard template library of C++
Introduction of the class Way
Handling of exceptional situations(errors) in C++
Implementation of a template class for the realization of a list
Graphical representation of the simulation
Introduction of the class Intersection
Completion Block 2:
Extension of the transport system

5. week, from 30.1

Completion of the second block
latest date for Moodle-ETest and testat for AB2
Overall testate

In the period from 12/12/2022 - 6/1/2023 there will be no consultations due to the Mindstorm project and the Christmas vacations. During this time, questions can be asked in the discussion forum.