Scientific programming for Engineers
Frequency
Every year
Summary
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
Classical problems: series calculations, solar system and many-body calculation, sparse linear algebra.
Keywords
programming, scientific, code design, algorithm, optimization, analysis
Learning Prerequisites
Required courses
Basis in programming languages (C/Fortran)
Basic Linux knowledge is required
Important concepts to start the course
A Linux laptop is required for this class
Expected student activities
Exam: 4 evaluated homeworks
Dans les plans d'études
- Nombre de places: 40
- Forme de l'examen: Rapport de TP (session libre)
- Matière examinée: Scientific programming for Engineers
- Cours: 18 Heure(s)
- TP: 38 Heure(s)
- Type: obligatoire
- Nombre de places: 40
- Forme de l'examen: Rapport de TP (session libre)
- Matière examinée: Scientific programming for Engineers
- Cours: 18 Heure(s)
- TP: 38 Heure(s)
- Type: optionnel
- Nombre de places: 40
- Forme de l'examen: Rapport de TP (session libre)
- Matière examinée: Scientific programming for Engineers
- Cours: 18 Heure(s)
- TP: 38 Heure(s)
- Type: optionnel
Semaine de référence
| Date | Heure | Salle | Cours |
|---|---|---|---|
| Jeudi 10.09.2026 | 10:15-12:00 | AAC006 | Scientific programming for Engineers |
| 13:15-15:00 | AAC006 | Scientific programming for Engineers | |
| Jeudi 17.09.2026 | 10:15-12:00 | AAC006 | Scientific programming for Engineers |
| 13:15-15:00 | AAC006 | Scientific programming for Engineers | |
| Jeudi 24.09.2026 | 10:15-12:00 | AAC006 | Scientific programming for Engineers |
| 13:15-15:00 | AAC006 | Scientific programming for Engineers | |
| Jeudi 01.10.2026 | 10:15-12:00 | AAC006 | Scientific programming for Engineers |
| 13:15-15:00 | AAC006 | Scientific programming for Engineers | |
| Jeudi 08.10.2026 | 10:15-12:00 | AAC006 | Scientific programming for Engineers |
| 13:15-15:00 | AAC006 | Scientific programming for Engineers | |
| Jeudi 15.10.2026 | 10:15-12:00 | AAC006 | Scientific programming for Engineers |
| 13:15-15:00 | AAC006 | Scientific programming for Engineers | |
| Jeudi 29.10.2026 | 10:15-12:00 | AAC006 | Scientific programming for Engineers |
| 13:15-15:00 | AAC006 | Scientific programming for Engineers | |
| Jeudi 05.11.2026 | 10:15-12:00 | AAC006 | Scientific programming for Engineers |
| 13:15-15:00 | AAC006 | Scientific programming for Engineers | |
| Jeudi 12.11.2026 | 10:15-12:00 | AAC006 | Scientific programming for Engineers |
| 13:15-15:00 | AAC006 | Scientific programming for Engineers | |
| Jeudi 19.11.2026 | 10:15-12:00 | AAC006 | Scientific programming for Engineers |
| 13:15-15:00 | AAC006 | Scientific programming for Engineers | |
| Jeudi 26.11.2026 | 10:15-12:00 | AAC006 | Scientific programming for Engineers |
| 13:15-15:00 | AAC006 | Scientific programming for Engineers | |
| Jeudi 03.12.2026 | 10:15-12:00 | AAC006 | Scientific programming for Engineers |
| 13:15-15:00 | AAC006 | Scientific programming for Engineers | |
| Jeudi 10.12.2026 | 10:15-12:00 | AAC006 | Scientific programming for Engineers |
| 13:15-15:00 | AAC006 | Scientific programming for Engineers | |
| Jeudi 17.12.2026 | 10:15-12:00 | AAC006 | Scientific programming for Engineers |
| 13:15-15:00 | AAC006 | Scientific programming for Engineers |