VU: Scientific Computing in Mathematics (2h)


Contents: Extended programming with C++, bash, python, sage, matlab and whatever is needed. Project managment with make, development tools and a version control system. Use of available mathematical libraries. Mathematical problem solving by means of scientific computing tools.

Lecturer: Prof. Gundolf Haase, Heinrichstr. 36, Zi 506, Klappe 5178,

Time and place: Tuesday 11:15-12:45 in KFU: SR 11.33

Modus and deadline (Empfehlungen zu VU):

Time table for lectures

March 7, 2017
Preminary discussion of the lecture (specialization of students in master studies, laptops?, operating system?, topic of bacc./master thesis?)
March 14, 2017
recall C++:
STL (container, iterator, algorithm, vector, list, arraycode 1, code 2
and some C++11: auto, range-for, lambda function (capture); initializer list; (also p1, p2)
March 21, 2017
Class hierachy (code), polymorphism (code), const;
Template functions/classes (code 1/code 2)
C++11: auto, range-for, lambda function; code 1, code 2
March 28, 2017
Comparison of exercise solutions.
April 4, 2017
Dynamic memory allocation (tutorial),
exception handling (exceptions, tutorial),
deep copy vs. shallow copy (notes)
myvector (template): incl. NDEBUG
April 25, 2017
C++11:  rvalue reference, move, initializer list ;
methods: =default, = delete; override, final; explicit ;
delegating constructor, inherited constructor (Stroustrup, example),
shared pointer, nullptr, const_expression, static_assert;
(also p1, p2), code 1, code 2
May 2, 2017
Compare solutions.
Mixing of C/C++/Fortran (code)
May 9, 2017
Intro into Linux (Wie werde ich UNIX-Guru? (OpenBook):
command line arguments, redirection, pipelining, tools (example)
May 16, 2017
bash scripts (ex), make (tutorial)
May 23, 2016
git (basics, simple intro, learn git in 15 min, info)
May 30, 2017
Presentation of project with the subtasks
June 13, 2017
Details on finite elements, solvers, meshing
June 20, 2017

Consulting, web representation of projects (excellent work by students)
June 27, 2016
Project presentation by students

Task sheets:

Students who are not primarily enrolled at KFU: Guide
Books:


C++:
Octave/Matlab:
Python:
Unix:

Version control systems:



  Nov 7, 2017