Computer Science 2 - PMP Programming Project - 3PMMPPRO

Informations générales

  • Number of hours

    • Lectures 0
    • Projects 0
    • Tutorials 0
    • Internship 0
    • Laboratory works 21.0
    • Written tests 0

    ECTS

    ECTS 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.

Contact Jean-Christophe TOUSSAINT

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

Course list
Curriculum->1st year engineer PMP->Semester 6

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.