Course catalog:
252-0847-00L
Lecturers:
Malte Schwerhoff,
Felix Friedrich
Primary educational objective is to learn programming with C++. After having successfully attended the course, students have a good command of the mechanisms to construct a program. They know the fundamental control and data structures and understand how an algorithmic problem is mapped to a computer program. They have an idea of what happens “behind the scenes” when a program is translated and executed. Secondary goals are an algorithmic computational thinking, understanding the possibilities and limits of programming and to impart the way of thinking like a computer scientist.
The course covers fundamental data types, expressions and statements, (limits of) computer arithmetic, control statements, functions, arrays, structural types and pointers. The part on object orientation deals with classes, inheritance and polymorphism; simple dynamic data types are introduced as examples. In general, the concepts provided in the course are motivated and illustrated with algorithms and applications.
Date | Message |
---|---|
18.12. |
Link to online exams: moodle link |
3.1.2020 |
The full handout and full slide set published before Christmas was incomplete. This has now been fixed. As announced before Christmas, the chapter on polymorphism, inheritance and subtyping is not exam relevant. |
8.1.2020 |
In order to get access to the master solutions of the moodle mock exams, we have now made the corresponding code-expert course accessible here . You can subscribe to this course here . |
9.1.2020 |
Permitted examination aids: You may take up to 4 A4 sheets (= comprising 8 pages) into the exam. There are no constraints regarding content and layout (text, images, single/double page, margins, font size, etc.). Electronic devices and digital documents are not allowed. |
This is a plan. No plan survives contact with reality. We will constantly update lecture material before the lectures.
Registration for the exercise sessions will open on Monday, September 16th.
The following exercise sessions are offered:
Time | Place | Assistant |
---|---|---|
Tue 15-17 | HG E 33.1 | Vytautas Astrauskas (EN) |
Tue 15-17 | CHN E 42 | Reza Sefidgar (EN) |
Wed 10-12 | LFW E 13 | Tobias Klenze |
Tue 15-17 | CHN D 44 | Benjamin Rothenberger |
Tue 15-17 | CHN D 48 | David Sommer |
Tue 15-17 | HG E 33.5 | Enis Ulqinaku (EN) |
Tue 15-17 | HG D 5.1 | Moritz Schneider |
Tue 15-17 | CAB G 59 | Sammy Christen |
Tue 15-17 | LFW C 4 | Charlotte Franke |
Wed 10-12 | ML H 41.1 | Viera Klasovita |
Wed 10-12 | HG D 3.1 | Orhan Saeedi |
Wed 10-12 | CHN G 46 | Claire Dick |
Wed 10-12 | HG G 26.3 | Jannik Kochert |
Wed 10-12 | HG G 26.1 | Edoardo Mazzoni (IT) |
Wed 10-12 | HG E 33.5 | Janet Greutmann |
Wed 10-12 | HG E 21 | Tanja Kaister |
Wed 10-12 | HG D 5.3 | Raul Rao |
Wed 10-12 | HG D 3.3 | Kevin Kaiwen Zhang |
Wed 10-12 | HG D 5.1 | Manuel Mekkattu |
Assistants marked with EN teach in English, IT – Italian, all others in German.
Role | Assistant | Notes |
---|---|---|
Head TA | Vytautas Astrauskas (EN) | Main contact for administrative questions |
There will be 3 bonus exercises during the semester (see the agenda above for the schedule). By solving these exercises you will get up to 0.25 grade points added on top of your exam grade. In order to access the bonus exercises you need to unlock them in Code Expert by solving assignments from previous weeks and earning sufficiently many experience points (XP).
To facilitate the introduction to the lecture, especially for beginners in programming, we will provide an introductory tutorial, which can be completed autonomously. We strongly recommend to complete it in the first week of the semester.
Hint: The tutorial is available in both German and English. You can switch the language any time.
Bjarne Stroustrup: Einführung in die Programmierung mit C++, Pearson Studium, 2010 | Also available online from the ETH Domain
Stephen Prata, C++ Primer Plus, Sixth Edition, Addison Wesley, 2012
Andrew Koenig and Barbara E. Moo: Accelerated C++, Addison-Wesley, 2000.
Prof. Dr. Bernd Gärtner and Dr. Michael Hoffmann kindly provided a script (lecture notes) that covers the material presented in the lecture.
In order to get access to old exams and master solutions, please mark that you have understood the statement.