Organization
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. |
Programming
|
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 |
Programming
|
49. 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.