Concepts of C++ Programming
Contents
First, the module studies the basic concepts of the C++ language (syntax, strong typing, type deduction, focus on runtime efficiency). Then, the module studies the central, modern C++ programming concepts. The goal is that participants get a solid and thorough understanding of important and modern C++ concepts.
Organization
- Lecture with integrated exercises:
- Lecture with integrated exercises: Mon 14:30–17:00 (s.t.) in MW 0001 (live streamed/recorded)
- Exercise: Tue 14–16 (c.t.) in Interims II HS 2
- Exercises will include hands-on programming tasks
- Weekly homework assignments for grade bonus (0.3), submission using Git
- Language: English
- Module: CIT323000 (formerly IN2377). 6 ECTS, Bachelor/Master elective in various study programs
- Computer-based exam under supervision (90 minutes) with programming exercises, open book, own laptop required.
- Zulip stream for lecture
- Zulip stream for the homework assignments
Prerequisites
The course is aimed at bachelor/master students who have taken the following (or similar) courses:
- IN0001 Introduction to Informatics + IN0002 Fundamentals of Programming
- IN0007 Fundamentals of Algorithms and Data Structures
Prior experience in C++ or C is not required. Experience with imperative and object-oriented programming languages like Java is necessary.
Material
Material and exercises will be regularly provided throughout the semester.
Note: The schedule below is preliminary and is likely to change during the semester.
Date | Topics |
---|---|
15.10. | Overview, Motivation, Hello World
Exercise: (no exercise session, lecture is on Tuesday) |
21.10./ 22.10. | Basic Syntax, Object Model
Exercise: TBD |
28.10./ 29.10. | Declarations/Definitions, Preprocessor, Linker
Exercise: TBD |
04.11./ 05.11. | Pointers, References, Arrays
Exercise: TBD |
11.11./ 12.11. | Conversions and Classes
Exercise: TBD |
18.11./ 19.11. | Copy and Move Semantics
Exercise: TBD |
25.11./ 26.11. | Memory Management and Exceptions
Exercise: TBD |
02.12./ 03.12. | Templates
Exercise: TBD |
09.12./ 10.12. | C++ Standard Library I (Containers, Utilities)
Exercise: TBD |
16.12./ 17.12. | Lambdas and C++ Standard Library II (Algorithms, Functions)
Exercise: TBD |
23.12./ 07.01. | Compile-Time Programming and C++ Standardization
Exercise: TBD |
13.01./ 14.01. | Inheritance
Exercise: TBD |
20.01./ 21.01. | Multi-Threading
Exercise: TBD |
27.01./ 28.01. | Larger Projects and "The Real World"
Exercise: TBD |
03.02./ 04.02. | TBD
Exercise: TBD |