CSC_41011 (anciennement INF411)
Les bases de la programmation et
de l'algorithmique
(moodle)
(la page des TD)
Enseignant responsable
: Jean-Christophe
Filliâtre
Année 2024 (promotion X2023)
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 13:30-15:00.
-
introduction (mercredi 28 août)
amphi 1 (mercredi 28 août)
Tableaux redimensionnables et listes chaînées
poly : chapitres 1 à 4 /
code
: Amphi1.java
-
amphi 2 (lundi 2 septembre)
Tables de hachage, mémoïsation
poly : chapitres 1, 5 et 11 /
code
: MarkovChains.java
/ le projet Gutenberg
/ Amphi2memo.java
-
amphi 3 (lundi 9 septembre)
Classes disjointes
poly : chapitre 9 /
code
: Amphi3Connectivity.java
/ Amphi3Maze.java
/ CongruenceClosure.java
-
amphi 4 (lundi 16 septembre)
Rebroussement
poly : chapitre 12 /
code
: Amphi4.java (Sudoku)
/ DancingLinks.java
/ ScottDLX.java
-
amphi 5 (lundi 23 septembre)
Arbres 1/2
poly : chapitre 6 /
code
: AVLSet.java
/ Amphi5.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 36 - Marc Mezzarobba - Alexandre Guillemot
- Groupes 2- 7 - salle 35 - Luca Castelli - Lola-Baie Mallordy
- Groupes 3- 8 - salle 33 - Emmanuel Haucourt - Mathilde Jeannin
- Groupes 4- 9 - salle 32 - Marie Albenque - Elies Harington
- Groupes 5-10 - salle 34 - Pierre Lairez - Anaëlle Le Devehat
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.
Pale machine
Archives :
Contrôle classant
Archives :
Moodle