Lecture and Exercises (LSF)
- Prof. Dr. Robert Strzodka
- Tuesday, 9:15 - 11:00, 11:15 - 13:00
- 4 SWS and 6 ECTS
- Start 03.11.2020
Since 2011 the C++ language has started a dynamic development with 3-year releases from C++11 to C++23 with many new features and idioms. This development is very important because software and hardware complexity have grown greatly and the programming languages must keep pace. Modern C++ feels like a new language. While most of the constructs from C and older C++ versions are still available for compatibility, their use is often discouraged in favor of clearer and faster programming style in modern C++. Whether in industry or academia modern C++ is the language to know.
This lecture is not for C++ beginners! Participants must at least have attended a first C++ course like this one and possess an understanding of all basic language concepts such as references, classes, inheritance, overloading, templates. In addition, several years of programming experience are recommended, otherwise going through the exercises and projects will be very tough. The focus is on guidelines for an effective programming style which makes use of modern language features from the start.
The lecture and exercises are based on the book A Tour of C++ (3rd edition) by Bjarne Stroustrup. What the book tries to achieve is best explained in the note: A shared view of C++. The book can be accessed online at the Heidelberg University Library (direct link to book). Other useful related literature
- Gregory, Kate: Beautiful C++
- Roth, Stephan: Clean C++20
- Bancila, Marius: Modern C++ Programming Cookbook
- Ostrowski, Adrian: Software Architecture with C++
- Weinman, Bill: C++ 20 STL cookbook
- Van Weert, Peter: C++17 Standard Library Quick Reference
- Stroustrup, Bjarne: The C++ programming language
- Dmitrović, Slobodan: Modern C++ for absolute beginners
Each week there will be a reading assignment, in this way we will study the entire book from start to end, one to two chapters per week. The lectures will not be used for presenting the chapters but rather discussing them. There will be regular exercises and an exam at the end.