This course covers programming languages that belong to the C/C++ family of languages including new forms such as Go and Rust. After this course, students will be able to code in C/C++, are able to understand the commonalities and differences to Java and have an understanding of the latest developments such as C++20 plus new forms such as Go and Rust. Lectures introduce concepts via some live coding followed by some lab sessions where students work on smaller practical exercises. Several (online) quizzes allow students to test their knowledge.
Content.
C/C++ basics.
Recent extensions and new directions.
Written final exam, closed book. Exam questions refer to practical exercises that are covered in the lab.
The students implement projects with an increasing complexity in C++. They have to use generic classes, inheritance, polymorphism, abstract classes and interfaces and concepts for error handling and detection like exceptions and assertions. Additionally they will learn to use elements of the STL and to model the classes and their relationships with UML.
On the homepage: Project description with a step-by-step instruction, Java script, optional exercise with solutions, books:
Laboratory work