Informatique en MP2I/MPI/MPSI/MP¶
par Marc de Falco, ancien professeur d'informatique en MP2I/MPI
Un cours figé, remis en ligne pour consultation
Ce site est une archive : il correspond au cours que j'ai écrit lorsque j'étais professeur d'informatique en MP2I/MPI, et il n'est plus tenu à jour au fil des programmes.
Il a été relu avec l'aide de Claude (Anthropic) dans le seul but de le remettre en ligne dans un état propre et consultable : certaines preuves ou certains programmes ont été fiabilisés par Claude (voir ci-dessous).
Il n'a aucune valeur prescriptive : ce n'est ni une référence officielle du programme, ni une recommandation pédagogique.
Présentation du site¶
Ce site présente mon poly de cours autour du programme de MP2I/MPI, et donc également du programme d'option informatique de MPSI/MP et du tronc commun.
La progression sur les deux années n'est pas indiquée mais les chapitres suivent les programmes.
On pourra trouver des exercices et des TP complets au sein des chapitres.
Passages fiabilisés par Claude
Coût environnemental de cette relecture. La fiabilisation des preuves et des programmes (relecture, vérifications, tests, comparaison des résultats) a mobilisé de l'ordre de quelques dizaines de millions de jetons de calcul. Selon les estimations publiques de consommation des grands modèles de langage, cela représente environ 3 à 13 kWh d'électricité, soit de 0,2 à 5 kg d'équivalent CO₂ selon le mix électrique des centres de données, et quelques dizaines de litres d'eau de refroidissement : l'ordre de grandeur de quelques dizaines de kilomètres en voiture. Ces chiffres sont des estimations, à un facteur cinq près : la consommation réelle par requête n'est pas publiée, et la fabrication du matériel n'est pas comptée.
Les corrections ponctuelles (coquilles, mise en forme, petites erreurs) ne sont pas signalées.
Version livre¶
Le contenu du site est aussi disponible sous forme de deux livres au format PDF (cours, exercices, travaux pratiques, problèmes et devoirs) :
Le polycopié¶
MP2I¶
Introduction
OCaml
- TP Rappels et types récursifs
- TP Types enregistrements
- Typage en OCaml
- Options en OCaml
- Exceptions en OCaml
C
Structures de données
- Structures de données abstraites et implémentations
- Séquences : tableaux, listes chaînées
- Piles et files
- Arbres et structures hiérarchiques
- TP Arbres 1, Arbres 2, Arbres en C, Tas
- Dictionnaires : ABR, tables de hachage
- Graphes et structures relationnelles
Algorithmique
- Introduction à l'analyse des algorithmes
- Complexité amortie
- Stratégies de résolution
- Recherche par force brute
- Algorithmes gloutons
- Diviser pour régner
- Programmation dynamique
- Algorithmique du texte
- TP Huffman
Système
Logique
Bases de données
MPI¶
Structures de données
Algorithmique
Intelligence artificielle
Système
Logique
Langages formels
Problèmes transversaux¶
- Calcul de l'enveloppe convexe Un problème qui reprend un sujet de tronc commun de l'X en l'adaptant au C
- Dungeons&Diagrams Un problème explorant le backtracking d'un casse-tête en C en exploitant au maximum les représentations binaires des entiers.
Advent of Code¶
Des solutions commentées de l'Advent of Code, éditions 2015 à 2025 : pour chaque énigme, un lien vers l'énoncé officiel, la méthode employée et les notions du cours qu'elle mobilise.
- Présentation et méthodes récurrentes
- Entraînement : quatre énigmes en C, OCaml et Python
- Éditions : 2015 · 2016 · 2017 · 2018 · 2019 · 2020 · 2021 · 2022 · 2023 · 2024 · 2025
Les documents annexes¶
Les TD, devoirs (DS, DM), problèmes, corrigés de concours et colles sont accessibles depuis les onglets du site.
TP de MP2I 2021-2022 (feuilles Jupyter)
TP Python de MPSI, tronc commun 2021-2022
TP 01 — Révisions de Python, TP 02 — Tableaux, TP 03 — Boucles imbriquées, TP 05 — Récursivité et dictionnaires, TP 06 — Dictionnaires, TP 07 — Images, TP 08 — Arithmétique, TP 09 — Tris, TP 10 — Algorithmes gloutons, TP 11 — Permutations, TP 13 — Parcours de graphes, TP 14 — Parcours itératifs, TP 15 — Algorithme de Dijkstra. Les tests utilisent le module civ.py.
Mes principales sources sont présentées sur la page Sources.