- Rima Alaifari
- Alexander Dabrowski and Pratyuksh Bansal
The final exam of the NumCSE course will take place in the HG building in two batches on Monday 22 January 2018. Depending on the alphabetical order of your last name, you must go to:
- G1 at 9:00, if your last name is [Amevor-Huber]. Your exam will start at 9:20 and end at 12:40. You will not be allowed to leave the room before 12:40.
- E26.1 at 9:00, if your last name is [Hubmann-Lemmenmeier]. Your exam will start at 9:20 and end at 12:40. You will not be allowed to leave the room before 12:40.
- G3 at 12:20, if your last name is [Lendi-Wessels]. If you arrive later than 12:40, you will not be allowed to take the exam. Your legi will be checked and you will be required to wait in G3. You will start your exam at 13:20 and end at 16:40.
- E3 at 12:20, if your last name is [Wicki-Züst]. If you arrive later than 12:40, you will not be allowed to take the exam. Your legi will be checked and you will be required to wait in E3. You will start your exam at 13:20 and end at 16:40.
You can download here a mock exam and the actual documentation which will be distributed during the exam. For information on where to find the solutions to the mock exam, read this.
The midterm results are available here. The midterm solutions are available here and here.
The endterm results are available here. The endterm solutions are available here and here.
Exercises are optional
, they 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 week. If you want your solutions to be corrected by your teaching assistant, please submit them using the online submission interface, or drop them in the pigeon-holes in front of HG G53.2 before the thursday night which precedes the discussion date.
An optional study center will be offered on Mondays from 18:00 to 20:00 in HG E41, 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:
Link to the lecture notes from Autumn Semester 2016 by Prof. Ralf Hiptmair.
The video lectures will be available here.
Tablet notes: Week 1, Week 2, Week 3,
Week 4, Week 5, Week 6,
Week 7, Week 8, Week 9,
Week 10, Week 11,
Week 12, Week 13, Week 14
C++ and Eigen
In this course, we will use the gcc compiler (with the gnu++11 dialect) and the linear algebra library Eigen. You should have C++ with Eigen working before the tutorial, so that basic issues can be addressed during the tutorial itself.
In many Linux
distributions, including the ones in the computer rooms of ETH, Eigen is pre-installed or available through the package manager; otherwise it can be downloaded from here
. Eigen is a template library, therefore no installation is required. The library is usually located in
. To compile with Eigen run:
g++ -std=gnu++11 eigen_demo.cpp -I/usr/include/eigen3 -o eigen_demo
To work with Eigen on Windows you can (in order of recommendation):
- Use Putty to SSH into the ETH computers:
ssh USERNAME@slab1.ethz.ch (you can also try with
- Install CygWin and use gcc as if you were on Linux.
- Use a Linux distribution (e.g. Fedora) through VirtualBox or through the Linux Subsystem (see installation guide).
- Use Visual Studio or EclipseCTD and follow the steps here.
- A First Course in Numerical Methods, U. Ascher and C. Greif, SIAM, Philadelphia, 2011.
- Numerical Mathematics, vol. 37 of Texts in Applied Mathematics, A. Quarteroni, R. Sacco, and F. Saleri, Springer, New York, 2000.
Numerik für Ingenieure und Naturwissenschaftler, W. Dahmen, A. Reusken, Springer, 2006.
- Grundlagen der Numerischen Mathematik und des wissenschaftlichen Rechnens, M. Hanke-Bourgeois, BG Teubner, 2002.
- Numerische Mathematik I, P. Deuflhard and A. Hohmann, DeGruyter, 2002.
- Numerical Algorithms, J. Solomon, AK Peters/CRC Press, 2015.
Mid-term and End-term
Two 30 minutes long, paper-based, closed book examinations will be held during the semester. They are scheduled on Friday 03.11.2017, 12:30-13:00 (mid-term) and Friday 22.12.2017, 12:30-13:00 (end-term). These short exams are optional and count as a 20 percent bonus only, and they are not a mandatory requirement for attending the final exam. There will be no make-up term exams.
- Date, Time and Location: 22 January, see the list at the beginning for exact start times and rooms.
- Scope: all topics addressed in the lectures and homework assignments.
- Type: computer-based exam involving C++/Eigen programming tasks besides theoretical questions.
- Software available: g++ compiler, C++ standard library, Eigen library, basic IDEs; you should be able to work with a simple text editor and a terminal emulator.
- Duration: 200 minutes, includes 20 minutes reserved for reading the problems.
- Aids: a summary of up to 10 A4 pages (5 double-sided sheets) in the candidates' own handwriting. No printouts or copies are allowed, however a printout of tablet notes in your own handwriting is allowed. Parts of the lecture documents and other materials will be made available online during the examination.
Q: What resources will be available during the exam on the computers?
A: Tablet notes, lecture notes, cppreference documentation, Eigen documentation.
You can download here the actual documentation which will be distributed during the exam and a mock exam. For information on where to find the solutions to the mock exam, read this.
Q: What editors will be available? Can I configure them?
A: Available and recommended editors: gedit, vim, emacs. Also available: nano, geany, Eclipse, Code::Blocks. In general all editors you can find on the Linux installation on the computers in the ETH lab rooms will be available.
You are free to change the configuration files of any editor. It is not allowed to bring your own configuration files from home.
Q: Will there be instant feedback/test cases for coding questions?
A: Templates will be provided with some basic test cases. No instant feedback.
Q: How should I compile the templates?
A: The first line of the template will contain the string which you should use to run the compiler. No make/cmake files will be provided (but you can make your own if you want).
Q: How can I test the exam environment?
A: The exam environment will be Fedora 26 with gnome. You can test it by accessing the Linux installation on any of the computers in the ETH computer rooms in the HG building; the exam environment is the same, only without access to internet or external devices.
Q: Will the exam be entirely on computer?
A: The exam will consists both of coding exercises, to be answered on the computer, and theoretical exercises, to be answered on paper.
Q: Will this year exam be similar to last year?
A: It will be similar but shorter.
Old exams are available here. The solution to ws16 is available here. Last year's endterm is available here.