Cours d’algorithmie et quelques notions de génie logiciel et de POO avancée
Séance 1 : ingienérie logicielle, principes SOLID, Clean code + exercices
Séance 2 : Complexité algorithmique, ndarray vs. list en Python (vectorisation), table de hashage (chaînage, linear probing)
Séance 3a : Listes chaînées, Piles/files - LIFO/FIFO, récursion, mémoïsation
Séance 3b : Arbres binaires, parcours (BFS / DFS), arbres binaires de recherche (BST)
Séance 3c : Tas binaires (heap), opération (insertion, suppression…), Heapsort et Top-K.
Séance 4a : Graphes (intro, terminologie), DFS/BFS, backtracking, DAG
Séance 4b : plus court chemin, Dijskstra, A*
Séance 4C : RandomWalk, PageRank (théorie)
Séance 6 : index textuels, TF-IDF, BM25, n-grams (théorie)
Séance 7 : embeddings, bases vectorielles (théorie)