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.

  1. 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
  2. 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
  3. amphi 3 (lundi 4 septembre) Classes disjointes
    poly : chapitre 9 / code : Amphi3Connectivity.java / Amphi3Maze.java / CongruenceClosure.java
  4. amphi 4 (lundi 11 septembre) Rebroussement
    poly : chapitre 12 / code : Amphi4.java (Sudoku) / DancingLinks.java / ScottDLX.java
  5. amphi 5 (lundi 18 septembre) Arbres 1/2
    poly : chapitre 6 / code : AVLSet.java
  6. 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
  7. amphi 7 (lundi 9 octobre) Files de priorité
    poly : chapitres 8 et 14 / code : Wiki.java / Huffman.java
  8. amphi 8 (lundi 16 octobre) Tri
    (poly : chapitre 13 / code : ConvexHull.java)
  9. amphi 9 (lundi 23 octobre) Graphes (1/2)
    (poly : chapitres 15 et 16.1) / code Java (parcours dans Wikipedia)
  10. 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 :

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 : 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