Ce document présente un cours sur l'algorithmique et la complexité, abordant des concepts clés tels que la définition d'un algorithme, les structures de données, les algorithmes de tri, et la récursivité. Il détaille également les cotes de complexité, les classes de complexité et des exemples d'algorithmes, tout en soulignant l'importance d'analyser la complexité avant l'implémentation. Enfin, il souligne les objectifs du cours, qui incluent l'élaboration d'algorithmes performants et le développement d'une compréhension approfondie des concepts de complexité et d'optimalité.