Course at D-MAVT of ETH Zürich, September 2019 , Felix Friedrich, Florian Negele
Date | Message |
---|---|
31.8.2019 | Web-Site up. Information: if available, bring a notebook with internet access to the course. We will do the (online) exercises in a tutorial-like style in the second half of each lecture. Using a tablet without keyboard is possible but deprecated. |
Wednesday, 18.09.2019 | HG D1.2 | 13:00-15:00 | Lecture |
---|---|---|---|
15:00-17:00 | Tutorial | Thursday, 19.09.2018 | HG E5 | 13:00-15:00 | Lecture |
15:00-17:00 | Tutorial | Thursday, 20.09.2018 | HG D 7.1 | 13:00-15:00 | Lecture |
15:00-17:00 | Tutorial |
The programming model of C++ is discussed in some depth. In particular the mechanisms for efficient memory management and generic programming with C++ are covered. Students develop an ability to implement memory-efficient data structures and efficient generic algorithms using C++.
Content in detail: Vectors, pointers and iterators, range for, keyword auto, a class for vectors, subscript-operator, move-construction and iteration. RAII (Resouce Allocation is Initialization) Principle, Templates and Generic Programming, Functors and Lambda Expressions.
Prerequisites: Lecture Series Informatik I 252-0832-00L or equivalent knowledge in programming with C++.
This is a plan. No plan survives contact with reality. We will constantly update lecture material before the lecture takes place.
Date | Topic | Slides and Handouts | Exercise |
---|---|---|---|
Wed 18.9. | RAII: vectors, pointers and iterators, range for, keyword auto, a class for vectors, subscript-operator, move-construction, iterators |
Organisation
[de]
[en] Slides [de] [en] Handouts [de] [en] Code Examples [Examples 1] |
[Registration] [Exercise 1] |
Thu 19.9. | Templates: templates of classes, function templates, specialization, templates with values |
Slides
[de]
[en] Handouts [de] [en] Code Examples [Examples 2] |
[Exercise 2] |
Fr 20.9. | Functors and Lambdas: objects with operator (), closures, lambda expressions, captures, function variables |
Slides
[de]
[en] Handouts [de] [en] Code Examples [Examples 3] |
[Exercise 3] |
Bjarne Stroustrup: Einführung in die Programmierung mit C++, Pearson Studium, 2010 | Also available online from the ETH Domain
Bjarne Stroustrup: Chapter 18 from Programming, Principles and Practice Using C++
Andrew Koenig and Barbara E. Moo: Accelerated C++, Addison-Wesley, 2000.