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