Numerical Methods for CSE Autumn 2017

Lecturer
Rima Alaifari
Coordinators
Alexander Dabrowski and Pratyuksh Bansal
What? When? Where?
Lectures

Thu, 08:00-10:00

Fri, 13:00-15:00

HG G5

HG F1

Exercises

Mon, 10:00-12:00

Mon, 13:00-15:00

See Exercises
Mid-term

Fri, 03.11.2017

12:30-13:00

HG G5

HG G3

End-term

Fri, 22.12.2017

12:30-13:00

HG G5

HG G3

This year's exam and its solution have been uploaded to the Old Exams section.
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.

Discussion date Solutions
Tutorial
Exercises 0 October 2 Solutions 0
Exercises 1 October 9 Solutions 1
Exercises 2 October 16 Solutions 2
Exercises 3 October 23 Solutions 3
Exercises 4 October 30 Solutions 4
Exercises 5 November 6 Solutions 5
Exercises 6 November 13 Solutions 6
Exercises 7 November 20 Solutions 7
Exercises 8 November 27 Solutions 8
Exercises 9 December 4 Solutions 9
Exercises 10 December 11 Solutions 10
Exercises 11 December 18 Solutions 11
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.

Study Center

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.

Groups

The group allocation can be changed here: https://echo.ethz.ch/

Day and TimeRoomAssistant(s)Language (English)
Mo 10-12 CLA E4 Lukas Schwander
Mo 10-12 LFW E11 Fabian Schwarz
Mo 10-12 LFW E13 Christian Baumann German
Mo 10-12 ML H41.1 Lucca Hirschi / Prapti Bajaj
Mo 10-12 ML J34.1 Pratyuksh Bansal
Mo 13-15 HG E33.3 Alexander Dabrowski / Bian Wu
Mo 13-15 HG E33.5 Matteo Signer
Mo 13-15 LEE D105 Tobias Büchli
Mo 13-15 LFW C11 Prapti Bajaj / Lucca Hirschi
Mo 13-15 LFW E11 Anklin Valentin
Mo 13-15 ML F40 Tal Ben-Nun

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 /usr/include/eigen3. 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):

  1. Use Putty to SSH into the ETH computers: ssh USERNAME@slab1.ethz.ch (you can also try with slab2, slab3, slab4).
  2. Install CygWin and use gcc as if you were on Linux.
  3. Use a Linux distribution (e.g. Fedora) through VirtualBox or through the Linux Subsystem (see installation guide).
  4. Use Visual Studio or EclipseCTD and follow the steps here.

Literature

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.

Final

FAQ

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

Old exams are available here. The solution to ws16 is available here. Last year's endterm is available here. This year exam is available here. Its solution is available here.

C++:

Eigen3: