Structures de données : types et abstraction, structures de données séquentielles, structures de données hiérarchiques (arbres binaires, tas, union & find), structures de données relationnelles (graphes).
Algorithmique : - Algorithmes probabilistes (Las Vegas et Monte Carlo) et d'approximation (pour les problèmes de décision et d'optimisation)
- Algorithmes de séparation et évaluation
- Décomposition d'un problème en sous-problèmes : Algorithmes gloutons, diviser pour régner, dichotomie (algorithmes de tri), programmation dynamique.
- Algorithmique des textes : algorithmes pour la recherche dans un texte et la compression de textes
- Algorithmique de graphes : parcours de graphes, plus courts chemins (Algorithme de Dijkstra et de Floyd-Wharshall), recherche d'un arbre couvrant de poids min, notions de chemins augmentants avec introduction aux problèmes de flots.
Intelligence artificielle : Mesures de similarité pour l'apprentissage machine, données d'entraînement et données de test, choix des descripteurs, enjeux d'éthique (biais d'apprentissage, transparence), concepts d'apprentissage supervisé et non-supervisé, de stratégies et d'heuristiques.