README.md 1.42 KB
Newer Older
Guillaume Anciaux's avatar
Guillaume Anciaux committed
1
2
# Scientific Programming for Engineers

Guillaume Anciaux's avatar
Guillaume Anciaux committed
3
![](http://phdcomics.com/comics/archive/phd053104s.gif)
Guillaume Anciaux's avatar
Guillaume Anciaux committed
4

Guillaume Anciaux's avatar
Guillaume Anciaux committed
5
6
## Practical information

Guillaume Anciaux's avatar
Guillaume Anciaux committed
7
- Every Thurday, Lectures from *10:15* to *12:00* and Exercises from *13:15* to *15:00*
Guillaume Anciaux's avatar
Guillaume Anciaux committed
8
- The room we will meet in is [GR A3 32](https://plan.epfl.ch/?room==GR%20A3%2032)
Guillaume Anciaux's avatar
Guillaume Anciaux committed
9
- Lectures will also be given through zoom and recorded [(https://epfl.zoom.us/j/61343133504)](https://epfl.zoom.us/j/61343133504)
Guillaume Anciaux's avatar
Guillaume Anciaux committed
10
- Videos published on a [SwitchTube](https://tube.switch.ch/channels/JIdScAdV3T)
Guillaume Anciaux's avatar
Guillaume Anciaux committed
11
12
- [Piazza forum](https://piazza.com/class/ktims16y1ee6ee)
- [GIT repository](https://gitlab.epfl.ch/anciaux/sp4e)
13
- [VirtualBox for the class](https://enacshare.epfl.ch/fwuNXfdzmy3U5RWZe4BaTgk7E9YjKFP)
Guillaume Anciaux's avatar
Guillaume Anciaux committed
14

Guillaume Anciaux's avatar
Guillaume Anciaux committed
15
## Summary
Guillaume Anciaux's avatar
Guillaume Anciaux committed
16
17
18
19
20
21
22
23
24
25
26
27
28

The students will acquire a solid knowledge on the processes necessary to design, write and use scientific software. Software design techniques will be used to program a multi-usage particles code, aiming at providing the link between algorithmic/complexity, optimization and program designs.
Content

- Object Oriented Paradigm
- C/C++ and Python programming (class, operator, template, design patterns, STL)
- Programming techniques, code factorization
- Pointers, memory management, data structures
- Linear system solving (Eigen library)
- C++/Python coupling (pybind)
- Post-treatment: Paraview, numpy/scipy, matplotlib


Guillaume Anciaux's avatar
Guillaume Anciaux committed
29
## Classical problems
Guillaume Anciaux's avatar
Guillaume Anciaux committed
30
31
32
33

- series calculations
- solar system and many-body calculation
- sparse linear algebra.