Responsable du cours : Stéphane Nicolet, Université Paris 2.
Objectifs du cours : Ce cours reprend les bases de la programmation, puis différents problèmes pratiques autour de domaines variés tels que les fichiers, les méthodes d’analyse de données, les méthodes de tri, la programmation objet. Chaque séance est illustrée par un programme informatique écrit et compilé en langage C++ dont les concepts sont également introduits durant ce cours. L’objectif du cours est de réaliser de manière autonome un projet en C++, sur un sujet libre.
Contenu de l’enseignement :
– Les éléments de bases de tout langage impératif ou objet (variables, boucles, test, fonction, classes).
– Notions d’algorithme : récurrence, coût d’un algorithme, dichotomie.
– Découverte d’un environnement de programmation pour un scientifique : compilateur, import/export de données, formats de fichiers.
– Méthodologie de gestion d’un projet informatique
Langage C++
- Manipulation des données
- Boucles, tests, fonctions, programmation structurée
- Classes et programmation objet
- Interface graphique
Exemples d’algorithmes utilisables lors des projets
- Algorithmes de tri
- Files d’attente, simulation informatique
- Distance d’édition, distance entre deux séquences
- Calcul de la valorisation d’actifs par la méthode de Monte-Carlo
- Connexion en temps réel à des sites de données boursières
Méthode de l’enseignement : Cours et TD en salles informatiques.
Modalités du contrôle des connaissances : Le projet de programmation en binôme (cahier des charges, mémoire et soutenance) compte pour 2/3 de la note, l’examen en fin de semestre pour 1/3 de la note.
Pré-requis : Notions de base en algorithmique (boucles, tris élémentaires)
Bibliographie :
ECKEL B. : Thinking in C++, livre disponible gratuitement en PDF sur Internet
STROUSTRUP B. (1996) : Le langage C++, Prentice Education.