Les objectifs de ce cours sont de comprendre les fondements théoriques et conceptuels des blockchains et leurs applications concrètes. Après un bref rappel sur les principes historiques de la décentralisation et les notions de cryptographies nécessaires à la sécurisation des blockchains (fonctions de hachage cryptographique, signatures numériques), nous aborderons le problèmes du consensus distribué qui est au coeur de cette technologie. Comme cas pratiques, nous étudierons l'algorithme de Nakamoto de Bitcoin et certains algorithmes PBFT (Practical Byzantin Fault Tolerant) des blockchains Proof-of-Stake comme Ethereum, Cosmos, etc.
L'objectif de ce cours est de donner les bases indispensables en apprentissage automatique ou "Machine Learning": les principales familles de modèles et les algorithmes associés (inférence et apprentissage). En particulier, seront traités : (i) les bases théoriques de l'apprentissage, les modèles probabilistes et l'apprentissage Bayésien, (ii) les modèles linéaires et les SVM (Support Vector Machines).
Le module sur l'Internet des objets (IoT) explore en profondeur le concept et les applications des objets physiques connectés au réseau Internet. Les étudiants étudient les architectures IoT, les protocoles de communication, ainsi que l'intégration de capteurs et d'actuateurs dans divers dispositifs. Ce parcours met également l'accent sur l'analyse des données collectées, offrant ainsi des insights précieux pour l'optimisation des processus, la gestion intelligente des ressources et la création de services innovants. En plus des aspects techniques, le cours aborde les défis en matière de sécurité, de confidentialité et d'éthique liés à l'IoT, préparant ainsi les étudiants à naviguer dans un environnement en constante évolution. Les projets pratiques permettent d'appliquer ces concepts dans des scénarios réels, renforçant ainsi la compétence des étudiants à développer des solutions IoT efficaces et sécurisées.
L’objectif de ce cours et d’apprendre à créer et déployer des applications Cloud. Le cours couvre les aspects suivants : Définition et types de cloud (cloud privé, public, hybride), modèles de services du cloud (SaaS, PaaS, LaaS), risques et opportunités du cloud (gestion de la sécurité, accès instantanés à des ressources de calcul et de stockage (élasticité), création et déploiement d’applications (Google Cloud, Amazon, Azure, ….)
Rappel des notions de bases de statistiques: moyenne écart-type,
variance, covariance, corrélation.
Implémentation de k-means avec les scores silhouette
Clustering hiérarchique.
Analyse de textes, n-grammes. Calcul les fréquences des lettres dans quelques langues, et
implémentation d'un détecteur de la langue d'un texte.
Clustering de séquences avec implémentation Levenshtein et k-medoids.
Learning objectives
L’objectif de ce cours est de permettre aux étudiants d’acquérir les principes, méthodes et outils fondamentaux de l’exploration de données (data mining).
À l’issue du module, les étudiants sauront analyser, modéliser et extraire des connaissances pertinentes à partir de grands ensembles de données, en combinant des approches statistiques, algorithmiques et d’apprentissage automatique.
Introduction aux smart-contrats : définitions, historique, plateforme (ex. Ethereum)
Langage de programmation des smart-contrats et environnement de développement (syntaxique, compilation, déploiement)
Interaction avec un smart-contrat : appels, événements, stockage, gas et coûts
Bonnes pratiques et sécurité des smart-contrats : vulnérabilités classiques, tests, audits
Déploiement et maintenance : mise à jour, gestion d’état, facteurs de coût, simulation/testnet
Projet ou exercice pratique de développement d’un smart-contrat complet
Learning objectives
Ce cours est une introduction à la programmation de smart contracts avec le langage Solidity de la blockchain Ethereum, ainsi que la programmation de DApps (Distributed Applications) en Python.
Ce cours commence par une présentation des concepts de linguistique automatique nécessaires à la compréhension des applications développées pour le traitement de gros corpus de textes écrits, la documentation automatique, la recherche de documents, etc. Seront présentés ensuite les modèles utilisés dans une analyse plus fine des textes : analyseurs syntaxiques, sémantiques. Ces outils servent au développement d'applications telles que les correcteurs grammaticaux utilisés dans les traitements de texte ou les interfaces en français entre l'homme et la machine. Des exemples de ces applications seront montrés tout au long du cours. Les différents points développés dans les cours sont :
Introduction au traitement automatique des langues : enjeux et applications
Analyse syntaxique de l'étiquetage morphosyntaxique à l'analyse en profondeur, en passant par les analyseurs robustes
Présentation et utilisation d'analyseurs syntaxiques
Analyse sémantique : de la syntaxe à une représentation fondée sur les réseaux sémantiques
Applications : système de questions-réponses, systèmes de dialogue homme-machine.
Ce cours explore les enjeux éthiques, sociétaux et juridiques liés au développement et à l’utilisation de l’intelligence artificielle. Il couvre les principes de l’IA responsable, tels que la transparence, l’équité, l’explicabilité et la protection des données. Les étudiants apprendront à intégrer ces principes dans la conception d’algorithmes et de systèmes intelligents, à travers des études de cas et des projets appliqués.
Ce cours examine l’intégration des technologies numériques dans le domaine de la santé, incluant les systèmes d'information hospitaliers, la télémédecine, les objets connectés et l'analyse des données médicales. Il aborde également les défis en matière de sécurité, d’éthique et de réglementation. Les étudiants développeront une compréhension critique des solutions e-santé et participeront à la conception de projets innovants dans ce domaine.
Extraction et programmation statistique de l'information
ECTS :
3
Semester:
Semestre 2
Detail
Lecture:10.5
Directed study:10.5
Language(s) of instruction
Français
Remote teaching
non
Learning objectives
De nombreuses applications sont confrontées avec une grande quantité d'informations numériques qui nécessitent un traitement statistique. Cet enseignement présente les principales techniques d'analyse et d'interprétation de données numériques telles que la séparation linéaire, la classification Bayesienne, le regroupement automatique et les réseaux connexionnistes. La deuxième partie de cet enseignement présente des algorithmes qui sont utilisés en traitement du langage parlé et en reconnaissance de geste ou d'écriture. Après une introduction à la technique de la programmation dynamique, l'utilisation et l'apprentissage des modèles de Markov cachés seront traités en détail.
Introduction aux protocoles et aux modèles de menace
Failles et attaques classiques sur les protocoles
Études de protocoles standards (TLS, SSH, etc.)
Bonnes pratiques de conception et renforcement des protocoles
Learning objectives
Ce cours étudie la sécurité des protocoles en se concentrant sur la compréhension de leurs failles, les techniques d’attaque et les bonnes pratiques de conception. Les étudiants analyseront des protocoles réels et proposeront des améliorations pour les rendre robustes face aux menaces modernes.
Introduction : motivation, usages de l’IA en cybersécurité, types d’apprentissage
Détection d’anomalies et classification d’attaques : données réseau, logs, malwares
Apprentissage supervisé et non supervisé pour la sécurité
Apprentissage adversarial et attaques contre les modèles
Conception de contre-mesures intelligentes : adaptation, renforcement, défense par détection
Étude de cas / mini-projet : entraînement d’un modèle de détection ou de réponse automatique
Learning objectives
Ce cours explore l’utilisation de l’apprentissage automatique pour la détection, la prévention et la réponse aux attaques informatiques. Les étudiants découvrent comment concevoir des modèles capables d’identifier des comportements anormaux, d’anticiper des menaces et d’adapter dynamiquement les politiques de sécurité. Le cours met l’accent sur la compréhension des limites et biais de ces approches, ainsi que sur la robustesse des modèles face aux attaques adversariales.
Ce cours présente les principales technologies et protocoles de
communication utilisés dans les systèmes IoT modernes. Les étudiants y
étudient les architectures et les protocoles sans fil, en analysant leurs
performances, contraintes énergétiques et cas d’usage. Le module aborde
également les protocoles applicatifs. À l’issue du cours, les étudiants
savent choisir, configurer et intégrer les technologies de communication
adaptées à différents scénarios IoT, en conciliant portée, débit,
consommation et sécurité.
Théorie des jeux et apprentissage par renforcement
ECTS :
3
Semester:
Semestre 2
Detail
Lecture:10.5
Directed study:10.5
Language(s) of instruction
Français
Remote teaching
non
Programme/contents
La première partie du cours est consacrée à la théorie des jeux, qui
fournit un cadre analytique pour modéliser les interactions stratégiques
entre agents aux intérêts divergents. Les étudiants y découvrent les notions
d’équilibre de Nash, de jeux dynamiques et de jeux répétés, ainsi que des
extensions aux contextes d’information incomplète.
La seconde partie introduit l’apprentissage par renforcement, où un
agent apprend à optimiser ses actions grâce à un système de récompenses. Le
cours aborde les processus décisionnels de Markov (MDP), la programmation
dynamique et les algorithmes d’apprentissage (value iteration, policy
iteration), avant d’étendre ces notions au cadre multi-agent.
Les liens entre apprentissage et théorie des jeux sont explorés, notamment
la manière dont les agents peuvent apprendre à atteindre ou à approcher des
équilibres stratégiques. L’ensemble offre une base solide pour comprendre et
concevoir des systèmes intelligents autonomes et adaptatifs.
Learning objectives
Ce cours explore deux approches fondamentales de la prise de décision
rationnelle dans des environnements complexes : la théorie des jeux
non-coopératifs et l’apprentissage par renforcement (Reinforcement Learning,
RL). Il met en lumière la manière dont plusieurs agents - qu’ils soient
humains, robotiques ou logiciels - peuvent interagir, rivaliser ou coopérer
afin d’atteindre leurs objectifs, tout en tenant compte des stratégies des
autres ou de l’incertitude de leur environnement.
Ce hackathon immersif propose aux étudiants de concevoir en équipes des solutions innovantes basées sur l’IA générative, le machine learning ou le deep learning. Les défis porteront sur des thématiques à fort impact sociétal : IA et cybersécurité, IA et santé, IA pour l’environnement, etc. Les participants seront accompagnés par des experts et devront livrer un prototype fonctionnel, en intégrant performance technique, responsabilité éthique et potentiel d’usage réel.