The solutions of the final exam are now available in the exams section.
Template and solution cpp files are now provided for some old exams.
The solutions as well as the results of the endterm exam have been uploaded in the exams section.
Find a mock exam in the exams section.
Older exams are now available with and without solutions.
A question about solving non-linear equations has been added to Exercises6.
There will be a question and answer session in January, see overview table below.
A moodle webpage has been setup for questions regarding the lecture material, final exam and the mathematical content of the course.
The results of the midterm exam have been uploaded in the exams section.
Refresh this page when you visit again, as your browser might use an older cached version.
|Question and answer session||
|Final exam (conducted in 2 cohorts)||
|Exercises||Hand in on||Discussion date||Solutions|
|Exercises 0||October 1||October 1||Solutions 0|
|Exercises 1||October 8||October 8, 15||Solutions 1|
|Exercises 2||October 25||October 22, 29||Solutions 2|
|Exercises 3||November 5||November 5, 12||Solutions 3|
|Exercises 4||November 21||November 19, 26||Solutions 4|
|Exercises 5||December 6||December 3, 10||Solutions 5|
|Exercises 6||December 17||December 17||Solutions 6|
Exercises are optional and do not affect the final grade. However, it is strongly recommended that you invest time to understand and practice the concepts discussed in the lectures. Solving the exercises is also an effective preparation for the coding problems in the examination.
New exercises are released every two weeks. If you want your solutions to be corrected by your teaching assistant, please submit them using the online submission interface. Please submit before the end of the first day of the discussion dates, and you should receive feedback by the next week.
An optional study center will be offered during which the assistants will be at your disposal for questions. The room is equipped with a blackboard, screens and configurable tables. You can use this room for solving the exercises.
The group allocation can be changed here: https://echo.ethz.ch/
|Day and Time||Room||Assistant(s)||Language|
|Mo 10-12||CLA E4||Lorenzo Baldassari||English|
|Mo 10-12||LFW B3||Tal Ben-Nun||English|
|Mo 10-12||LFW E13||Tandri Gauksson||English|
|Mo 10-12||ML J34.1||Marcello Longo||English|
|Mo 10-12||ML J34.3||Fabian Schwarz||German|
|Mo 10-12||ML J37.1||Soumil Gurjar||English|
|Mo 13-15||CAB G 51||Anklin Valentin||German|
|Mo 13-15||HG E33.3||Felix Sarnthein||German|
|Mo 13-15||LEE D105||Shruti Thota||English|
|Mo 13-15||LFW B3||Erik Orvehed Hiltunen||English|
|Mo 13-15||LFW C11||Pedro Daniel Partida Guitron||English|
|Mo 13-15||LFW C5||Shigang Li||English|
|Mo 13-15||ML F40||Marcin Copik||English|
We use the gcc compiler (with the gnu++14 dialect) and the linear algebra library Eigen. You should have C++ with Eigen ready to use before the tutorial, so that basic issues can be addressed during the tutorial itself.In most Linux distributions (including on ETH computers) Eigen is pre-installed. Otherwise it can be downloaded from here. Eigen is a template library, therefore no installation is required. The library is usually located in
/usr/include/eigen3. If your compiler can't find Eigen, try to compile with
g++ eigen_demo.cpp -I/usr/include/eigen3.
To work with Eigen on Windows you can either (in order of recommendation):
ssh USERNAME@slab1.ethz.ch(you can also try with
Two 30 minutes long, paper-based, closed book examinations will be held during the semester. These short exams are optional and count at most as a 20% bonus on the final exam grade. More precisely: Let MAX be the maximum number of points one can get at the final exam and let FINAL be your own points at the final exam. Moreover, let MIDTERM and ENDTERM be numbers between 0 and 0.1, indicating the bonus from midterm and endterm exam respectively. Then your total points will be:
min(MAX, round((MIDTERM + ENDTERM) * MAX) + FINAL)
g++ filename.cpp. No make/cmake files will be provided (but you can make your own if you want).
./a.out < tests.txt.