INF411 : Les bases de la programmation et de l'algorithmique

(la page des TD)
Enseignant responsable : Jean-Christophe Filliâtre

Année 2017 (promotion X2016)

Présentation

Ce cours entend amener les élèves de niveau INF311 (Introduction à l'informatique) au niveau de fin de INF321, afin de pouvoir poursuivre le cursus d'informatique de l'École avec le cours INF421 (Conception et analyse d'algorithmes).

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

Voici le poly (version 2017) au format PDF.

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.

  1. amphi 1 (lundi 28 août) Tableaux redimensionnables et listes chaînées
    (poly : chapitres 1 à 4) / code : Amphi1.java
    vidéo
  2. amphi 2 (lundi 4 septembre) Tables de hachage
    (poly : chapitres 1, 5 et 11 / code : MarkovChains.java / le projet Gutenberg)
    vidéo
  3. amphi 3 (lundi 11 septembre) Arbres 1/2
    (poly : chapitre 6)
    vidéo
  4. amphi 4 (lundi 18 septembre) Arbres (2/2)
    (poly : section 6.4 et chapitre 7) / code Java (tous les préfixes) / le concours de programmation mentionné en amphi / Rope.java)
    vidéo
  5. amphi 5 (lundi 25 septembre) Files de priorité
    (poly : chapitres 8 et 14 / code : Wiki.java ; Huffman.java)
    vidéo
  6. amphi 6 (lundi 2 octobre) Tri
    (poly : chapitre 13 / code : ConvexHull.java)
    vidéo
  7. amphi 7 (mercredi 11 octobre) Graphes (1/2)
    (poly : chapitres 15 et 16.1) / code Java (parcours dans Wikipedia)
    vidéo
  8. amphi 8 (lundi 16 octobre) 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.

Quelques raccourcis utiles d'Eclipse :

Tutorat

Un tutorat a été mis en place, le vendredi de 18:00 à 20:00 en salle info 31, du bloc 3 au bloc 8.

Pale machine

La pale machine aura lieu le mardi 26 septembre (TD 5), dans les conditions habituelles d'un TD. Merci de bien respecter l'horaire de votre groupe.

Documents autorisés : poly, planches amphis, notes manuscrites.

Archives :

Contrôle classant

Le contrôle classant aura lieu le lundi 23 octobre, de 14:00 à 17:00 en salles T5-T6.

Archives :


Page officielle dans le catalogue