INF411 : Les bases de la programmation et
de l'algorithmique
(moodle)
(la page des TD)
Enseignant responsable
: Jean-Christophe
Filliâtre
Année 2023 (promotion X2022)
Présentation
Ce cours entend amener les élèves de niveau INF361
(Introduction à l'informatique) au niveau de fin de
INF371,
afin de pouvoir poursuivre le cursus d'informatique de
l'École.
L'enseignement porte essentiellement sur les structures de
données (listes, piles, files, arbres, graphes), sur l'algorithmique,
et sur un minimum de théorie de la complexité. Ce cours est également
l'occasion de se perfectionner en Java. Les TDs explorent en
profondeur une partie du matériel presenté en amphi.
Poly
Le polycopié du cours (disponible sur moodle)
couvre tout ce qui est abordé en amphis. Il
contient de nombreux exercices, tous corrigés.
Vous trouverez ici le code Java du poly.
Pour ceux qui souhaitent aller plus loin que le poly, voici deux
ouvrages recommandés :
Amphis
Amphi Arago, lundi 15:15-16:45.
-
introduction (lundi 21 août)
amphi 1 (lundi 21 août)
Tableaux redimensionnables et listes chaînées
poly : chapitres 1 à 4 /
code
: Amphi1.java
-
amphi 2 (lundi 28 août)
Tables de hachage, mémoïsation
poly : chapitres 1, 5 et 11 /
code
: MarkovChains.java
/ le projet Gutenberg
/ Amphi2memo.java
-
amphi 3 (lundi 4 septembre)
Classes disjointes
poly : chapitre 9 /
code
: Amphi3Connectivity.java
/ Amphi3Maze.java
/ CongruenceClosure.java
-
amphi 4 (lundi 11 septembre)
Rebroussement
poly : chapitre 12 /
code
: Amphi4.java (Sudoku)
/ DancingLinks.java
/ ScottDLX.java
-
amphi 5 (lundi 18 septembre)
Arbres 1/2
poly : chapitre 6 /
code
: AVLSet.java
-
amphi 6 (lundi 25 septembre)
Arbres (2/2)
poly : section 6.4 et chapitre 7
/ code Java (tous les
préfixes)
/ Boggle.java
/ le concours de programmation
mentionné en amphi /
Rope.java
-
amphi 7 (lundi 9 octobre)
Files de priorité
poly : chapitres 8 et 14 /
code : Wiki.java /
Huffman.java
-
amphi 8 (lundi 16 octobre)
Tri
(poly : chapitre 13 /
code : ConvexHull.java)
-
amphi 9 (lundi 23 octobre)
Graphes (1/2)
(poly : chapitres 15 et 16.1)
/ code Java (parcours
dans Wikipedia)
-
amphi 10 (lundi 7 novembre)
Graphes (2/2)
(poly : section 16.2 /
code : gps.zip /
données :
region-parisienne.osm
et osm-0.5.dtd ;
cf www.openstreetmap.org)
GPS.java
GUI.java
XMLHandler.java
Graph.java
Vertex.java
Edge.java
VertexDist.java
FindPath.java)
TDs
Mardi, 8:00-10:00 ou 10:15-12:15.
La page des TD.
Enseignants :
- Groupes 1- 6 - salle 32 - Marc Mezzarobba - Mehdi Zadem
- Groupes 2- 7 - salle 33 - Luca Castelli - Aly-Bora Ulusoy
- Groupes 3- 8 - salle 34 - Emmanuel Haucourt - Mamy Razafintsialonina
- Groupes 4- 9 - salle 35 - Malika Izabachène - Elies Harington
- Groupes 5-10 - salle 36 - Pierre Lairez - Tom Portoleau
Si vous n'êtes pas familier de l'environnement Unix utilisé en salles
info, voici une
brève
documentation des commandes les plus utiles
ainsi qu'une introduction
au terminal de Linux.
Tutorat
Un tutorat a été mis en place :
- lundi 18h-20h en salle info 36
- séances : 18 septembre, 25 septembre, 2 octobre, 9 octobre, 16
octobre, 23 octobre, 6 novembre
Le tutorat est assuré par Tom Portoleau.
Pale machine
La pale machine aura lieu le mardi 10
octobre (TD 7), dans les conditions habituelles d'un
TD. Merci de bien respecter l'horaire de votre groupe.
Archives :
Contrôle classant
Archives :
Moodle