Algorithmics

Présentation & objectifs

Bienvenue dans la partie du cours consacrée à l’algorithmique !

Dans ce bloc, vous étudierez comment résoudre des problèmes en utilisant des solutions algorithmiques, c’est-à-dire, des séries d’opérations qui, lorsqu’elles sont appliquées, calculent une solution au problème, un peu comme suivre une recette de cuisine pour faire un gâteau.

En plus d’écrire des algorithmes, nous étudierons également certaines propriétés des algorithmes, telles que la complexité ou la terminaison. En effet, il est important de pouvoir caractériser ces propriétés, soit pour pouvoir comparer des algorithmes entre eux (par exemple, pour déterminer lequel choisir pour une tâche spécifique), soit pour garantir qu’ils agiront comme prévu.

Enfin, nous ferons la transition vers des solutions algorithmiques plus avancées, et d’autres approches pour résoudre des problèmes. Nous vous donnerons en particulier une introduction à l’intelligence artificielle, afin que vous sachiez en quoi elle diffère des approches algorithmiques classiques.

Planning

Comment est organisée une session ?

La plupart des sessions commenceront par une présentation rapide des concepts clés par votre enseignant, avec des diapositives. Ces diapositives ne contiendront qu’un résumé des notions que vous devez apprendre. Ensuite, vous devrez étudier quelques articles pour compléter cette présentation.

Après cette courte introduction, vous devrez travailler sur des exercices qui mettent en pratique les concepts de la session. Dans toutes les activités pratiques, nous vous demandons de commencer par désactiver les outils d’IA pour le codage, afin que vous compreniez les concepts fondamentaux des exercices. Plus tard, vous pourrez refaire les exercices avec ces outils activés pour optimiser votre code.

Une fois le cours terminé, vous devez vous assurer de compléter tous les exercices non optionnels, et de comprendre tous les concepts brièvement introduits par l’enseignant, en utilisant les articles détaillés. Nous vous fournissons quelques quiz d’auto-évaluation pour vous aider à vérifier votre compréhension. N’hésitez pas à interagir sur la plateforme Discord !

Évaluation

Le bloc algorithmique sera évalué avec un QCM Wooclap sur Moodle lors de la session 6. Au début de la session, vous devrez vous connecter à Moodle et répondre à quelques questions, individuellement.

L’objectif est de vérifier votre compréhension des éléments algorithmiques de base (jusqu’à la session 4 incluse), c’est-à-dire :

  • Écrire un algorithme.
  • Comprendre comment fonctionne la récursivité.
  • Comprendre et utiliser les structures de données et leurs spécificités.
  • Comparer des algorithmes en fonction de leurs propriétés.

L’algorithmique sera également évaluée lors de l’examen final.