Organisation et objectifs

Initiation à l’algorithmique

Frédéric Herbreteau, Bordeaux INP/LaBRI (frederic.herbreteau@bordeaux-inp.fr)

Qui suis-je?

Frédéric Herbreteau

Enseignant-chercheur en informatique, directeur de la filière “réseaux & informatique”, et membre de l’équipe “Modéles et technologies pour la vérification” du LaBRI

  • logique et preuve
  • modélisation et spécification formelle (systèmes concurrents, temps-réels,…)
  • vérification formelle (décidabilité, complexité, structures de données et algorithmes)
  • programmation et mise en oeuvre
  • très récemment: IA générative et vérification formelle

Organisation

  • 9 séances de 2h
  • 1 examen de 2h sur table (+ 1 seconde session)
  • Cours intégré
  • Illustrations via notebooks Jupyter (python)
  • Tests de positionnement (si possible)

Pourquoi suivre ce cours?

  • l’algorithmique est fondamentale
    • systèmes d’exploitation
    • cryptographie
    • programmation
    • réseaux
  • les algorithmes sont utiles
    • capacité à traiter efficacement des données de grande taille
  • l’algorithmique est amusante
    • entre art et science
    • stimulation intellectuelle

Objectifs

Conception et analyse d’algorithmes

  • Apprendre l’algorithmique de base
  • Évaluer la complexité d’un algorithme: outils théoriques et expérimentaux
  • Constituer une boîte à outils
    • solutions algorithmiques: recherche, tri, structures de données, …
    • techniques de conception: diviser-pour-régner, programmation dynamique, glouton, …

Plan

  1. Organisation et objectifs du cours
  2. Introduction à l’algorithmique et à la complexité
  3. Comparaison d’algorithmes
  4. Tableaux
  5. Algorithmes récursifs
  6. Listes chaînées
  7. Structures de données standards
  8. Techniques de conception
  9. Problèmes difficiles

Comment réussir ce cours?

  • Pendant les cours:
    • Suivre atentivement et prendre des notes
    • Poser et répondre aux questions
    • Faire les exercices
  • En dehors des cours:
    • Relire les cours et exercices (tests de positionnement?)
    • Faire les exercices supplémentaires au besoin (en groupe)
    • S’exercer avec les notebooks pour expérimenter
  • Supports disponibles sur https://herbrete.zzz.bordeaux-inp.fr