Bibliographie agreg’ maths option info 2020

Conseils personnels selon le vécu et l’expérience de Lilian Besson (@Naereen). Attention, comme toutes listes, elle sont évidemment incomplètes ! Et c’est le but ! Néanmoins, pour l’option info et les maths qui concernent les leçons d’option info, je ne pense pas qu’il soit utile de rajouter des livres. Mais je peux me tromper ! Et des nouveaux livres peuvent sortir ! Si vous avez des suggestions, ouvrez un ticket ou envoyez-moi un mail !

On liste ici les livres très utilisés comme références pour préparer les leçons et les développements, ainsi que l’épreuve de modélisation de l’option informatique D.

Plus d’informations sur la prépa agreg’ maths option info 2020 : sur le wiki du DPT info de l’ENS de Rennes.

Plus de détail sur chaque livre sont disponibles via le bibliopac.ens-rennes.fr).

Aussi en PDF references.pdf !

Notez qu’une bibliographie plus concise est disponible ici : smallbib. Et une bibliographie minimaliste est disponible ici : smallsmallbib.

Si vous voulez convertir cette liste en une bibliographie BibTeX, je serai intéressé !


Quelques pages web sur l’option D par des anciens élèves récents


En Mathématiques

Livres spécifiques pour l’oral de l’agrégation

[131dev] “131 développements” (par Le Barbenchon, Lesevre, Pierron, Montagnon)

Une bible pour les développements de l’agrégation, y compris en informatique ! Contient 131 développements de niveaux variés, couvrant toutes les leçons du programme de 2019. C’est une vraie bible, pour des développements en mathématiques très riches et très nombreux (assez difficiles), mais surtout des développements en informatique et des rappels de cours concis mais précis sur tous les points moins d’informatique (du niveau et du volume de ce qui est attendus pour un plan), notamment $\lambda$-calcul, sémantique, base de données, calculabilité et décidabilité. Publié en septembre 2020, co-écrit par Pierre Montagnon et Didier Lesevre, et des anciens élèves des ENS Rennes (Théo Pierron et Pierre Le Barbenchon) et Cachan (Benjamin Dadoun, Julie Gauthier, Lilian Besson).

[LeFrido] “Le Frido” par Laurent Claessens-Donadello et al

C’est tout simplement le seul livre de maths gratuit, sous licence libre, écrit collaborativement,qui contient tout le programme de maths de l’agrégation de maths, et adopte un style de référence descendante. Il n’est pas parfait, mais c’est une lecture de choix pour se rafraîchir les idées sur tout le programme, et identifier les points que l’on ne comprend pas assez bien ! Il est édité avec un ISBN, et achetable en quatre volume à prix coûtant (environ 80€).

[IsenmannPecatte] “L’Oral a l’agrégation de mathématiques” (par Isenmann, Pecatte)

Une autre bible pour les développements de l’agrégation, pour toutes les leçons de mathématiques ! Contient 65 développements de niveaux variés, couvrant toutes les leçons du programme de 2018. Ne contient rien sur les leçons d’informatique.

Divers (non triés)

[BMP] “Objectif Agrégation” (par Beck, Malick, Peyré)

Excellent bouquin (cours et exercices) et plein de figures. Même une très bonne bibliographie ! Plus de ressources pour ce livre (des exercices en plus et quelques détails) ?

[Zavidovique] “Un Max de Maths”

« Problèmes pour agrégatifs et mathématiciens, en herbe ou confirmés ». Super bouquin, très récent, une vraie mine de développements ($A_5$ simple, réciprocité quadratique avec un exemple, théorèmes d’Osgood et de Grothendieck, CW+EGZ, etc) !

[Hauchecorne] “Contre-exemples en mathématiques”

Plein de bonnes idées et de bons réflexes à avoir en tête, mais peu de contre-exemples sont assez longs pour faire un développement. Dommage.

[Arnaudiès, Fraysse] “Cours de Mathématiques” tomes 1, 2, 3 et 4

Des livres de très grande qualité. Référence incontestée pour le cours !


Chambert-Loir, Fermigier : « Exercices de Mathématiques pour l’Agrégation »

Je ne connais pas bien cette série de livre, mais elle est souvent indiquée en référence des dévs en PDFs.

[Chambert-Loir, Fermigier, Analyse 1] “Analyse 1”

[Chambert-Loir, Fermigier, Analyse 2] “Analyse 2”

[Chambert-Loir, Fermigier, Analyse 3] “Analyse 3”

[Chambert-Loir, Fermigier, Algèbre 1] “Algèbre 1”

[Chambert-Loir, Fermigier, Algèbre 2] “Algèbre 2”

[Chambert-Loir, Fermigier, Algèbre 3] “Algèbre 3”

Analyse complexe

[Amar, Matheron] “Analyse complexe”

(Je ne le connais pas du tout.) Merci à Ludovic pour l’indication.

[Rudin] “Analyse réelle et complexe : Cours et exercices”

Une référence, même si certains n’apprécient pas son style et sa forme (écrit très petit et assez illisible).

[Gélinas, Lambert] “Éléments d’analyse complexe”

(Je ne le connais pas du tout.)


Francinou, Gianela, Nicolas (FGN) : « Oraux X-ENS »

Excellents bouquins, en analyse autant qu’en algèbre. De vraies mines d’or de développements ! Ne pas hésiter à chercher un exercice original : dans l’ensemble il y a près de 500 exercices !

Francinou, Gianela, Nicolas (FGN) en Analyse (1, 2, 3, 4)

[FGN, Analyse 1] “Oraux X-ENS Analyse 1”

[FGN, Analyse 2] “Oraux X-ENS Analyse 2”

[FGN, Analyse 3] “Oraux X-ENS Analyse 3”

[FGN, Analyse 4] “Oraux X-ENS Analyse 4”

Francinou, Gianela, Nicolas (FGN) en Algèbre (1, 2, 3)

[FGN, Algèbre 1] “Oraux X-ENS Algèbre 1”

[FGN, Algèbre 2] “Oraux X-ENS Algèbre 2”

[FGN, Algèbre 3] “Oraux X-ENS Algèbre 3”


Calcul différentiel

[Rouvière] “Petit guide de calcul différentiel à l’usage de la licence et de l’agrégation”

Référence incontestable, avec rappels de cours et plein d’exercices bien corrigés. On appréciera ses figures claires et précises (qu’il faut bien sûr s’empresser de refaire au tableau).

[Avez] “Calcul Différentiel”

(Je ne le connais pas du tout.)

[Lafontaine] “Introduction aux variétés différentielles”

Un bon bouquin, parfois un peu trop technique. De bons rappels de cours, et quelques développements (pas trop en option info). (écrit par le père de David!)

[Gonnord, Tosel] “Calcul Différentiel”

(Je ne le connais pas du tout.)


Analyse fonctionnelle

[Hirsh, Lacombe] “Eléments d’analyse fonctionnelle” (en anglais)

(Je ne le connais pas du tout.)

[Lacombe, Massat] “Eléments d’analyse fonctionnelle (exercices corrigés)”

Exercices corrigés inspirés ou issus du livre de cours [[Hirsh, Lacombe]].

(Je ne le connais pas du tout.)

[Brézis] “Analyse fonctionnelle”

Référence parmi les plus célèbres, et c’est justifié. Un bon bouquin, très complet, mais pas forcément toujours facile à suivre. Quelques bons développements bien traités.

[Kolmogorov, Fomine] “Eléments de la théorie des fonctions et de l’analyse fonctionnelle”

(Je ne le connais pas du tout.)


Gourdon

Deux livres parmi les plus appréciés des taupins et des agrégatifs. On apprécie ses petits rappels de cours mais surtout ses nombreux exercices très bien corrigés. Eux aussi sont de vraies mines de développements. Attention aux différentes versions, le contenu a bien évolué.

[Gourdon, Analyse] “Les Maths en tête, Analyse”

[Gourdon, Algèbre] “Les Maths en tête, Algèbre”


Maths numériques (analyse et algèbre)

[Ciarlet] “Introduction à l’analyse numérique matricielle et à l’optimisation : cours et exercices corrigés”

Référence principale en maths numériques, plein d’exercices corrigés et de bons rappels de cours. Excellent, à tout point de vue.

[Allaire] “Analyse numérique et optimisation”

Une autre très bonne référence en maths numériques. Parle un peu moins de matrices mais plus d’algorithmes (optimisation, équations différentielles, EDP etc).

[Allaire, Kaber] “Algèbre linéaire numérique”

Une très bonne référence en algèbre numérique. De nombreux algorithmes, bien présentés, un peu prouvés, et avec des dessins (notamment, méthode d’élimination de Gauss, moindres carrés, factorisation QR et de Cholesky etc).

[Filbet] “Analyse linéaire”

Bonne référence en analyse numérique. Plein de développements possibles, dont les méthodes de Gauss, QR, de Cholesky pour les systèmes linéaires, mais aussi la méthode de Héron avec un exemple, de l’optimisation avec ou sans contrainte, de l’interpolation (Lagrange et Hermite), les moindres carrés (bien faits), et pour les EDP le schéma d’Euler, et volumes finis pour l’équation d’advection.

[Demailly] “Analyse numérique et équations différentielles”

Une bonne référence, vraiment orientée analyse numérique. Il risque de ne pas intéresser beaucoup les élèves suivant l’option D.

[Viot] “Méthode d’analyse numérique”

(Je ne le connais pas du tout.)


Analyse (générale)

[Zuily, Queffélec] “Éléments d’analyse pour l’agrégation”

Excellente référence en analyse, beaucoup de cours, et plein d’exercices et de démonstration de cours, qui peuvent aisément faire de bons développements. Attention, beaucoup de choses en plus dans les dernières éditions.

[Madère, DevAnalyse] “Développements d’analyse : préparation à l’oral de l’Agrégation de Mathématiques”

Deux très bons livres, qui commencent à dater un peu. Quelques très bonnes idées de développements, mais qui commencent peut-être à être trop classiques.

[Madère, LeconAnalyse] “Leçons d’analyse : préparation à l’oral de l’Agrégation de Mathématiques”

Idem, un peu ancien. Pour les leçons encore présentes aujourd’hui, donne un exemple de plan à recopier presque tel-quel. Magique.

[Nourdin] “Leçons d’analyse, probabilités, algèbre et géométrie”

(Je ne le connais pas du tout.)

[Cottrell, Genon-Catalot] “Exercices de probabilités”

Des petits rappels de cours (chaînes de Markov Ch9 p265), suivis d’exercices, dont certains grands classiques (processus de branchement de Galton-Watson Ex3.5 p72, paradoxe de l’autobus Ex3.18 p98, jeu du monopoly Ex9.14 p282).


Combinatoire et dénombrement

[Flajolet, Sedgewick] “Analytic Combinatorics”

Ouvrage de qualité mais très technique, à consulter et travailler avant toute utilisation dans les conditions des oraux. Existe aussi en français. Plus orienté algorithmique que maths.


Algèbre (générale)

[Perrin] “Cours d’algèbre”

Référence incontestée sur le cours, mais aussi pour quelques développements, présents sous forme d’exercices corrigés ou de démonstration de cours ($K^*$ cyclique, $\Phi_d$ irréductible, théorèmes de Witt, de Birkhoff, de Cartan-Dieudonné, etc).

[Szpirglas] “Maths L3, Algèbre : cours complet avec 400 tests et exercices corrigés”

Une bible pour l’algèbre, presque tout. Bien expliqué, plein d’exercices.

[Demazure] “Cours d’Algèbre”

Un bon bouquin, clair et précis. Beaucoup de contenu sur les codes correcteurs, et très orienté algorithmes et informatique (plus de 100 programmes ruby sont inclus dans le livre!).

[Escofier, David] “Toute l’algèbre de la licence : Cours et exercices corrigés”

Gros bouquin, très complet niveau cours, un peu “simple” niveau exercices. Des grands classiques mais aussi quelques plus difficiles ou plus originaux, qui feront bien sûr de bons développements.

[Risler, Boyer] “Toute l’algèbre pour la licence 3”

Du même genre que [[Escofier, David]] ou [[Szpirglas]], mais je ne le connais pas du tout. Semble solide !

Algèbre (plus spécialisée)

[Serre, Matrices] “Matrices, théories et applications”

Référence solide, il faut préférer la version (originale) française pour éviter la style un peu étrange de la traduction anglaise (pour ne pas dire incompréhensible).

[Watkins] “Fundamentals of matrix computations”

Semble être une bonne référence pour les décompositions de matrices (LU, QR, Chomsky etc) et les calculs concrets sur les matrices.

[Rauch] “Les groupes finis et leurs représentations”

Une bonne référence pour les représentations et les tables de caractères.

[Serre, Arithmétique] “Cours d’arithmétique”

Attention, ce livre est de J-P. Serre, et non Denis Serre. Livre très ancien, mais pas obsolète.

? [Chambert-Loir, Algèbre corporelle] “Algèbre corporelle”

Polycopié de l’École Polytechnique, disponible ici, ou , publié avec ISBN depuis 2005 !

[Tauvel, Galois] “Corps communicatifs et théorie de Galois : cours et exercices”

Une référence pour tout l’aspect théorie de Galois. Attention à ne pas sous-estimer la difficulté de tout ce domaine : il demande un vrai investissement !

[Mneimné, Testard] “Introduction à la théorie des groupes de Lie classiques”

Les premiers chapitres contiennent quelques développements classiques (par exemple, $\exp(S_n^+(\mathbb{R})) = S_n^{++}(\mathbb{R})$ en 8.8.8). La suite est hors programme.

[Carrega] “Théorie des corps : la règle et le compas”

Une bonne référence pour la notion de constructibilité à la règle et au compas, et aussi avec de bons rappels en théorie des corps basique. L’un des seuls bouquins à pousser la question de la constructibilité un peu plus loin (compas seul, règle glissée et compas seuls, compas et une seule fois la règle etc), même si c’est peut-être hors de portée de l’agrégation.

[Mérindol] “Nombres et algèbre”

Très complet, notamment un contenu intéressant en géométrie des nombres complexes et en géométrie projective.


Géométrie (affine, euclidienne, complexe)

[Audin] “Géométrie”

Une super référence, très complète et bourrée d’exercices. Dommage qu’ils soient corrigés aussi rapidement. De nombreuses figures ! (On ne lui regrettera que son féminisme trop présent)

[Alessandri] “Thèmes de géométrie”

Une très bonne référence. Attention il devient rare ! Pas ré-édité depuis longtemps. De bons rappels de cours et beaucoup de contenu pour des développements. Ne pas hésiter à remettre en question l’efficacité de certaines preuves, qui peuvent parfois être bien abrégées avec un argument plus simple (par exemple le lemme de CNS de nilpotence via les $Tr(u^k)=0, \forall 1 \lt k \lt n$ dans la preuve du critère de finitude de Burnside pour les groupes de $\mathcal{GL}(E)$).

[Goblot] “Thèmes de géométrie : géométrie affine et euclidienne”

Une autre bonne référence en géométrie affine. Beaucoup d’exercices et de figures.

[Caldero, Germoni] “Histoires hédonistes de groupes et de géométries”

À part son titre un peu ridicule et prétentieux, c’est un bon bouquin.

[Combes] “Algèbre et géométrie”

Ce bouquin ne me plaît pas beaucoup. Plein d’exercices, avec indications puis corrections rapides.

Géométrie projective (huhum…)

[Samuel] “Géométrie projective”

Un livre qui vieillit mal. Encore du bon matériel pour nos très nombreux développements en géométrie projective (ahem!).

[Sidler] “Géométrie projective”

(Je ne le connais pas du tout.)

Autres références en géométrie (moins utilisées)

[Mneimné, Actions de Groupes] “Éléments de géométrie et actions de groupes”

Semble une référence pour tout ce qui est actions de groupe appliquée en géométrie.

[Ladegaillerie] “Géométrie pour le Capes et l’Agrégation”

Bouquin trop ancien, me semble pas super. Aucune correction aux exercices inclus, dommage.

[Berger, 1] et [Berger, 2] “Géométrie”, Tomes 1 et 2

Bons bouquins, avec index et tables des matières communs, mais un peu ancien. Du bon contenu pour le cours, et quelques bonnes démos pour les développements.

[Jolivet, Labbas] “Algèbre linéaire et géométrie (applications mathématiques avec Matlab)”

(Je ne le connais pas du tout.) Semble plus utile pour les optionnaires en calcul scientifique.

? [Auliac, Delcourt, Goblot] “Mathématiques : Algèbre et géométrie 50% cours + 50% exos”

(Je ne le connais pas du tout.)

[Laville] “Géométrie pour le CAPES et l’Agrégation”

(Je ne le connais pas du tout.)

[Tauvel, Géométrie] “Géométrie pour l’agrégation interne”

(Je ne le connais pas du tout.)

[Peitgen] “Chaos and fractals : new frontiers of science”

Un livre vraiment peu rigoureux, mais peut donner quelques idées, notamment à propos de la suite logistique (p58, leçon 223, 230) ou des ensembles de Julia et de Mandelbrot (13.4 p793, leçon 183).


[Ruaud, Warusfel] “Exercices de mathématiques pour l’agrégation, Algèbre 3”

(Je ne le connais pas du tout, merci à Loïc pour l’indication.)

[Rombaldi] “Thèmes pour l’agrégation de mathématiques”

Ressemble à une liste de développements, similaire au [Zavidovique].

Un peu d’informatique pour les leçons de maths (mais pas trop)

[Lapresté] “Introduction à MATLAB”

Un petit livre qui couvre tout le langage/logiciel MATLAB, pratique pour des rappels de syntaxe notamment.

[Meunier] “Algèbre avec applications à l’algorithmique et à la cryptographie”

Un très bon bouquin, rappelle les bases sur le cours en algèbre mais va assez loin sur les applications (Diffie-Hellman, RSA, El-Gamal, codes correcteurs, Berlekamp, pseudo-inverse, FFT, et même Miller-Rabin).

[Menezes] “Handbook of applied cryptography”

Une excellente référence (en anglais) pour tout ce qui concerne la cryptographie. Un peu obscur et pas très clair sur les preuves, mais de bons schémas, des exercices et plein d’exemples (de tout, notamment Diffie-Hellman, RSA, ou El-Gamal).

[Chabert] “Histoire d’algorithmes : du caillou à la puce”

Surtout intéressant pour l’aspect historique de certains domaines de l’algorithmique. Notamment utile pour la méthode de Héron, la méthode de Gauss, etc.

[Cormen] “Introduction à l’Algorithmique”

La bible de l’algorithmicien, toujours précis et rigoureux pour ses preuves. Il convient de rester vigilant, quelques typos ou erreurs restent présentes, même dans la dernière édition. Certaines peuvent inspirer des développements, et certains algorithmes (hachages, arithmétique, moindres carrés, RSA, etc) peuvent être présentés en oral de maths sans aucun soucis.

En Informatique

Voici une liste assez complète de livres utiles pour préparer les deux épreuves d’informatique de l’agrégation de mathématiques (option D) : oral de leçons d’informatique (21 leçons en 2020) et oral de modélisation d’option D.

J’indique entre {accolades} les leçons couvertes par chaque livres (ce sont des indications rapides, des livres peuvent très bien être utiles pour d’autres leçons).

TODO liste inversée

Algorithmique

Langages Formels

Logique

Calculabilité et complexité

Autres domaines


Livres spécifiques pour l’oral de l’agrégation

[131dev] “131 développements” (par Le Barbenchon, Lesevre, Pierron, Montagnon)

Une bible pour les développements de l’agrégation, y compris en informatique ! Contient 131 développements de niveaux variés, couvrant toutes les leçons du programme de 2019. Mon livre préféré parmi ceux pour l’oral !


Livres génériques pour l’option info

[Dehornoy] “Mathématiques de l’informatique : cours et exercices corrigés”

Un excellent bouquin, qui présente rapidement (presque) tous les éléments du programme, avec cours, exemples, démonstrations et exercices ! Contient plein de développements parmi les plus utiles ou les plus classiques. Mon livre préféré (parmi ceux pour l’option info) !

[Stern] “Fondements mathématiques de l’informatique”

Un bon bouquin, mais qui a mal vieilli. Encore de bonnes démos, notamment des réductions pour les problèmes NP-complets.

[Belghiti] “Les clefs pour l’info”

Un recueil d’annales corrigées de l’épreuve d’informatique théorique du concours des ENS. Abordant des domaines aussi variés que la logique propositionnelle, la combinatoire des mots, l’algorithmique, la réécriture ou la théorie des graphes, ces exercices permettent un survol complet d’un domaine peu abordé dans la littérature accessible à Bac+2. Outre les corrections détaillées et illustrées de nombreux schémas, les auteurs ont fourni des commentaires et une bibliographie raisonnée.

C’est une référence qui contient plein d’exercices corrigés, chacun pouvant être utilisé comme un développement. Le niveau est très haut, attention à ne pas viser trop difficile.


Informatique niveau prépa (option info et info pour tous)

[Wack] “Informatique pour tous en classes préparatoires aux grandes écoles : manuel d’algorithmique et programmation structurée avec Python”

Un excellent livre qui couvre tout le programme d’Informatique pour tous en prépa. Très utile pour les rappels de cours sur l’architecture des ordinateurs (modèle de von Neumann), la représentation des nombres entiers/rationnels/flottants en machine, ainsi que pour les bases de données et les bases du calcul scientifique (méthode d’Euler, pivot de Gauss etc).

[Albert, Gastin] “Cours et exercices d’informatique : classes préparatoires”

Un excellent livre qui couvre tout le programme d’option Informatique en prépa MPSI/MP. Avec beaucoup de programmes Caml, mais peu de preuves. De bons rappels de cours sur les bases, souvent illustrés par un peu de code. Peut vraiment aider pour l’épreuve de modélisation !

[Jaume] “Éléments de mathématiques discrètes : cours, exercices résolus, implémentations avec les langages Python et OCaml”

Un bon livre sur le domaine des mathématiques discrètes, véritable frontière entre mathématiques et informatique. Gros avantage de donner des implémentations en Python et en OCaml, c’est une source rare pour travailler ces deux langages conjointement pour l’épreuve de modélisation.


Algorithmique

Couvrent les leçons suivantes :

[BBC] “Éléments d’Algorithmique”

Une excellente référence, surtout sur les structures de données. Attention il devient rare. Contient presque tout, avec plein de dessins et plein de preuves. Il n’est plus édité et le jury autorise que les malles contiennent des versions reliées d’un poly imprimé (il est diffusé librement par ses auteurs).

[Cormen] “Algorithmique : cours avec 957 exercices et 158 problèmes”

La bible de l’algorithmicien, toujours précis et rigoureux pour ses preuves. Il convient de rester vigilant, quelques typos ou erreurs restent présentes, même dans la dernière édition. Certaines peuvent inspirer des développements, et certains algorithmes (hachages, arithmétique, ?) peuvent être présentés directement en développement de maths.

Il s’appelle enfin autrement que “introduction à l’algorithmique” (en 4ème édition), parce que le plus gros bouquin de la liste n’avait quand même plus de raison de s’appeller “introduction”…

[Aho, Hopcroft, Ullman] “Structures de données et algorithmes”

Une excellente référence (plus souvent disponible en anglais). Pas disponible à la BU de l’ENS de Rennes, mais dans la malle d’agrég. (peut-être à la BU de Beaulieu ?) De très bons rappels sur “tout”, en particulier les questions de dictionnaires, graphes (orientés ou non), et les tris. Une preuve presque claire de la borne inférieure du nombre de comparaisons pour un algorithme de tri par comparaisons.

[Baynat] “Exercices et problèmes d’algorithmique (146 énoncés avec solutions détaillées)”

Un bon bouquin, qui souvent vient avec une rédaction “type développement” et un découpage par lemmes. Notamment les chapitres 5 sur les bases des graphes, 6 sur les parcours et 7 sur les graphes valués.

[Monicault] “L’épreuve écrite d’algorithmique X, ENS, ESPCI : cours abrégé & annales corrigées”

Un petit livre récent qui donne un bon condensé du programme d’informatique de prépa (ce qui couvre la moitié du programme d’agrég), et plein d’exercices et de problèmes corrigés. Peut donner des idées de développements originaux.

[Bajard] “Exercices d’algorithmique : oraux d’ENS”

Un livre un peu vieillissant (1997) qui peut donner des idées de développements difficiles pour les leçons d’algorithmiques. Je ne le connais pas bien.

[Boissonnat, Yvinec] “Géométrie algébrique”

Trop complet… Utile pour les questions de triangulations et les diagrammes de Voronoï. Présente plein de méthodes de calculs de l’enveloppe convexe (autre que Graham et Jarvis).


Algorithmes et implémentations

Utile pour s’entraîner à l’oral de modélisation.

[Durr] “Programmation efficace : les 128 algorithmes qu’il faut avoir compris et codés en Python au cours de sa vie”

Un petit livre qui s’attaque à définir plein de problèmes algorithmiques et présenter leurs solutions, en expliquant l’algorithme et en donnant à chaque fois un code complet en Python. Site web compagnon : https://tryalgo.org/. On y trouve les algorithmes classiques de géométrie ou de recherche de plus court chemin mais également des sujets plus atypiques tels que les arbres de Fenwick ou les liens dansants de Knuth. C’est une très bonne référence pour travailler la programmation en Python et l’épreuve de modélisation.

[Conchon] “Apprendre à programmer avec OCaml - Algorithmes et structures de données”

Un livre d’algorithme utilisant OCaml, c’est une très bonne référence pour se réapproprier le langage OCaml et travailler les leçons d’algorithmique, ainsi que la modélisation.


Algorithmique du texte

Couvre la leçon suivante 907 (Algorithmique du texte : exemples et applications.).

[Crochemore] “Algorithmique du texte”

Présente tout ce qu’il faut savoir sur l’algorithmique du texte au niveau agrég, et bien plus. Présente notamment les algorithmes KM, KMP, les automates de Simon, mais aussi Boyer-Moore (qui est l’algorithme effectivement utilisé dans GNU grep), ainsi que le codage de Huffman, parmi d’autres choses.

[Crochemore, Rytter] “Text algorithms”

Version en anglais. Semble distribué en ligne légalement. Présente KM, KMP, les automates de Simon, mais aussi Boyer-Moore (qui est l’algorithme effectivement utilisé dans GNU grep), ainsi que le codage de Huffman, parmi d’autres choses.


Graphes

Couvrent la leçon 925 (Graphes : représentations et algorithmes.) et peuvent être utiles pour les leçons 901 (Structures de données : exemples et applications.) et 921 (Algorithmes de recherche et structures de données associées.), ainsi que 926 (Analyse des algorithmes : complexité. Exemples.) et 927 (Exemples de preuve d’algorithme : correction, terminaison.).

[Gondran, Minoux] “Graphes et algorithmes”

Un peu vieux, mais reste très complet. Présente les questions de connexité (et calcul des composantes connexes), de problème du plus court chemin (Moore-Dijkstra, Dijkstra, Bellman, Ford, Floyd, Dantzig etc), un bon chapitre sur les matroïdes, et un autre sur les arbres et arborescences (Kruskal, Prim).

[Fournier] “Théorie des graphes et applications : avec exercices et problèmes”

Un trè bon bouquin, orienté applications. Il existe aussi en deux volumes (dans la malle d’agrég). Le tome 1 en particulier est très clair et complet avec de bons rappels sur les définitions, les questions de représentations des graphes, mais aussi la recherche de chemins optimaux, de d’arbres couvrants. Le tome 2 présente notamment le problème de voyageur de commerce.

Les livres suivants sont plus récents, je ne le connais pas encore.

[Bachir] “Graphes, ordres & programmation linéaire : cours et exercices”

Un livre très récent (2020) sur les graphes. La première partie devrait être une bonne référence pour la leçon sur les graphes, et les exercices les plus difficiles peuvent donner des développements originaux.

[BoriesLonguet] “Graphes et combinatoire : cours avec 210 exercices corrigés”

Un livre récent (2015) sur les graphes. La première partie devrait être une bonne référence pour la leçon sur les graphes, et les exercices les plus difficiles peuvent donner des développements originaux.

[Larramendy] “Introduction à la théorie des graphes : cours et exercices corrigés”

Un livre récent (2015) sur les graphes. La première partie devrait être une bonne référence pour la leçon sur les graphes, et les exercices les plus difficiles peuvent donner des développements originaux. Peut aussi être utile pour des textes de modélisation qui parleraient de théorie des graphes (coloriages, classifications etc).

[Bretto] “Éléments de théorie des graphes”

Un autre livre récent (2012) sur les graphes. La première partie devrait être une bonne référence pour la leçon sur les graphes, et les exercices les plus difficiles peuvent donner des développements originaux.


Langages formels et automates

Concerne le leçons 909 (Langages rationnels. Exemples et applications.) et les leçons de calculabilité (certains problèmes sur des classes de langages étant indécidables). Peut aussi contenir du matériel pour les leçons d’algorithmique, notamment 931 (Schémas algorithmiques. Exemples et applications.) avec l’algorithme de Cocke-Yasami-Kounger (CYK).

Il y a quelques années, il y avait plus de leçons sur les automates, avec notamment une leçon entière sur les automates dans laquelle on devait parler d’automate à pile, une notion qui est sortie du programme.

[CartonPerrin] “Langages formels, Calculabilité et Complexité : cours et exercices corrigés”

Une excellente référence. Beaucoup de développements, en langages formels bien sûr, mais aussi ailleurs (notamment problèmes NP et réductions). Mon autre livre préféré (parmi ceux pour l’option info) !

[Hopcroft, Ullman] “Introduction to automata theory, languages, and computation”

Une excellente référence (en anglais, mais dans une version internationale assez facile à comprendre). Beaucoup de rappels, d’exemples et de bons dessins à réutiliser pour les plans. De bonnes idées de développements sur les automates (Chap 2), les langages rationnels (Chap 3 et 4), algébriques (Chap 5 et 7), mais aussi de l’indécidabilité (Chap 9) des problèmes NP (Chap 10, dont NodeCover, IndependentSets, et HamPath) et une introduction à la classe Co-NP.

[Sakarovitch] “Eléments de théorie des automates”

Une bonne référence, même si son style austère rebute un peu. Très long. Très complet sur plein de choses hors programmes (youpi), mais aussi plein de choses sur ce qui est au programme des leçons d’info. Plein de développements sur tout ce qui concerne les automates, et un peu plus (PCP Th8.2 p42, des problèmes décidables sur les langages rationneles Prop1.11 p77, etc).

Jean-Michel Autebert : langages formels, et calculabilité

Des bouquins qui commencent à vieillir, mais restent de solides références.

[Autebert, Langages et Automates] “Théorie des langages et des automates”

[Autebert, Langages algébriques] “Langages algébriques”

Pas disponible à la BU de l’ENS de Rennes, mais dans la malle d’agrég. (peut-être à la BU de Beaulieu ?)

[Autebert, Langages algébriques] “Calculabilité et décidabilité : une introduction”


Décidabilité et calculabilité

Concernent les leçons suivantes :

Ces questions sont aussi abordées dans des livres cités ailleurs ([Dehornoy], [CartonPerrin], [Sakarovitch] etc). Les livres d’algorithmes ([Cormen] par exemple) contiennent souvent une partie entière sur des problèmes NP-complets et des algorithmes d’approximation, dont il convient de parler pour la leçon 928 (mais elle traite principalement de réductions et pas d’algo d’approximation, attention !).

[Wolper] “Introduction à la calculabilité”

Une excellente référence pour les leçons de calculabilité (des preuves bien rédigés, mais des exercices sans correction) et plein développements possibles : inclusion stricte $\mathcal{R} \subsetneq \mathcal{R}E$, problèmes indécidables sur les grammaires (Ch7.5 p207), etc. Prenez la dernière édition de 2006.

[Perifel] “Complexité algorithmique”

Un très bon livre sur les notions de calculabilité et complexité, des machines de Turing aux problèmes NP-complets, en passant par la hiérarchie polynomiale. Très bien rédigé dans un style clair et précis, avec de bons exemples et illustrations et plein d’exercices corrigés.

[DehornoyCalc] “Complexité et décidabilité”

Un autre bon bouquin sur la complexité et calculabilité. Contient des développements parmi les plus utiles ou les plus classiques.

[Autebert, Calculabilité] “Calculabilité et décidabilité : une introduction”

Un bon bouquin.

[Sipser] “Introduction to the theory of computation”

Une autre bonne référence pour les leçons de calculabilité, mais écrite en anglais. Prenez la dernière édition de 2013.


Logique et théorie des preuves

Concernent les leçons suivantes :

[Mathieu Matthieu] “Logique pour l’informatique”

Un livre très récent, mais très recommandé, car il contient toute la logique de niveau agrégation, et bien plus. Il ne fait pas de SQL et base de données par contre.

[Lalement] “Logique, réduction, résolution”

Un bon bouquin qui traite de réécriture et d’unification (qui ne sont plus au programme), mais pas seulement puisqu’il donne des rappels sur la déduction naturelle, le théorème de Herbrand etc, qui seront utiles pour les leçons 916, 918, 924. On trouvera notamment de bons exemples : fonctions récursives simples calculées par réécriture comme la factorielle ou Ackermann, les règles de dérivation formelles (II.2.1 p66), ou encore le fameux exemple de la théorie équationnelle des groupes (bien fait en V.3.3 p239).

[Cori1] et [Cori2] “Logique mathématique : cours et exercices corrigés”, Tomes 1 et 2

Deux excellents livres, à considérer plutôt comme un seul découpé en deux (tome 1 réédité en 2003, tome 2 en 2020). De nombreux exercices, des rappels de cours précis et concis, et des démonstrations plutôt claires, mais dont la longueur et la typographie un peu désuette pourront rebuter le néophyte (pour les vieilles éditions).

[RDavid] “Introduction à la logique : théorie de la démonstration”

Un bon complément aux Cori1 et Cori2 ! Excellente référence pour les développements de logique.

[Goubault] “Proof Theory and Automated Deduction”

Une bonne référence, même s’il n’est pas toujours facile à prendre en main. Attention à certaines preuves qui restent fausses, et qui sont irrattrapables (détails dans les preuves des théorèmes de Skolem et Herbrand pour le calcul des séquents du premier ordre $LK_1$, par exemple). Pas disponible à la BU de l’ENS de Rennes, mais dans la malle d’agrég. (peut-être à la BU de Beaulieu ?)

[Lassaigne] “Logique et complexité”

Peu de contenu utile pour le programme de l’agreg, mais peut éventuellement aider pour aller un peu hors du programme en théorie de la complexité, utile pour la fin du plan sur la leçon complexité. Une édition plus récente (2004) est disponible, en anglais (mais pas à Rennes, peut-être dans la malle d’agrég @Cachan).


Analyse lexicale et syntaxique

Concerne la leçon 923 (Analyses lexicale et syntaxique : applications.).

[LegendreSchwarzentruber] “Compilation : analyse lexicale et syntaxique : du texte à sa structure en informatique”

Une excellente référence sur l’analyse lexicale et syntaxique (co-écrite par François Schwarzentruber un professeur de l’ENS de Rennes). Couvre tout ce qu’il faut inclure dans la leçon 923 et bien plus, avec de nombreux exemples.


Lambda-calcul

Concerne surtout la leçon 929 (Lambda-calcul pur comme modèle de calcul. Exemples) et un peu la leçon 930 (Sémantique des langages de programmation. Exemples). Il peut aussi être utile de mentionner le lambda-calcul comme un modèle de calcul équivalent aux fonctions primitives récursives donc pour la leçon 912 (Fonctions récursives primitives et non primitives. Exemples.) et aux machines de Turing donc pour la leçon 913 (Machines de Turing. Applications.).

[Krivine] “Lambda-calcul : types et modèles”

Un petit livre (1990) qui couvre tout le programme de la leçon Lambda-calcul. La partie sur les types est hors programme.

[Barendregt] “(The) lambda calculus : its syntax and semantics”

Un très bon livre en anglais sur le(s) lambda-calcul, qui va bien au delà du programme d’agrég de la leçon Lambda-calcul. Donne des preuves des principaux théorèmes qui peuvent être des développements pour cette leçon.

[Lassaigne2] “Logique et fondements de l’informatique : logique du 1er ordre, calculabilité et lambda-calcul”

Peu de contenu utile pour le programme de l’agreg, mais peut éventuellement aider pour aller un peu hors du programme en théorie de la complexité, utile pour la fin du plan sur la leçon complexité. Traite de lambda-calcul aussi.


Sémantique des langages de programmation

Couvrent la leçon 930 (Sémantique des langages de programmation : exemples.).

[Winskel] “The formal semantics of programming languages : an introduction”

Semble être une bonne référence (et la seule) pour la sémantique formelle des programmes, notamment la logique de Hoare et les preuves avec un invariant entre chaque lignes du programmes. Je crois me souvenir qu’il y a un exemple bien traité sur la fonction factorielle dans un langage simple impératif (IMP), qui peut faire un développement pour la leçon 927 (preuve programme) ou 930 (sémantique).


Bases de données

Pensez que les gros livres qui couvrent l’Informatique pour tous en prépa (programme d’après 2013) ont une partie entière sur les bases de données : définitions, notations formelles de l’algèbre relationnelle, exemples et illustrations, syntaxe du SQL, etc.

Couvrent la leçon 932 (Fondements des bases de données relationnelles.).

[Abiteboul] “The Foundations of Databases”

Probablement le meilleur livre pour préparer la leçon Base de données, même s’il est en anglais. Il est très théorique, et constituera une bonne référence pour aller loin dans la leçon.

Les livres suivants sont plus récents, je ne le connais pas encore.

[Gardarin] “Bases de données”

Un livre qui doit couvrir tout le programme pour la leçon Base de données. Il y a aussi un livre plus vieux, de 1999, mais utilisez la version la plus récente de 2003.

[Hainaut] “Bases de données : concepts, utilisation et développement”

Un point de vue beaucoup plus pratique. Le début est probablement utile pour la leçon Base de données, mais je pense que la majeure partie du livre est inutile.

[Meier] “Introduction pratique aux bases de données relationnelles”

Un point de vue beaucoup plus pratique. Le début est probablement utile pour la leçon Base de données, mais je pense que la majeure partie du livre est inutile.


Culture générale informatique

Ne concerne aucune leçon en particulier, mais se forger (ou plutôt se consolider) une bonne culture générale en informatique (sans négliger l’histoire de l’informatique, et ses grands succès récents) est une très bonne idée. Cela vous permettra de trouver des introductions, des conclusions ou des exemples et des illustrations intéressantes pour compléter vos soutenances de plans, développements et l’oral de modélisation.

[Chabert] “Histoire d’algorithmes : du caillou à la puce”

Surtout intéressant pour l’aspect historique de certains domaines de l’algorithmique. Notamment utile pour la méthode de Héron, la méthode de Gauss, etc.

[DowekEnseignement] “Introduction à la science informatique : pour les enseignants de la discipline en lycées”

Un très bon livre qui s’attaque à la question de comment bien enseigner l’informatique au niveau lycée.

[DowekCalcul] “(Les) métamorphoses du calcul : une étonnante histoire de mathématiques”

Un livre de culture générale sur l’histoire des mathématiques et du calcul.

[AbiteboulDowek] “Le temps des algorithmes, par Serge Abiteboul et Gilles Dowek”

Un excellent petit essai (grand public) sur la place croissante qu’occupent les algorithmes dans nos vies. Une lecture recommandée, qui peut aider à commencer des leçons d’algorithmique (ou autre) et des oraux de modélisation.

[Abiteboul] “Le bot qui murmurait à l’oreille de la vieille dame : et autres nouvelles numériques”

Un petit livre drôle et intéressant. A lire pour le plaisir.

[Tarissan] “Au coeur des réseaux : des sciences aux citoyens”

Un bon petit essai assez grand public sur les réseaux et l’informatique dans le monde contemporain.


Architecture des ordinateurs (modélisation)

Il y a depuis 2019 un point du programme spécifique à l’épreuve de modélisation d’option D :

Ces livres couvrent ces points du programme (et bien plus).

[Longchamp] “Introduction aux systèmes informatiques : architectures, composants, mise en œuvre”

Un bon livre.

[SchwarzArchi] “Architecture des ordinateurs”

Un bon gros livre dont les premiers chapitres sont à lire et à connaître (mémoire et unités de calculs, composants d’un ordinateur etc).

[CazesDelacroix] “Architecture des machines et des systèmes informatiques”

Un autre bon livre.

[Zanella] “Architecture et technologie des ordinateurs : cours et exercices corrigés”

Un autre bon livre.


Cryptographie (pas au programme)

Ce n’est pas au programme. mais ça peut être utile pour des développements à la frontière entre maths et info (leçons anneau $\mathbb{Z}/n\mathbb{Z}$ etc).

[Meunier] “Algèbre avec applications à l’algorithmique et à la cryptographie”

Un très bon bouquin, rappelle les bases sur le cours en algèbre mais va assez loin sur les applications (Diffie-Hellman, RSA, El-Gamal, codes correcteurs, Berlekamp, pseudo-inverse, FFT, et même Miller-Rabin).

[Menezes] “Handbook of applied cryptography”

Une excellente référence (en anglais) pour tout ce qui concerne la cryptographie. Un peu obscur et pas très clair sur les preuves, mais de bons schémas, des exercices et plein d’exemples (de tout, notamment Diffie-Hellman, RSA, ou El-Gamal).


Logique en lien avec l’unification et réécriture

PLUS AU PROGRAMME : les leçons 919, 920 sont sorties du programme.

[TermRewriting] “Term rewriting and all that”

THE reference (en anglais) pour tout ce qui touche à la réécriture, donc crucial pour les leçons 919 et 920.




© 2015-2021 Lilian Besson, generated on 16:32, 24-02-2021 by an open-source (MIT) Python script.