Informations générales
Number of hours
- Lectures 0
- Projects 0
- Tutorials 0
- Internship 0
- Laboratory works 21.0
- Written tests 0
ECTSECTS
1.5
Goal(s)
Advance C programming within a modeling framework.
Implement algorithms for the numerical modeling of physical phenomena.
Work as part of a team on a technical project.
Plan development, assign tasks, and document code collectively.
Present a project: write a technical report and give an oral presentation.
Content(s)
Advance C programming in a modeling context
Structure C code for numerical simulations: separation of functions, input/output management, modularity.
Effectively use pointers, structures, dynamic arrays, and dynamically allocated memory.
Implement simple numerical methods (e.g., solving differential equations, iterative schemes, discretization methods).
Represent and manipulate appropriate data structures (vectors, matrices, grids, etc.).
Design, develop, and test simulation code
Analyze a modeling problem to extract an implementable algorithm.
Organize development into reusable and testable modules.
Validate the results obtained by comparison with test cases or analytical solutions.
Introduce students to best practices in scientific development.
Manage a code project: repository structure, documentation, compilation (Makefile), versioning (Git).
Interpret numerical results, produce simple visualizations (output files compatible with gnuplot, Python, etc.).
Prerequisites
Basics of the C language
Test
Continuous monitoring.
Additional Information
Bibliography
Zuliani, P.
Programmer en langage C – Apprentissage et mise en pratique, Dunod, 2023.
Ouvrage pédagogique avec de nombreux exemples et exercices.
C. Banahan, M. Brady, M. Doran
The C Book, Addison-Wesley, 1991. (Disponible aussi gratuitement en ligne)
Bon complément pour comprendre les subtilités du langage.
Cormen, T. H., Leiserson, C. E., Rivest, R. L., & Stein, C.
Introduction to Algorithms (3rd Edition), MIT Press, 2009.
Très complet, mais parfois formel. Référence mondiale en algorithmique.
Bertrand, P.
Algorithmique : Techniques fondamentales de programmation, Ellipses, 2019.
Clair et progressif, orienté vers les étudiants débutants/intermédiaires.