Organisation et objectifs

Initiation à l’algorithmique

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

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: https://thor.enseirb-matmeca.fr/sites/ese5-infp1-class/