Volumes horaires
- CM 0
- Projet 0
- TD 0
- Stage 0
- TP 21.0
- DS 0
Crédits ECTS
Crédits ECTS 1.5
Objectif(s)
Approfondir la programmation en C dans un cadre de modélisation.
Mettre en œuvre des algorithmes pour la modélisation numérique de phénomènes physiques.
Travailler en équipe sur un projet technique
Planifier le développement, répartir les tâches et documenter le code collectivement.
Présenter un projet : rédaction d’un rapport technique et soutenance orale.
Contenu(s)
Approfondir la programmation en C dans un cadre de modélisation
Structurer un code C pour des simulations numériques : séparation des fonctions, gestion des entrées/sorties, modularité.
Utiliser efficacement les pointeurs, les structures, les tableaux dynamiques et la mémoire allouée dynamiquement.
Implémenter des méthodes numériques simples (par exemple : résolution d’équations différentielles, schémas itératifs, méthodes de discrétisation).
Représenter et manipuler des structures de données adaptées (vecteurs, matrices, grilles, etc.).
Concevoir, développer et tester un code de simulation
Analyser un problème de modélisation pour en extraire un algorithme implémentable.
Organiser le développement en modules réutilisables et testables.
Valider les résultats obtenus par comparaison avec des cas tests ou des solutions analytiques.
Initier les étudiants aux bonnes pratiques du développement scientifique
Gérer un projet de code : structuration du dépôt, documentation, compilation (Makefile), versionnement (Git).
Interpréter les résultats numériques, produire des visualisations simples (fichiers de sortie compatibles avec gnuplot, Python, etc.).
Prérequis
Bases du langage C
controle continu.
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.