Connaissances du cours
Ce cours est l’occasion de réaliser de la différenciation pédagogique puisqu’il faudra composer avec des étudiants ayant suivi le cours de portail Descartes de programmation orientée objets (en Java pour les étudiants de L2 en 2024-2025, puis en Python ensuite), alors que les étudiants provenant d’autres L1 n’en auront vraisemblablement pas vu. Il est donc important de prévoir des feuilles de TD/TP adaptées au niveau de chacun pour assurer une progression de toutes et tous. Les exemples d’algorithmes et programmes cités plus haut sont une liste non exhaustive d’idées permettant d’illustrer les concepts de programmation et d’algorithmique à appréhender.
Compétences
À la fin du cours, on s’attend à ce que les étudiants validant le cours soient en mesure de :
-
programmer un algorithme en Python avec structuration en classes
-
convaincre de la correction d’un algorithme simple
-
estimer la complexité d’un algorithme simple
-
faire preuve d’esprit critique sur les erreurs d’approximation flottante inhérente au calcul numérique
-
comparer deux algorithmes réalisant la même tâche pour choisir le meilleur selon les cas
-
utiliser les bibliothèques numpy et matplotlib pour réaliser des calculs et visualiser des courbes