Logo IWR

Numerical Analysis of Ordinary Differential Equations
Summer 2018

Lecturer:G. Kanschat
Assistants:D. Jando, P. Lucero, B. Boll
Class data: LSF, MÜSLI
WeekTuesdayWednesdayThursdayTime, Place
1Apr 17Apr 19 14h
Seminarraum A
2Apr 24Apr 25Apr 26
3HolidayMay 2May 3
4May 8May 9Holiday
5May 15May 16May 17
6May 22May 23May 24
7May 29May 30Holiday
8June 5June 6June 7
10June 19June 21
15July 24July 25July 26
Tutorials: Mo 16-18h, Seminarraum 11, D. Jando
Tue 11-13h, Seminarraum 11, P. Lucero (english)
Fr 14-16h, Seminarraum 11, B. Boll
Office hours for programming purposes: Wed 11-13h, PC-Pool Software 1


List of exercise sheets

List of programming exercise sheets


The lecture will mainly follow these notes Lecture notes.

Maybe additional topics will be treated during the semester. Corresponding chapters will be published here.

Further reading:

Homework and programming assignments

We will prepare weekly homework assignments. The purpose of these assignments is training the subjects learned in class and developing an understanding for the taught concepts. The assignments are essential for acquiring the competences taught in the class and tested in the final exam.

The homework assignments should be prepared in small groups discussing the steps of the solution and agreeing on the written version handed in to the tutors. The groups can change over the semester, but students are advised to seek some continuity in their own interest. The written assignment has to be well structured and documented, a simple list of formulas is not sufficient to be reviewed. Homework assignments can be prepared in English or German

Theoretical homework will be evaluated according to completeness and mathematical correctness. The assignments will be returned with comments of the tutors. There will be no points given and accumulated over the semester.

Programming homework can be handed in in any widespread programming language. Programming advice will only be given for Matlab/Octave and Python, possibly C++. Programs have to be documented and must be handed in with proof of function. Technical details wil be discussed with the tutors.

Programming Exercises

In the following we provide some informations about two programming languages: MATLAB / GNU Octave and C++. You can use any other language, but we won't provide support.


MATLAB is a commercial software used by many companies. A big advantage is, that MATLAB is very easy to learn. You can get MATLAB from the URZ for free here. Also it is installed in most Computer Pools. You can find a list of the pools here .
GNU Octave is the free equivalent to MATLAB, which is in most cases compatible to MATLAB Code. Usually it is installed on each linux computer, if not then check your package manager. Or download it directly from the Webpage.
P. Siehr gave an introduction for first-term students in the "Vorkurs". The course was in German - you can find the slides here. (The example-code for max(a,b,c) is wrong.)
If you find a good tutorial in English, then please tell us the url, so that we can put it on this webpage. This tutorial is "ok".


Python is an interpreted high-level programming language for general-purpose programming with a design philosophy emphasizing code readability. It provides constructs that enable clear programming on both small and large scales. Python supports object-oriented, imperative, functional and procedural paradigms, and has a large and comprehensive standard library.
Python is an interesting middle point between MATLAB/GNU Octave and C++, as it is fairly easy to learn and use since it is interpreted like MATLAB/GNU Octave, while being powerful enough to allow large and complex programs with a relatively high performance. Python's library is very large and features packages to perform many operations that are needed in a wide range of applications, particularly for mathematics.
The Python community is very large and many tutorials and forums are available. The official tutorial is available here .
If you have recommendations of other tutorials that could be interesting please tell us.


C++ is one of the most commonly used programming languages. If you are interested in numerical analysis for your studies (bachelor / master thesis) you eventually learn to programm in C++. Here you can find tutorials in English 1, English 2 and German.

Final exam