Offre DE DE Formation Ingenieur D'Etat: Republique Algerienne Democratique Et Populaire
Offre DE DE Formation Ingenieur D'Etat: Republique Algerienne Democratique Et Populaire
OFFRE DE DE FORMATION
INGENIEUR D’ETAT
Filière : Informatique
Etablissement : Page 1
Spécialité : Intelligence Artificielle
الجمهورية الجزائرية الـديمقراطيـة الـشعبيــة
Etablissement : Page 3
Spécialité : Intelligence Artificielle
I – Fiche d’identité De la formation
(Tous les champs doivent être obligatoirement remplis)
Etablissement : Page 4
Spécialité : Intelligence Artificielle
1 - Localisation de la formation :
Faculté (ou Institut) : Faculté des Mathématiques, de l’Informatique et des
Sciences de la Matière
Département : Informatique
Etablissement : Page 5
Spécialité : Intelligence Artificielle
2- Partenaires de la formation *:
- autres établissements universitaires :
- Partenaires internationaux :
Etablissement : Page 6
Spécialité : Intelligence Artificielle
3 – Contexte et objectifs de la formation
Spécialité :
Intelligence Artificielle
B - Objectifs de la formation
Etablissement : Page 7
Spécialité : Intelligence Artificielle
Etablissement : Page 8
Spécialité : Intelligence Artificielle
4 – Moyens humains disponibles
A : Enseignants de l’établissement intervenant dans la spécialité :
Etablissement : Page 9
Spécialité : Intelligence Artificielle
Diplôme Post
Diplôme graduation
Nom, prénom graduation Grade Type d’intervention * Emargement
+ Spécialité
+ Spécialité
Etablissement : Page 10
Spécialité : Intelligence Artificielle
* = Cours, TD, TP, Encadrement de stage, Encadrement de mémoire, autre ( à préciser)
B : Encadrement Externe :
Etablissement de rattachement :
Etablissement de rattachement :
Etablissement de rattachement :
Etablissement : Page 11
Spécialité : Intelligence Artificielle
C : Synthèse globale des ressources humaines mobilisées pour la spécialité :
Total
Etablissement : Page 12
Spécialité : Intelligence Artificielle
5 – Moyens matériels spécifiques disponibles
A- Laboratoires Pédagogiques et Equipements : Fiche des équipements
pédagogiques existants pour les TP de la formation envisagée (1 fiche par laboratoire)
Intitulé du laboratoire :
Salles de TP: 5 salles de TP avec les caractéristiques suivantes pour chaque salle.
N° Intitulé de l’équipement Nombre Observations
Etablissement : Page 13
Spécialité : Intelligence Artificielle
C- Documentation disponible au niveau de l’établissement spécifique à la
formation proposée (Champ obligatoire) :
La faculté MI/SM dispose d’une bibliothèque Interne accessible à tous les étudiants de la filière. Le
fond documentaire de la Bibliothèque est accessible via :
E- Support d’apprentissage
Type de
Etablissement parraineur Lien de la plateforme
Plateforme(Moodle,….)
Moodle
Etablissement : Page 14
Spécialité : Intelligence Artificielle
II – Fiche d’organisation semestrielle des enseignements
(Prière de présenter les fiches des 6 semestres)
Etablissement : Page 15
Spécialité : Intelligence Artificielle
1- Semestre 5 :
Mode
VHS V.H hebdomadaire Mode d'évaluation
Unité d’Enseignement Coeff. Crédits d’enseignement
14-16 sem C TD TP Autres A distance En présentiel Continu Examen
UE fondamentales
UEF1(O/P)
Architecture et X
42H 01H30 01H30 4 6 40 60
administration des BDD
Compilation 63H 01H30 01H30 01H30 4 6 X 40 60
UEF2(O/P)
Programmation Linéaire et 42H 01H30 01H30 X 40 60
2 4
Dynamique
Analyse numérique 1 63H 01H30 01H30 01H30 2 4 X 40 60
Génie logiciel 63H 01H30 01H30 01H30 4 4 X 40 60
UE découverte
UED1(O/P)
Fondements de l’IA 42H 01H30 01H30 2 3 X 40 60
UE transversales
UET1(O/P)
Module optionnel :
Développement mobile
42H 01H30 01H30 2 3 X 40 60
Interface Homme Machine
Conception de jeux vidéo
Total Semestre 5 357H 10H30 06H00 09H00 20 30
Etablissement : Page 16
Spécialité : Intelligence Artificielle
2- Semestre 6 :
Mode
VHS V.H hebdomadaire Mode d'évaluation
Unité d’Enseignement Coeff. Crédits d’enseignement
14-16 A En Examen
C TD TP Autres distance présentiel Continu
sem
UE fondamentales
UEF1(O/P)
Gestion des bases de X 40 60
données réparties 42H 01H30 01H30 3 6
Etablissement : Page 17
Spécialité : Intelligence Artificielle
3- Semestre 7 :
Mode d’enseignement
Unité d’Enseignement VHS V.H hebdomadaire Coeff. Crédits Mode d'évaluation
A distance En Examen
14-16 sem C TD TP Autres présentiel Continu
UE fondamentales
UEF1(O/P)
Représentation des
connaissances et 63h00 1H30 1H30 1H30 4 6 X 40 60
raisonnement
Calcul haute performance 63h00 1H30 1H30 1H30 3 5 X 40 60
UEF2(O/P)
Machine Learning 63h00 3H00 1H30 4 6 X 40 60
Modélisation et simulation 63h00 1H30 1H30 1H30 3 5 X 40 60
UE méthodologie
UEM1(O/P)
Business Intelligence 42h00 1H30 1H30 2 3 X 40 60
Recherche opérationnelle 42h00 1H30 1H30 2 3 X 40 60
UE transversales
UET1(O/P)
Techniques de rédaction 42h 1H30 1H30 2 2 X 40 60
Total Semestre 7 378h 12h00 06h00 09h00 20 30
Etablissement : Page 18
Spécialité : Intelligence Artificielle
4- Semestre 8 :
Mode
VHS V.H hebdomadaire Mode d'évaluation
Unité d’Enseignement Coeff. Crédits d’enseignement
14-16 C TD TP Autres A En
sem Distance présentiel Continu Examen
UE fondamentales
UEF1(O/P)
Sécurité des données 63h 1H30 1H30 1H30 3 5 X 40 60
Deep learning 63h 3H00 1H30 3 5 X 40 60
UEF2(O/P)
Traitement Automatique du X
Langage Naturel 42h 1H30 1H30 3 5 40 60
Traitement de données 42h 1H30 1H30 X 40 60
massives
3 5
UE méthodologie
UEM1(O/P)
Technologies de Calcul X
Distribué et Intelligence 42h 1H30 1H30 2 3 40 60
Artificielle
Analyse et Traitement 42h 1H30 1H30 X 40 60
d’image
2 3
UET1(O/P)
Projet pluridisciplinaire 3H 4 4 X 100%
Total Semestre 8 336h 10h30 1h30 12h00 20 30
Etablissement : Page 19
Spécialité : Intelligence Artificielle
5- Semestre 9 :
Mode
VHS V.H hebdomadaire Mode d'évaluation
Unité d’Enseignement Coeff. Crédits d’enseignement
C TD TP Autres A En Examen
14-16 distance présentiel Continu
sem
UE fondamentales
UEF1(O/P)
Visualisation de données 42h 1H30 1h30 3 6 X 40 60
Vision par ordinateur 42h 1H30 1h30 3 5 X 40 60
UEF2(O/P)
Generative AI 42h 1H30 1h30 3 6
Méthodes bio-inspirées 42h 1H30 1H30 3 5 X 40 60
UE découverte
UED1(O/P)
Architectures et technologies 42h 1H30 1h30 3 3 X 40 60
blockchain
Recherche d’information 42h 1H30 1H30 3 3 X 40 60
UE transversales
UET1(O/P)
Séminaire & workshops 42h 1h30 2 2 X 100
Total Semestre 9 273h 10h30 09h00 20 30
Etablissement : Page 20
Spécialité : Intelligence Artificielle
6- Semestre 10 :
Séminaires / / /
Autre (préciser) / / /
Total Semestre 10 420 20 30
Etablissement : Page 21
Spécialité : Intelligence Artificielle
Semestre 5
Unité d’enseignement : UEF1
Matière : Compilation
Coefficient : 4
Objectifs de l’enseignement
L’objectif de ce cours sont multiples :
- Maitrise des langages de programmation : En effet, il est primordial de comprendre le fonctionnement
des compilateurs afin de programmer efficacement,
- Conception et description de langages dédiés à des applications spécifiques. Le processus de
compilation est souvent associé et restreint aux langages de programmation (procéduraux, orientés
objets) alors qu'il peut être généralisé à une multitude de langages tels que : les langages logiques,
fonctionnels, formels….
Connaissances préalables recommandées
Théorie des langages, Architecture des ordinateurs, Algorithmique, Système d’exploitation, Logique
Mathématique.
Contenu de la matière :
Introduction générale
1- Structure d’un compilateur
1.1 Phases d’analyse
1-1-1 Analyse lexicale
1-1-2 Analyse Syntaxique
1-1-3 Analyse sémantique
1.2 Phases de production
1-2-1 Génération de code
1-2-2 Optimisation de code
1.3 Phases parallèles
1-3-1 Gestion de la table de symboles
1-3-2 Gestion des erreurs
2- Compilateurs, pré-compilateurs, traducteur et interpréteur
3- Rappels sur la théorie des langages
3.1 Les expressions régulières
3.2 Les automates
3.3 Equivalence entre expressions régulières et automates
3.4 Les grammaires
Chapitre I : Analyse lexicale
1. Introduction
2. Mise en œuvre d’un analyseur lexical
2.1 Spécification des entités lexicales
2.2 Correspondance entre expressions régulières et automates
2.3 Algorithme d’analyse
2.4 Création et gestion de la table des symboles
3- Gestion des erreurs lexicales
Chapitre II : Analyse syntaxique
1- Introduction
2- Les concepts de base
Etablissement : Page 22
Spécialité : Intelligence Artificielle
2-1 Les formes normales des Grammaires
2-2 Grammaire ε-libres et sans cycles
2-3 Elimination de la récursivité à gauche directe et indirecte dans une grammaire
2-4 Factorisation d’une Grammaire
3- Les méthodes d’analyse descendantes
3.1 Les méthodes d’analyse non déterministes
3.2 Les méthodes d’analyse déterministes
3-4-1 La méthode d’analyse LL(1)
[Link] Calcul des débuts et des suivants
[Link] Construction la table d’analyse LL(1)
[Link] Algorithme d’analyse LL(1)
3-4-2 La Descente récursive
4- Les méthodes d’analyse Ascendantes déterministes
4.1 Analyse LR(1) par les contextes et les items
4-1-1 Construction de l’ensemble des contextes et des items LR(1)
4-1-2 Construction de la table d’analyse LR(1)
4-1-3 Algorithme d’analyse LR(1)
4-1-4 Analyse LR(K)
4.2 Analyse Simple LR(1) par les contextes et les items
4-2-1 Construction de l’ensemble des items LR(0)
4-2-2 Construction de la table d’analyse SLR(1)
4-2-3 Algorithme d’analyse SLR(1)
4.3 Analyse LALR(1) par les contextes et les items
4-3-1 Construction de l’ensemble des contextes et des items LR(1)
4-3-2 Construction de la table d’analyse LALR(1)
4-3-3 Algorithme d’analyse LALR(1)
5- Mise à jour de la table des symboles
6- Gestion des conflits dans le cas des tables d’analyse multi-définies
7- Relations entre les méthodes de l’analyse syntaxique
8- Gestion des erreurs syntaxiques
8.1 mode panique
8.2 Récupération au niveau syntagme
Chapitre III : Les formes intermédiaires (13%)
1- Introduction
2- La forme post-fixée
2.1 Evaluation des expressions arithmétiques et logiques
2.2 L’instruction d’affectation
2.3 Le branchement inconditionnel
2.4 Le branchement conditionnel
2.5 Les Instructions répétitives
2.6 Déclaration d’un tableau multidimensionnel
2.7 Référence à un élément d’un tableau multidimensionnel
3- Les quadruplets
3.1 L’instruction d’affectation
3.2 Le branchement inconditionnel
3.3 L’instruction conditionnelle
3.4 Les Instructions répétitives
3.5 Déclaration d’un tableau multidimensionnel
Etablissement : Page 23
Spécialité : Intelligence Artificielle
3.6 Référence à un élément d’un tableau multidimensionnel
4- Les triplets directs et indirects
4.1 L’instruction d’affectation
4.2 Le branchement inconditionnel
4.3 L’instruction conditionnelle
4.4 Les instructions répétitives
4.5 Déclaration d’un tableau multidimensionnel
4.6 Référence à un élément d’un tableau multidimensionnel
5- Les Arbres abstraits
4.1 L’instruction d’affectation
4.2 Le branchement inconditionnel
4.3 L’instruction conditionnelle
4.4 Les Instructions répétitives
4.5 Bloc d’instructions BEGIN-END
4.6 Déclaration d’un tableau multidimensionnel
4.7 Référence à un élément d’un tableau multidimensionnel
Chapitre IV : Traduction dirigée par la syntaxe
1- Schéma de traduction dirigée par la syntaxe dans le cas de l’analyse descendante
1.1 Les expressions arithmétiques
1.2 Les expressions logiques
1.3 Les structures de contrôle
1.3.1 Instruction conditionnelle
1.3.2 Instructions répétitives
2- Schéma de traduction dirigée par la syntaxe dans le cas de l’analyse ascendante
2.1 Découpage de la grammaire
2.2 Les expressions arithmétiques
2.3 Les instructions répétitives
2.4 Instruction du branchement inconditionnel
Etablissement : Page 24
Spécialité : Intelligence Artificielle
Semestre 5
Unité d’enseignement : UEF1
Matière : Architecture et administration des BDD
Coefficient : 4
Objectifs de l’enseignement
Ce module permet de cerner le niveau de stockage des données relationnelles. Seront présentées les
contraintes d’intégrités (définition et représentation à l’aide d’un langage), l’organisation de données et
structures d’accès, et les métadonnées, le mécanisme des vues ainsi que le contrôle d’accès.
Connaissances préalables recommandées
Les concepts généraux de BD ainsi que leur modélisation et interrogation.
Contenu de la matière :
Chapitre 1 : Généralités sur les SGBD
Partie 1 : Présentation générale des BD et SGBD : Rappels
1- Généralités
1-1 Définitions : BD et SGBD
1-2 Historique des SGBD,
2- Niveaux de description et Architecture des SGBD
3- Objectifs et fonctionnalités d’un SGBD : Le SGBD ORACLE
Partie 2 : La mémoire relationnelle
1- La mémoire de stockage
2- Les différentes approches de stockage des données
3- Une approche de stockage : les B-arbres
Partie 3 : Gestion de l’intégrité
1- Vue d’ensemble des contraintes d’intégrité (CI)
1-1 Les CI statiques
1-2 Les CI dynamiques : les Triggers
Etablissement : Page 25
Spécialité : Intelligence Artificielle
5- Les utilitaires de récupération : mécanismes de sauvegarde, outils de journalisation, utilitaires de points de
contrôle (Checkpoint), gestionnaire de récupération
6- Les différentes Techniques de restauration : stratégies Undo, Redo etc.
Chapitre 5 : Optimisation
1- Typologie de requêtes
2- Les différentes phases de traitement d’une requête
3- Optimisation de requêtes
3-1 Méthode syntaxique
a. Règles de transformation des arbres algébriques
b. Algorithme simple de génération d’un plan de requêtes
3-2 Estimation de coûts
a. Utilisation de données statistiques
b. Techniques d’implémentation des opérateurs : cas de la jointure
Etablissement : Page 26
Spécialité : Intelligence Artificielle
Semestre 5
Unité d’enseignement : UEF2
Matière : Analyse numérique1
Coefficient : 2
Objectifs de l’enseignement
Le module d’analyse numérique est un module de base dans le domaine du calcul scientifique. Le calcul
scientifique étant défini comme la branche qui permet d’implémenter une solution d’un problème sur un
calculateur. L’objectif du module est l’acquisition des méthodes de discrétisation, des algorithmes de
résolution des problèmes spécifiques posés dans le domaine de l’ingénierie informatique, l’analyse des
algorithmes (rapidité, précision et souplesse), et enfin l’estimation des erreurs commises dans les modèles
mathématiques employées ainsi que dans leur implémentation.
Contenu de la matière :
Chapitre 1. Analyse d’erreurs
1.1 Introduction générale
1.2 Erreurs de Modélisation
1.3 Représentation des nombres sur un ordinateur :
1.3.1 Représentation des entiers signés
1.3.2 Représentation des réels.
1.3.3 Erreurs dues à la représentation.
1.4 Arithmétique Flottante
1.4.1 Opérations élémentaires
1.4.2 Opérations risquées
1.4.3 Evaluation des polynômes
1.5 Erreurs de Troncatures
Chapitre 4. Interpolation
1.1 Introduction
1.2 Matrice de Vandermonde
1.3 Interpolation de Lagrange
1.4 Polynôme de newton
1.5 Erreurs d’interpolation
1.6 Splines Cubiques :
1.6.1 Courbes de la forme
1.6.2 Splines paramétrées
1.7 Transformés de Fourier Discrètes.
1.8 Introduction au Nurbs :
1.8.1 B-splines
1.8.2 Génération de courbes
Etablissement : Page 28
Spécialité : Intelligence Artificielle
Semestre 5
Unité d’enseignement : UEF2
Matière : Programmation Linéaire et Dynamique
Coefficient : 2
Objectifs de l’enseignement
Ce module présente les principaux concepts de la programmation linéaire et dynamique (théoriques et
algorithmiques) en mettant l’accent sur les problèmes applicatifs et les méthodes de résolution (graphique,
simplexe,…). L'objectif est d'apprendre à l'étudiant à modéliser des problèmes combinatoires et de choisir
l’algorithme le plus adéquat.
Contenu de la matière :
Chapitre 1 : La recherche opérationnelle.
1. Domaine de recherche opérationnelle.
2. Origine de la recherche opérationnelle.
3. Types de problèmes traités par la RO.
4. Brèves notions sur la complexité des algorithmes.
5. Domaines d’application de la recherche opérationnelle.
Chapitre 2 : Rappels.
1. Notions de base sur l’algèbre linéaire.
2. Matrices : notions et éléments de base.
3. Systèmes linéaires.
4. Graphes : notions de base.
5. Aperçu sur quelques problèmes traités en théories des graphes : chemin optimal, ordonnancement.
Chapitre 3 : Programme linéaire.
1. Introduction par un exemple.
2. Forme générale, forme canonique, forme standard.
3. Modélisation.
4. Résolution graphique.
Chapitre 4 : Méthode du simplexe.
1. Algorithme général du Simplexe.
2. Algorithme à deux phases.
Chapitre 5 : La dualité en programmation linéaire.
1. PL dual.
2. Algorithme dual du simplexe.
3. Analyse post-optimale.
Chapitre 6: Programmation linéaire en nombres entiers.
1. Introduction par un exemple.
2. Résolution graphique.
3. Méthode branch and bound (B&B).
Chapitre 7 : Programmation dynamique.
1. Introduction à la programmation dynamique.
Etablissement : Page 29
Spécialité : Intelligence Artificielle
2. Problème du sac à dos.
Chapitre 8 : Problème d’affectation
1. Couplage maximal.
2. Algorithme de Hongrois.
Etablissement : Page 30
Spécialité : Intelligence Artificielle
Semestre 5
Unité d’enseignement : UEF2
Matière : Génie logiciel
Coefficient : 4
Objectifs de l’enseignement
- Acquérir les concepts de base du génie logiciel en termes d’objectifs de qualité, de coût et de délai.
- Maitriser les étapes d’un cycle de vie de logiciels
- Comprendre le processus de spécification et d’analyse des besoins en utilisant les diagrammes de cas
d’utilisation UML
- Maîtriser les aspects de conception de logiciels
- Maîtriser la conception d’un diagramme de classes et de séquences UML.
- Acquérir les bases de la conception de qualité
- Exploiter les patrons de conception
- Maîtrise les techniques de test dans le but de détecter la présence d’erreurs dans un programme vis-à-
vis de sa spécification.
Etablissement : Page 31
Spécialité : Intelligence Artificielle
⚫ Conception Orientée Composants : Diagrammes de composants …
Etablissement : Page 32
Spécialité : Intelligence Artificielle
Semestre 5
Unité d’enseignement : UED1
Matière : Fondements de l’IA
Coefficient : 2
Objectifs de l’enseignement
L'objectif de ce module est de présenter les fondements du domaine de l'intelligence artificielle. Dans ce cours,
les principes de base des différents éléments de l’intelligence artificielle seront présentés : Logiques et
Raisonnement, Résolution de problèmes, Méta heuristiques, Problème de satisfaction de contraintes,
Apprentissage automatique et réseaux de neurones, Systèmes multi-agents.
Contenu de la matière :
Chapitre 1: Introduction à l’intelligence artificielle (IA)
1.1 Historique et Définitions
1.2 Importance de l’IA
1.3 Approches de l’IA
1.4 Domaines d’applications de l’IA
Chapitre 2 : Logiques et Raisonnement
2.1Logique propositionnelle
2.2 Logique du 1er ordre
2.3 Introduction aux logiques non classiques
Chapitre 3 : Algorithmes de Recherche pour la Résolution de Problèmes
3.1. Représentation d’un problème par un espace d’états
3.2. Méthodes de recherche de solution dans les espaces d’états
3.3 Algorithmes de recherches
Chapitre 4. Théorie de Jeux
4.1 Formalisations de jeux
4.2 Stratégies d'optimisation
4.3 Algorithmes MinMax
4.3 Algorithme Alpha Beta
Chapitre 4. Les méta-heuristiques
4.1 La recherche locale
4.2 Méthode Simulated Annealing (Recuit Simulé)
4.3 Algorithme génétique
Chapitre 5. Problème de satisfaction de contraintes (CSP)
5.1 Exemples de CSP
5.2 Recherche en arrière pour les CSPs (BackTracking)
5.3 Algorithme AC-3
Chapitre 6. Apprentissage automatique et réseaux de neurones
6.1 Algorithmes d’apprentissage automatique
6.2 Méthode des K plus proches voisins
6.3 Les réseaux de neurones
Chapitre 7 : Les systèmes multi-agents
7.1Concepts de base
7.2 Les systèmes multi agents. (SMA) : Interaction, Communication, Négociation et Architecture.
7.3 Approches d’apprentissage dans les systèmes multi agents
7.4 Application : planification et ordonnancement
Etablissement : Page 33
Spécialité : Intelligence Artificielle
Mode d’évaluation : Contrôle continu (40%), Examen (60%)
Références bibliographiques (Livres et polycopiés, sites internet, etc) :
Principles of Artificial Intelligence par Nils J. Nilson, 1982, Springer-Verlag Berlin Heidelberg.
Essentials of Artificial Intelligence par Nils J. Nilson, 1993, Copyright: © Morgan Kaufmann
Artificial Intelligence: A new synthesis, Nils Nilson, 1997, Elsevier.
Artificial Intelligence: A Modern Approach par Stuart Russell and Peter Norvig, Ed. Pearson, 2016
Rapport de synthèse - France Intelligence Artificielle. Ministère de l'Enseignement supérieur et de la
Recherche, 2017.
Castaño, A. P. (2018). Practical Artificial Intelligence: Machine Learning, Bots, and Agent Solutions Using C.
Apress.
Barraud, B. (2019). L’intelligence artificielle–Dans toutes ses dimensions. Université Paris 1 Panthéon-
Sorbonne-Université Jiao Tong de Shanghai-L’Harmattan.
BAUM, H. (2023). Introduction to artificial intelligence. AG Printing & Publishing.
Etablissement : Page 34
Spécialité : Intelligence Artificielle
Semestre : 5
Unité d’enseignement : UET1
Matière : Développement mobile (Module optionnel)
Coefficient : 2
Mode d’enseignement : Présentiel
Objectifs de l’enseignement.
Ce cours fournit une base de référence pour créer des applications mobiles à l'aide de Flutter et Dart. Les
participants apprendront les bases du langage de programmation Dart et comment développer des
applications mobiles multiplateformes avec Flutter.
Pré-requis:
• Compréhension de base des concepts de programmation
• La connaissance des langages de programmation orientés objet est bénéfique mais pas obligatoire
Contenu
Chapitre 1 : Introduction à Flutter
• Présentation du framework Flutter
• Avantages de Flutter pour le développement d'applications mobiles
• Comprendre l'architecture de Flutter
• Mise en place de l'environnement de développement Flutter
Chapitre 2 : Commencer avec Dart
• Introduction au langage de programmation Dart
• Variables, types de données et opérateurs
• Flux de contrôle : instructions if-else, boucles
• Fonctions et paramètres
Chapitre 3 : Créer des interfaces utilisateur avec Flutter
• Widgets et mise en page Flutter
• Gestion des entrées et des gestes de l'utilisateur
• Styliser et thématiser les applications Flutter
• Navigation et routage dans les applications Flutter
Chapitre 4 : Gestion de l'état dans Flutter
• Comprendre les widgets avec et sans état
• Gestion de l'état avec setState()
• Utilisation d'un fournisseur pour la gestion de l'état
• Introduction au modèle BLoC
Chapitre 5 : Travailler avec des données dans Flutter
• Récupération de données à partir des API REST
• Analyse des données JSON dans Flutter
• Stockage des données localement à l'aide de SQLite ou SharedPreferences
• Travail avec les formulaires et validation
Projet final
• Les participants travaillent sur un projet final pour appliquer les concepts appris tout au long du cours. Le
projet consistera à concevoir et développer une application mobile multiplateforme fonctionnelle utilisant
Flutter et Dart.
Références
TEXT BOOKS:
1. T1. Lauren Darcey and Shane Conder, “Android Wireless Application Development”, Pearson
Education, 2nd ed. (2011)
REFERENCE BOOKS:
1. R1. Reto Meier, “Professional Android 2 Application Development”, Wiley India Pvt Ltd
2. R2. Mark L Murphy, “Beginning Android”, Wiley India Pvt Ltd
3. R3. Android Application Development All in one for Dummies by Barry Burd, Edition: I
Etablissement : Page 35
Spécialité : Intelligence Artificielle
Etablissement : Page 36
Spécialité : Intelligence Artificielle
Semestre : 5
Unité d’enseignement : UET1
Matière : Interfaces Homme-Machine (Module optionnel)
Coefficient : 2
Objectifs de l’enseignement :
- Introduire les concepts de base de l’interaction Homme-Machine et donner une vision complète de tous les
aspects liés.
- Maîtriser la conception/la modélisation, le développement et l’évaluation des IHMs
- Acquérir les compétences nécessaires pour le développement des IHMs
CONTENU
I. Introduction à l'IHM (4h)
a. Historique et définitions
i. Pourquoi IHM ?
ii. Interface, Interaction, Communication et Dialogue
iii. Facteurs humains : ergonomie et psychologie cognitive
iv. Design : design industriel, arts graphiques, typographie
b. Évolution des IHMs
i. Navigation, indexation et annotation
ii. Interfaces graphiques
iii. What you see is what you get
iv. Interface multimodale
v. Informatique ubiquitaire
II. Ergonomie et sciences cognitives pour l’IHM (4h)
a. Notions de base sur les sciences cognitives
i. Le sous-système sensoriel
ii. Le sous-système cognitif
iii. Le sous-système moteur
iv. Les limites
v. L’approche cognitive pour les IHMs
vi. L’approche pour les utilisateurs
b. Ergonomie et guide de style
i. Définition
ii. Critères ergonomiques
1. Compatibilité
2. Guidage
3. Homogénéité
4. Souplesse
5. Contrôle explicite
6. Gestion des erreurs
7. Concision
III. Modélisation des IHMs (3h)
a. Les besoins de modélisation en IHM
b. Les modèles en IHM
i. Modèles d’architecture
ii. Modèles linguistiques
iii. Modèles à agent
iv. Modèles d’interaction
IV. Développement et évaluation des IHMs (4h)
a. Programmation événementielle
i. Définition
ii. Bibliothèque et environnements (JavaFX, QT, etc.)
Etablissement : Page 37
Spécialité : Intelligence Artificielle
b. Boîtes à Outils
i. Interface web (Ink, TCL/tk, etc.)
ii. Interface mobile (Android, iOS, etc.)
iii. Limitations
d. Évaluation des IHMs
i. Objectifs de l’évaluation
ii. Les outils de l’évaluation
iii. Limitations
CONTROLE DE CONNAISSANCES
- Examen écrit sur le cours
- Contrôle continu des TD/TP
BIBLIOGRAPHIE
- Ludovie Cinquin, Erika Duriot, EricGroise, Olivier Mallassi, André Nedelcoux, David Rousselie, Vanessa
Vimond « les dossiers de l’écran ; Utilisabilité et technologie IHM », Edition OCTO, Technologiue 2010
- J. Coutaz, « Interface Homme-Ordinateur » Dunod, 19990.
- N. Elouali, « Approche à base des modèles pour construction d’applications mobiles multimodales », PHD
(2014).
Etablissement : Page 38
Spécialité : Intelligence Artificielle
Semestre : S5
Unité d’enseignement : UET1
Matière : Conception de jeux vidéo (Module optionnel)
Coefficient : 2
Objectifs de l’enseignement
L’objectif de ce cours et de fournir à l’étudiant les principes de base de design et de conception d’un jeu vidéo allant du 2D au
3D. Plusieurs plateformes seront présentées et étudiés en pratique pour offrir un choix de développement.
Connaissances préalables recommandées (descriptif succinct des connaissances requises pour pouvoir suivre cet enseignement –
Maximum 2 lignes).
Algorithmique, Programmation
Contenu de la matière
Chapitre 1. Conception et développement de jeux : Principes de base
1.1 Concepteur de jeux : Définition et tâches
1.2 Notion de jouabilité de jeu
1.3 Besoins du concepteur de jeux
1.4 Exigences des joueurs
1.5 Outils de conception
1.6 Document de conception (GDD)
Chapitre 2. Gestion des Lutins (Sprites) et tuiles (Tiles)
2.1 Génération et visualisation de sprites
2.2 Génération et visualisation de de tuiles
2.3 Atlas de tuiles (spritesheet)
2.4 Défilement de scènes de tuiles (Scrolling tilemaps)
2.5 Tuiles isométriques
2.6 Exemple d’un jeux 2D
Chapitre 3. Détection de collision
3.1 Physique des objets rigides
3.2 Le moteur physique
3.3 Calcul de la collision
3.4 Moteur physique box2dweb
Chapitre 4. Webgl et son intégration dans les jeux 3D
4. 1 Le WEBGL
4. 2 [Link]
4.3 Editeur [Link]
4.4 Intégration de WebGL dans les jeux 3D
4.5 Exemple de jeux 3D basé sur [Link]
Chapitre 5. Applications : Le moteur de jeux Unity
5.1 Principes de base de Unity
5.2 Navigation dans les scènes et physique
5.3 Importation de ressources statiques
5.4 Création de scripts avec C#
5.5 Animation
5.6 Armement et effets spéciaux.
Etablissement : Page 39
Spécialité : Intelligence Artificielle
Semestre 6
Unité d’enseignement : UEF1
Matière : Gestion des bases de données réparties
Coefficient : 3
Objectifs de l’enseignement
Maîtrise de concepts avancés des bases de données concernant l’optimisation et la gestion des accès
concurrents ainsi que la reprise après pannes.
Connaissances préalables recommandées
Les concepts généraux de BD ainsi que leur modélisation et interrogation...
Contenu de la matière :
Chapitre 1 : Les bases de données orientée Objet
1- Limite du modèle relationnel
2- Généralités des bases de données Orientée objet (BDDOO) et des SGBDOO
3- Concepts fondamentaux des BDDOO
- Objet, classe
- Héritage et polymorphisme
- Associations
Chapitre 2 : Les bases de données distribuées
1- Les bases de données distribuées
2- Le système de gestion des bases de données distribuées
3- Les techniques de répartition de données
4- Architecture de schéma de BDDD
5- Evaluation des requêtes distribuées
Chapitre 3 : Fragmentation des données
1- Définition
2- Fragmentation horizontale
3- Fragmentation verticale
4- Fragmentation mixte
Chapitre 4 : Les bases de données NoSQL
1- Emergence des bases de données NoSQL
2- Quelques exemples des solutions NoSQL
2-1- Clé-valeur : Riak, Redis
2-2- Orientée colonne : Cassandra, HBase
2-3- Orientée document : MongoDB, CouchDB, ElasticSearch
2-4- Orientée graphe : Neo4j, HypergraphD
3- Les bases de données MongoDB
3-1- Définition
3-2- Comparaison des bases de données relationnelles et des bases de données NoSQL
3-3- Format JSON
3-4- Les opérations CRUD
Etablissement : Page 40
Spécialité : Intelligence Artificielle
- J. Date. Introduction aux bases de données. Thomson publishing France 6ième édition. 1998
- C. Delobel et M. Adiba : bases de données et systèmes relationnels. Dunod 1982
- T. Connoly et Corolyn Begg. Systèmes de bases de données : approche pratique de conception de
l‟implémentation et de l‟administration. Eyrolles 2005
- Frederic Brouard SQL CampusPress 2001
- Georges Gardarin : Les BD systèmes et leurs langages Eyrolles 2003
- Nacer Boudjlida : Gestion et Administration des Bases de Donnees. Application a Sybase et Oracle.
Dunod, Collection Sciences Sup. 2003.
Etablissement : Page 41
Spécialité : Intelligence Artificielle
Etablissement : Page 42
Spécialité : Intelligence Artificielle
Semestre 6
Unité d’enseignement : UEF1
Matière : Système d’Exploitation : Synchronisation et Communication
Coefficient : 4
Objectifs de l’enseignement
L’objectif de ce cours sont multiples :
- Introduire la problématique du parallélisme dans les systèmes d'exploitation, étudier la mise en
œuvre de la coopération à travers les outils de synchronisation et de communication et les problèmes
associés.
- Recommandation : Illustrer les différents concepts à l’aide d’outils (création de processus, signaux,
sémaphores, mémoire partagée, files de messages, tubes) du système UNIX notamment dans les
séances de TP.
Contenu de la matière :
Chapitre 1 : NOTION DE PARALLELISME/CONCURRENCE
1. Systèmes de tâches
2. Parallélisme et langages évolués
3. Déterminisme d’un système de tâches
4. Parallélisme maximal
Chapitre 2 : SYNCHRONISATION DES PROCESSUS
1. Partage de ressources et des données
2. Exclusion mutuelle
3. Mécanismes d’exclusion mutuelle : variables d’états, solutions matérielles, les sémaphores, autres
mécanismes de synchronisation
Chapitre 3 : COMMUNICATION ENTRE PROCESSUS
1. Communication par partage de variables : Modèle du producteur/ consommateur, modèle des
lecteurs/ rédacteurs.
2. Communication par échanges de messages : Désignation (directe : CSP, indirecte : les boites aux
lettres)
Chapitre 4 : MONITEURS ET REGIONS CRITIQUES
1. Les moniteurs : Structure, implémentation, illustrations, variantes de moniteurs
2. Régions critiques (Simples, Conditionnelles)
Chapitre 5 : INTERBLOCAGE
1. Caractéristiques, Modèles, Formalisation, Représentations graphiques
2. Traitement de l’interblocage : Prévention, Détection- Guérison, Evitement
Chapitre 6 : INTRODUCTION AUX SYSTEMES REPARTIS
1. Définition
• Système reparti
• Systèmes de communication
2. Caractéristiques des Systèmes répartis
3. Etape de conception des systèmes d’exploitation répartis
4. Algorithmes répartis
• Définition
• Qualité d’un algorithme réparti
• Quelques algorithmes de contrôle réparti
o Exclusion mutuelle
Etablissement : Page 43
Spécialité : Intelligence Artificielle
o Election
o Diffusion
o Terminaison, …..
5. Exemples de systèmes répartis
Etablissement : Page 44
Spécialité : Intelligence Artificielle
Semestre 6
Unité d’enseignement : UEF1
Matière : Gestion de projets
Coefficient : 4
Objectifs de l’enseignement
- Permettre à l’étudiant de comprendre l’enjeu majeur de la gestion de projet.
- Initier l’étudiant au processus d’organisation et de planification.
- Entrainer l’étudiant à l’application de processus, méthodes et outils de planification.
- Initier l’étudiant aux environnements de gestion projet.
Connaissances préalables recommandées
Contenu de la matière :
Chapitre 1 : Qu'est-ce qu'un projet ?
⚫ Les caractéristiques d’un projet : les fondamentaux
⚫ Les différences entre opérations et projets
⚫ Maîtrise d’ouvrage (MOA) et Maîtrise d’œuvre (MOE)
⚫ Le rôle et les compétences du chef de projet
⚫ Les aspects humains du travail en mode projet
⚫ Le cycle de vie d'un projet (introduction)
◼ La phase d´avant-projet
◼ La phase d’initialisation
◼ La phase de réalisation et de contrôle
◼ La phase de clôture
Etablissement : Page 46
Spécialité : Intelligence Artificielle
Semestre : S6
Unité d’enseignement : UEF2
Matière : Programmation WEB
Coefficient : 3
Objectifs de l’enseignement
• Apprendre à créer des sites et applications Web modernes et réactifs.
• Maîtriser les standards du Web et les bonnes pratiques de développement.
• Maîtriser la programmation Web côté client et côté serveur avec les Framework actuels.
Connaissances préalables recommandées
• Algorithmique et programmation en C, Bases de données et langage SQL.
Contenu de la matière
Chapitre I : Introduction au Web
• Historique et évolution du Web.
• Notions de bases du Web (HTTP, Client, Serveur, etc.).
• Rappel sur les principaux protocoles du Web.
Chapitre II : Langage HTML 5
• Historique et différentes versions.
• Syntaxe du Langage : document bien formé, document conforme, outils de validation.
• Présentation des éléments de base du Langage :
o Sauts de ligne et séparateurs, titres, paragraphes, listes, tableaux, etc.
o Sections sémantiques (section, article, nav, etc.)
o Les formulaires.
• Les éléments multimédias (audio, vidéo, etc.) et les graphiques : Canvas et SVG.
Chapitre III : Les feuilles de style CSS
• Séparation entre contenu et mise en forme et avantages.
• Syntaxe de base de CSS : Sélecteurs, Propriétés.
• Media Queries et responsive design.
• Gestion des conflits.
• Introduction aux préprocesseurs CSS (Sass, LESS).
Chapitre IV : JavaScript et Frameworks modernes
• Principe de la programmation web côté client.
• Syntaxe de JavaScript.
• Introduction aux frameworks et librairies JavaScript.
o [Link] : Concepts de base, composants, état et props, cycle de vie.
o [Link] : Concepts de base, directives, composants, réactivité.
o Comparaison des frameworks (React, Vue, Angular).
Chapitre V : Programmation côté serveur avec PHP et [Link]
• Aperçu sur les langages de programmation côté serveur.
• Syntaxe du langage PHP.
• Fonctions PHP prédéfinies.
• Traitement des formulaires en PHP.
• Interaction avec les bases de données (MySQL).
• Sessions et cookies.
• Gestion des fichiers.
• Introduction à [Link] : Installation, modules, npm, création de serveur basique.
Chapitre VI : AJAX Présentation.
• Mode synchrone vs asynchrone.
• L’objet XMLHTTPRequest.
• Structure d’un code AJAX.
• Interaction avec PHP et [Link].
• Utilisation de Fetch API pour les requêtes asynchrones.
Chapitre VII : Utilisation des Frameworks
Etablissement : Page 47
Spécialité : Intelligence Artificielle
• Limites de la programmation traditionnelle.
• L'utilité des Frameworks.
• Exemples de Frameworks CSS (ex. Bootstrap, Tailwind CSS).
• Le Framework Laravel.
Chapitre VIII : Web Intelligence
• Concepts de base de l'intelligence web.
• Utilisation des données pour améliorer les expériences utilisateur.
• Outils et techniques de collecte de données sur le web.
• Applications de l'intelligence web dans le développement moderne.
Chapitre X : Bonnes pratiques de développement Web
• Accessibilité web.
• SEO (Search Engine Optimization).
• Performance et optimisation.
• Tests et débogage.
Mode d’évaluation
• Contrôle continu (40%). Examen (60%).
Références bibliographiques
• World Wide Web Consortium, standards for web Design and applications
• Site Web partenaire du consortium W3C destiné aux développeurs Web
• Site Web officiel : Manuel du PHP
• Rodolphe Rimelé, "HTML 5 Une référence pour le développeur web", éditions Eyrolles, 2017.
• J. Engels, "PHP 7 Cours et exercices.", éditions Eyrolles, 2017.
• Mat Marquis, "JavaScript pour les web designers", éditions Eyrolles, 2017.
• Michel Plasse, "Développez en Ajax", éditions Eyrolles, 2006.
• React Documentation
• [Link] Documentation
• [Link] Documentation
Etablissement : Page 48
Spécialité : Intelligence Artificielle
Semestre 6
Unité d’enseignement : UEF2
Matière : Analyse numérique2
Coefficient : 2
Objectifs de l’enseignement
Le module d’analyse numérique est un module de base dans le domaine du calcul scientifique. Le calcul
scientifique étant défini comme la branche qui permet d’implémenter une solution d’un problème sur un
calculateur. L’objectif du module est l’acquisition des méthodes de discrétisation, des algorithmes de
résolution des problèmes spécifiques posés dans le domaine de l’ingénierie informatique, l’analyse des
algorithmes (rapidité, précision et souplesse), et enfin l’estimation des erreurs commises dans les modèles
mathématiques employées ainsi que dans leur implémentation.
Contenu de la matière :
Etablissement : Page 49
Spécialité : Intelligence Artificielle
Rappaz, J. et M. Picasso: Introduction a l’analyse numerique. Presses polytechniques et universitaires
romandes, Lausanne, 1998.
Reddy, J.N.: An Introduction to the Finite Element Method. McGraw-Hill, New York, deuxieme edition,
1993.
Asher, U. M. et Petzold L. R.: Computer Methods for Ordinary Differential Equations and Differential-
Agebraic Equations. SIAM, Philadelphia, USA,1998.
A. Fortin Analyse Numérique pour ingénieurs. Presses Internationales Polytechniques, 4ieme
édition, 2011.
[Link] Analyse Numérique-Algorithme et Etude Mathématique. Sciences Sup. Dunod, 2013.
M., Benhamadou, A. Jeribi, Analyse Numérique Matricielle –Méthodes et Algorithmes, exercices et
Problèmes corrigés . Edition Ellipses.2020
Etablissement : Page 50
Spécialité : Intelligence Artificielle
Semestre : S6
Unité d’enseignement : UED1
Matière : Introduction à la sécurité Informatique
Coefficient : 2
Objectifs de l’enseignement
Ce module permet d’initier les étudiants aux concepts de base de la sécurité informatique. En
particulier, ce module consiste à :
● Présenter les aspects fondamentaux de la sécurité informatique.
● Identifier les principaux enjeux de la sécurité informatique.
● Distinguer et d’expliquer les différents types d’attaques auxquels un réseau ou un
système informatique peut faire face.
● Etudier les principes et les techniques de la cryptographie.
● Sécuriser un site web par SSL.
● Sécuriser la messagerie par PGP.
● Protéger un hôte ou un réseau par un firewall et IDS.
Contenu de la matière :
Chapitre 1 : Introduction
1 Définition:
2 Buts de la sécurité
Confidentia
lité Intégrité
Disponibilit
é Non
répudiation
3 Domaines d‟application de la
sécurité Sécurité physique
Sécurité
d‟exploitation
Sécurité logique
Sécurité
applicative
Sécurité des
télécommunications 4 Attaques
4.1 Types d‟Attaques
1. Script kiddie
1. 2. Hacktivist
2. Insider
3. Organized crime
4. Competitors
5. Open-source intelligence
6. Advanced persistent threat (APT)
4.2 Les types de malware
1. Viruses
2. Worms
Etablissement : Page 51
Spécialité : Intelligence Artificielle
3. Logic Bombs
4. Backdoor
5. Trojans
6. Remote access Trojan (RAT)
7. Ransomware
8. Keylogger
9. Spyware
10. Bots and Botnets
11. Rootkit
4.3 Reconnaître les attaques courantes
1. Social Engineering
2. Shoulder Surfing
3. Tricking Users with Hoaxes
4. Tailgating and Mantraps
5. Dumpster Diving
6. Watering Hole Attacks
7. Attacks via Email and Phone (spam, phishing, spear phishing, and whaling)
5 Politique de sécurité
Etablissement : Page 52
Spécialité : Intelligence Artificielle
Chapitre 5 : Protocoles sécurisés
1. Protocole SSL (Secure Socket Layer)
1.1 Fonctions de SSL
1.2 Fonctionnement de SSL
1.3 Surveillez les alertes SSL
1.4 configurer un Service HTTPS dans IIS
2. SSH (Secure Shell)
3. IPSec (IP Secure)
3.1 Architecture
3.2 SA : Security Association
3.3 SPD : Security Policy Database
Etablissement : Page 53
Spécialité : Intelligence Artificielle
Mode d’évaluation : Contrôle continu (40%), Examen (60%)
Etablissement : Page 54
Spécialité : Intelligence Artificielle
Semestre 6
Unité d’enseignement : UET1
Matière : Éthique de l’IA
Coefficient : 2
Objectifs de l’enseignement
L’étudiant doit être préparé au monde réel du travail qualité d’ingénieur, et en qualité de décideur tant sur
le plan organisationnel que sur le plan éthique.
Contenu de la matière :
Etablissement : Page 55
Spécialité : Intelligence Artificielle
Semestre 7
Unité d’enseignement : UEF1
Matière : Représentation des connaissances et raisonnement
Coefficient : 4
Objectifs de l’enseignement
Faire une correspondance entre le monde extérieur et un système souvent symbolique manipulable
par un ordinateur,
Raisonner sur ces connaissances. Ainsi, les objectifs de ce module s’insèrent dans cette optique.
Différentes théories et formalismes (logiques et graphiques) seront étudiés afin de représenter et de
raisonner sur des connaissances de natures multiples.
Connaissances préalables recommandées
Logique mathématique, les fondements de l’Intelligence Artificielle.
Contenu de la matière :
Etablissement : Page 56
Spécialité : Intelligence Artificielle
3- Domaines d’application de la théorie des sous-ensembles flous
Etablissement : Page 57
Spécialité : Intelligence Artificielle
Etablissement : Page 58
Spécialité : Intelligence Artificielle
Semestre 7
Unité d’enseignement : UEF1
Matière : Calcul haute performance
Coefficient : 3
Objectifs de l’enseignement
Ce cours fournit une base solide en calcul haute performance (HPC) et son rôle dans la science
visées d’apprentissage :
− Familiarisez avec les paradigmes de programmation parallèle.
− Etudier les techniques fondamentales de développement d’applications HPC.
− Les plates-formes HPC couramment utilisées.
− Les méthodes de mesure, d’évaluation et d’analyse des performances des applications HPC.
Les étudiants seront initiés aux enjeux liés à l’utilisation des techniques HPC dans la résolution de
grands problèmes scientifiques.
Connaissances préalables recommandées
Architectures Evoluées des Ordinateurs, Système d’exploitation I & II.
Contenu de la matière :
Chapitre 1 : Introduction au calcul parallèle
− Comprendre la nécessité du calcul parallèle.
− Les lois fondamentales du calcul parallèle (avantages et limites)
− Vue d’ensemble des systèmes parallèles et distribués pour le calcul haute performance
Chapitre 2 : Modèle et structure d’application pour des interfaces de programmation
parallèle :
− Paradigmes pour les applications parallèles.
− Message Passing Interface (MPI).
− Programmation parallèle avec OpenMP.
− Programmation parallèle avec PThreads.
Chapitre 3 : Calcul générique sur processeur graphique
− Architectures et concepts GPU
− Modèle de programmation GPU
− Programmation des GPUs (CUDA & OpenCL).
− Approches hybrides.
Chapitre 4 : Nouvelles technologies en HPC
− Informatique quantique
− Les TPU (Tensor Processing Units)
− Conception de puces spécialisées pour l'IA
− Refroidissement liquide et centres de données éco-énergétiques…..
Chapitre 5: Techniques d’optimisation et meilleures pratiques dans divers domaines
scientifiques.
Mode d’évaluation : Contrôle continu (40%), Examen (60%)
Références bibliographiques (Livres et polycopiés, sites internet, etc) :
1. Georg Hager , Gerhard Wellein (2010) Introduction to High Performance Computing for
Scientists and Engineers
Etablissement : Page 59
Spécialité : Intelligence Artificielle
2. J. R. PRASAD , P. P. JORVEKAR, S. N. BHOSALE , M. P. NAVALE (2018): HIGH
PERFORMANCE COMPUTING.
3. Thomas Rauber et Gudula Rünger (2023): Parallel Programming for Multicore and Cluster
Systems"
4. Jordan [Link] ( ): High Performance Parallelized Computing
5. C. Bischof, C. Bischof, M. Bucker, P. Gibbon, G. Joubert, T. Lippert (2008 ): Parallel
Computing: Architectures, Algorithms and Applications
Etablissement : Page 60
Spécialité : Intelligence Artificielle
Semestre 7
Unité d’enseignement : UEF2
Matière : Machine learning
Coefficient : 4
Objectifs de l’enseignement
Contenu de la matière :
Chapter 1: Introduction and Fundamentals
Introduction to Machine Learning
• Overview of Machine Learning
• Types of Machine Learning: Supervised, Unsupervised, Semi-supervised, Reinforcement
Learning, Self-learning
• Applications of Machine Learning
• PW: Set up the development environment and Simple linear regression implementation
Probability and Statistics Refresher
• Probability theory basics
• Random variables and distributions
• Bayesian thinking
Chapter 2: Supervised Learning
Linear Models and Regularization
• Linear regression
• Logistic regression
• Regularization techniques: Ridge (L2), Lasso (L1), Elastic Net
• Advanced topics: Polynomial regression, interaction terms
• PW: Implement and compare linear and logistic regression models with regularization
Decision Trees and Ensemble Methods
• Decision Trees
• Bagging: Random Forests
• Boosting: Gradient Boosting Machines (GBM), AdaBoost, XGBoost, LightGBM, CatBoost
• Stacking and Blending
• PW: Implement and analyze the performance of decision trees and ensemble methods
Support Vector Machines and Advanced Optimization
• Introduction to Support Vector Machines (SVM)
• Kernel trick: linear, polynomial, RBF, sigmoid
• Optimization techniques: Stochastic Gradient Descent (SGD), Adam, RMSprop
• PW: Implement SVM using a library and experiment with different kernels and
optimization techniques
Chapter 3: Unsupervised Learning
Clustering
• K-means clustering
• Hierarchical clustering (Agglomerative, Divisive)
• Density-Based Spatial Clustering (DBSCAN, OPTICS)
• Evaluation metrics: Silhouette score, Davies-Bouldin index, Adjusted Rand Index, Mutual
Information
• PW: Apply clustering algorithms on a dataset and analyze the results
Dimensionality Reduction
• Lecture Topics:
• Principal Component Analysis (PCA)
• t-SNE
• Linear Discriminant Analysis (LDA)
Etablissement : Page 61
Spécialité : Intelligence Artificielle
•
Independent Component Analysis (ICA)
•
Advanced techniques: UMAP, Factor Analysis
• PW: Implement and apply dimensionality reduction techniques on high-dimensional data
Chapter 4: Specialized Techniques
Bayesian Networks and Gaussian Processes
• Introduction to Bayesian Networks
• Structure learning and parameter learning in Bayesian Networks
• Gaussian Processes: Regression and classification
• Applications and examples
• PW: Implement a Bayesian Network for a given dataset
Genetic Algorithms and Belief Functions
• Introduction to Genetic Algorithms
• Fitness function, selection, crossover, mutation
• Introduction to Belief Functions and Dempster-Shafer Theory
• Applications in optimization and uncertainty modeling
• PW: Solve an optimization problem using a genetic algorithm
Etablissement : Page 62
Spécialité : Intelligence Artificielle
• Collaborative filtering: User-based, Item-based
• Matrix Factorization techniques: SVD, ALS, NMF
• Hybrid methods
• Evaluation metrics: Mean Absolute Error (MAE), Root Mean Squared Error (RMSE),
Precision and Recall at K, Mean Reciprocal Rank (MRR), Normalized Discounted
Cumulative Gain (NDCG)
• PW: Build a simple recommender system using collaborative filtering and matrix
factorization
Association Rule Learning
• Market basket analysis
• Apriori algorithm
• Eclat algorithm
• FP-Growth
• Evaluation metrics: Support, Confidence, Lift, Conviction
• PW: Implement and analyze association rules on transactional data
Chapter 8: Privacy and Ethics
Federated Learning and Ethical Considerations
• Introduction to Federated Learning
• Federated averaging algorithm
• Privacy-preserving techniques: Differential Privacy, Secure Multiparty Computation
• Ethical issues in Machine Learning: bias, fairness, accountability
• Model interpretability and fairness: SHAP values, LIME, Fairness-aware ML
• Deployment and scalability of ML models: Model serving, A/B testing, Continuous
Integration/Continuous Deployment (CI/CD) for ML
• PW: Implement a simple federated learning system
Etablissement : Page 63
Spécialité : Intelligence Artificielle
Semestre 7
Unité d’enseignement : UEF2
Matière : Modélisation & Simulation
Coefficient : 3
Objectifs de l’enseignement
Ce module est destiné à approfondir les connaissances de l’étudiant dans le domaine de la
modélisation et la simulation. De plus, il initie aux techniques d’évaluation des performances.
Contenu de la matière :
Chapitre 1 : Modélisation des systèmes
- Types de systèmes (discret, continu, déterministe, ...)
- Outils de modélisation (machine d’états finis, réseaux de Petri, modèles des files d’attentes)
Chapitre 2 : Techniques d’évaluation des performances
- Présentation des techniques
- Les méthodes mathématiques
- La simulation (introduction)
Chapitre 3 : La simulation
- Types de simulation
- Simulation de systèmes dynamiques
- Simulation continue
- Simulation des systèmes discrets
- Echantillonnage
- Génération de nombres pseudo-aléatoires
- Les tests de générateurs de nombres aléatoires
- Analyse et validation des résultats d’une simulation
Chapitre 4 : Les outils de simulation
- Logiciels
- Langages
- Le graphisme et la simulation
Chapitre 5 : Etude d’un langage de simulation
Mode d’évaluation : Contrôle continu (40%), Examen (60%)
Références bibliographiques (Livres et polycopiés, sites internet, etc) :
S. S. Lavenberg, Computer systems performance evaluation, Academic press 1983
I. Mitrani, Modeling of computer and communication systems, Cambridge university
press 1987
M. Pidd, Computer simulation and management science, J. Wiley and Sons Ed. 1984
K. S. Trivedi, Probability and statistics with reliability, queing and computer science
applications, Prentice Hall 1982
Etablissement : Page 64
Spécialité : Intelligence Artificielle
Semestre 7
Unité d’enseignement : UEM1
Matière : Business Intelligence
Coefficient : 2
Objectifs de l’enseignement
Ce cours vise la découverte des différentes facettes du processus décisionnel et des modèles et
outils associés et la maîtrise de la technologie des Data Warehouses comme application d'un
système décisionnel.
Connaissances préalables recommandées
Bases de données et système d’information
Contenu de la matière :
1- Introduction aux systèmes d’aide à la décision
- Concepts de base
- Historique
- Architectures décisionnelles
2- Modélisation multidimensionnelle :
- OLAP : concepts et règles
- Niveau conceptuel
- Niveau logique
- Niveau physique
- Méthode de conception multidimensionnelle
3- Intégration et administration
- Extraction
- Transformation
- Chargement
4- Exploitation des données décisionnelles
- Manipulation des données multidimensionnelles
- SQL analytique
- Tableaux de bord
5- Optimisation
- Classification des techniques d’optimisation
- Les vues matérialisées
- Les index
- La fragmentation.
Mode d’évaluation : Contrôle continu (40%), Examen (60%)
Références bibliographiques (Livres et polycopiés, sites internet, etc) :
W. Inmon. Building the Data Warehouse. John Wiley & Sons Publishers, 2002
Thomas Connolly, Carolyn Begg: Systèmes de bases de données : approche pratique de la conception, de
l’implémentation et de l’administration, Eyrolles 2005
R. Kimball, L. Reeves, M. Ross, W. Thornthwaite, “Concevoir et déployer un data warehouse”,
Editions Eyrolles, 2000.
Elzbieta Malinowski, Esteban Zimányi: “Advanced Data Warehouse Design: From Conventional to
Spatial and Temporal Applications” (Data-Centric Systems and applications), 2008.
Vassil Guliashki, Edjola Naka: “Optimization Techniques in Data Management: A Survey.” ICDDE, 2021.
Etablissement : Page 65
Spécialité : Intelligence Artificielle
Semestre 7
Unité d’enseignement : UEM1
Matière : Recherche opérationnelle
Coefficient : 2,
Contenu de la matière :
Chapitre 1 : Introduction à la recherche opérationnelle
• Définition et objectifs de la recherche opérationnelle
• Introduction à la programmation mathématique classique
• Formulation d'un programme linéaire
• Algorithme et méthode du simplexe
• Théorème de dualité
Chapitre 2 : Programmation mathématique classique : application aux problèmes posés en
variables entières et/ou booléennes
• Introduction à la programmation en nombres entiers
• Problèmes de programmation en nombres entiers et booléens
• Techniques de résolution (méthode des branches et des bornes, programmation
dynamique, etc.)
Chapitre 3: Ordonnancement
• Méthodes MPM (Méthode du Plus Tôt / Plus Tard)
• Méthode PERT (Program Evaluation and Review Technique)
Chapitre 4: Eléments de programmation convexe
• Introduction à la programmation convexe
• Méthode de Franck et Wolfe
• Méthode des plans sécants de Kelley
Chapitre 5: Eléments de programmation sans contraintes
• Introduction à la programmation sans contraintes
• Méthodes de gradient
• Méthodes directes
• Méthodes par essaims particulaires et autres méthodes modernes (heuristiques et
méta-heuristiques)
Chapitre 6 : Modélisation et résolution de problèmes réels
• Étude de cas et projets pratiques
• Utilisation de logiciels de modélisation et d'optimisation (comme AMPL, GAMS,
MATLAB, etc.)
• Analyse et interprétation des résultats
Chapitre 7: Avancées en recherche opérationnelle
• Techniques émergentes et tendances actuelles en recherche opérationnelle
• Recherche opérationnelle et intelligence artificielle : applications des méthodes
d'optimisation dans l'IA
• Impacts de la recherche opérationnelle sur les industries et les secteurs économiques
Etablissement : Page 66
Spécialité : Intelligence Artificielle
Semestre 7
Unité d’enseignement : UET1
Matière : Techniques de rédaction
Coefficient : 2
Objectifs de l’enseignement
Cet enseignement porte sur les Techniques d’Expression et de Communication Scientifique et
Technique (TEC) liées aux études (Communications écrites et orales : élaboration et présentation de
documents écrits et visuels pour la soutenance du projet de fin d’études et la présentation orale.
L’enseignement TEC vise à accompagner l’étudiant tout au long de son cursus de chercheur et à
développer et renforcer ses compétences cognitives, attitudinales, comportementales inhérentes à la
recherche scientifique, à la valorisation des travaux réalisés et aux modalités de la diffusion des
informations scientifiques.
Pour le TP, l’objectif est de pratiquer les concepts de base du latex pour préparer des documents de
grande qualité.
Connaissances préalables recommandées
Contenu de la matière :
Partie I : Expression & communication
Introduction
Présentation des outils de communication.
1. Communications écrites :
Les techniques de :
• Rédaction d’écrits scientifiques et techniques.
• Rédaction et présentation d’un cadre théorique pour un mémoire de recherche scientifique.
• Rédaction et présentation d’un cadre méthodologique pour un mémoire de recherche
scientifique.
• Rédaction, explication et interprétation de données pour un mémoire de recherche
scientifique.
• Rédaction d’une introduction et d’une conclusion d’un mémoire de recherche scientifique.
• Présentation de la bibliographie d’un mémoire de recherche scientifique.
• Présentation finale d’un mémoire de recherche scientifique.
2. Communications orales :
• Préparation de communications orales (Exposés, table ronde, colloque, séminaires, congrès,
missions de radios et de télévision…).
• Présentation d’une communication orale publique (Exposés, table ronde, colloque, séminaires,
congrès, missions de radios et de télévision…).
• Préparation aux aspects oraux spécifiques à la soutenance d’un PFE.
3. Préparation au devenir professionnel :
• Rédaction d’un curriculum vitae.
• Elaboration et présentation d’un dossier de candidature à un emploi.
• Préparation à un entretien d’embauche public et privé.
• Elaboration d’un projet professionnel ; d’un projet et plan de carrière.
Partie II : Latex
• Les bases de latex
• Documents latex
• Les tableaux
• Les images
• Les équations
Etablissement : Page 67
Spécialité : Intelligence Artificielle
• Bibliographie et références
Mode d’évaluation : Contrôle continu (40%), Examen (60%)
Etablissement : Page 68
Spécialité : Intelligence Artificielle
Semestre 8
Unité d’enseignement : UEF1
Matière : Sécurité des données
Coefficient : 3
Objectifs de l’enseignement
Étudier les différents types d’attaques auxquels un système informatique peut faire face.
Connaître les types d'attaques contradictoires en ML
Protéger les systèmes d'apprentissage automatique contre les attaques adverses
Étudier les principes et les techniques de la cryptographie.
Contenu de la matière :
Chapitre 1 : rappels sur les concepts de base de la sécurité
1. Objectifs de la sécurité.
2. La triade de sécurité d’information (CIA)
3. Les acteurs de la menace
4. Les types de malware
5. Reconnaître les attaques courantes
1. Social Engineering
2. Shoulder Surfing
3. Tricking Users with Hoaxes
4. Tailgating and Mantraps
5. Dumpster Diving
6. Watering Hole Attacks
7. Attacks via Email and Phone (spam, phishing, spear phishing, and whaling)
4. Bloquer les Malwares et d’autres attaques
1. Protecting Systems from Malware
2. Antivirus and Anti-Malware Software
3. Signature-Based Detection
4. Heuristic-Based Detection
5. Checking File Integrity
6. Data ExecutionPrevention
7. Advanced Malware Tools
8. Spam Filters
5. Former les utilisateurs
1. New Viruses, Phishing Attacks, Zero-Day vulnerabilities et Exploits
Etablissement : Page 69
Spécialité : Intelligence Artificielle
• Algorithmes de signature numérique (DSA, ECDSA)
• Échange de clés et protocoles associés (Diffie-Hellman, signatures de clés)
3. Fonctions de hachage cryptographiques
• Propriétés des fonctions de hachage sécurisées (MD5, SHA-2, SHA-3)
• Applications des fonctions de hachage (HMAC, dérivation de clés, etc.)
4. Protocoles cryptographiques
• Protocoles d'authentification (Kerberos, SSL/TLS)
• Protocoles d'échange de clés (IKE/IPsec)
• Protocoles de paiement sécurisé (SET, 3D Secure)
5. Infrastructures à clé publique (PKI)
• Concept d'autorité de certification
• Gestion de cycle de vie des certificats
• Normes et protocoles PKI (X.509, PKCS, OCSP, etc.)
6. Attaques contre les crypto-systèmes
• Types d'attaques (cryptanalyse, attaques par canaux auxiliaires, etc.)
• Contre-mesures et bonnes pratiques de mise en œuvre
7. Etc.
Chapitre 3: système de contrôle d’accès
1. Introduction au contrôle d'accès
o Définition et objectifs du contrôle d'accès
o Principes de base (moindre privilège, séparation des tâches, etc.)
o Matrice de contrôle d'accès
2. Modèles de contrôle d'accès
o Contrôle d'accès discrétionnaire (DAC)
o Contrôle d'accès obligatoire (MAC)
o Contrôle d'accès basé sur les rôles (RBAC)
o Contrôle d'accès basé sur les attributs (ABAC)
3. Mécanismes de contrôle d'accès
o Listes de contrôle d'accès (ACL)
o Capacités et jetons
o Règles de contrôle d'accès
4. Authentification et autorisation
o Processus d'authentification (facteurs d'authentification)
o Protocoles d'authentification (Kerberos, RADIUS, SAML, OAuth)
o Gestion des autorisations (permissions, privilèges, etc.)
5. Contrôle d'accès physique
o Contrôles d'accès aux installations et équipements
o Systèmes de contrôle d'accès physique (badges, biométrie, etc.)
6. Contrôle d'accès logique
o Contrôle d'accès aux systèmes d'exploitation
o Contrôle d'accès aux applications et bases de données
o Journalisation et audit des accès
7. Gestion des identités et des accès
o Provisionnement et déprovisionnement des accès
o Gestion des cycles de vie des identités
o Solutions d'Identity and Access Management (IAM)
8. Administration et surveillance du contrôle d'accès
o Revue et analyse des accès
Etablissement : Page 70
Spécialité : Intelligence Artificielle
o Outils de surveillance et rapports
o Gestion des violations et incidents
Chapitre 4 : Gestion de risque
1. Identification des risques
• Définition et catégories des risques (techniques, organisationnels, physiques, etc.)
• Sources de risques (menaces, vulnérabilités, impacts potentiels)
• Inventaire des actifs à protéger (données, systèmes, infrastructures, etc.)
• Méthodologies d'identification des risques (EBIOS, MEHARI, etc.)
2. Gestion des risques
• Principes de la gestion des risques (ISO 31000)
• Processus de gestion des risques (établir le contexte, évaluation, traitement, suivi)
• Intégration de la gestion des risques dans la gouvernance de la sécurité
3. Méthodes d'analyse et d'évaluation des risques
• Analyses qualitatives (matrices, diagrammes, etc.)
• Analyses quantitatives (modèles, calculs de risques, etc.)
• Méthodologies d'évaluation des risques (EBIOS RM, MEHARI, OCTAVE, etc.)
4. Évaluations de la vulnérabilité
• Définition et types de vulnérabilités (techniques, humaines, procédures, etc.)
• Processus d'évaluation des vulnérabilités
• Outils d'analyse de vulnérabilités (scanners, évaluations manuelles, etc.)
5. Analyses de vulnérabilité
• Analyses statiques (code source, configurations, etc.)
• Analyses dynamiques (tests d'intrusion, fuzzing, etc.)
• Analyses de surfaces d'attaque (vecteurs, chemins d'accès, etc.)
6. Tests de pénétration
• Objectifs et types de tests de pénétration
• Méthodologies de tests (boîte noire, boîte blanche, etc.)
• Phases des tests (reconnaissances, exploitation, post-exploitation, etc.)
• Outils et techniques utilisés par les pentesteurs
7. Outils de sécurité
•Outils de surveillance et de détection (SIEM, IDS/IPS, etc.)
•Outils de gestion des vulnérabilités et des patchs
•Outils de chiffrement et de gestion des clés
•Outils de contrôle d'accès et d'authentification
•Solutions de sauvegarde et de reprise après sinistre
Chapitre 5: Apprentissage automatique : attaques et défense adverses
1. Introduction à l'apprentissage automatique contradictoire (Adversarial Machine Learning)
• Définition et concepts clés
• Vulnérabilités des modèles d'apprentissage automatique aux attaques adverses
• Importance de la sécurité des systèmes d'IA dans divers domaines
2. Différences entre les attaques contradictoires dans les domaines de la vision par ordinateur et de
la cybersécurité
• Attaques dans la vision par ordinateur (perturbations d'images, adversarial examples)
• Attaques en cybersécurité (contournement de détecteurs de malwares, d'IDS, etc.)
• Différences d'objectifs, de contraintes et d'impacts
3. Types d'attaques contradictoires en ML
Etablissement : Page 71
Spécialité : Intelligence Artificielle
• Attaques par perturbation (ajout de bruit imperceptible)
• Attaques par manipulation des données d'entraînement (data poisoning)
• Attaques par extraction de modèles (model stealing)
• Attaques par inversion de modèles (model inversion)
4. Attaques durant la phase d'entraînement
• Empoisonnement des données d'entraînement (backdoor, data pollution)
• Attaques par évasion de modèle (évasion durant l'entraînement)
• Attaques par extraction de modèles (model stealing)
5. Attaques durant la phase d'inférence
• Attaques par perturbation (adversarial examples, adversarial patches)
• Attaques par inversion de modèles (model inversion)
• Attaques par contournement (adversarial reprogramming)
6. Défenses contre les attaques adverses
•Méthodes proactives (entraînement robuste, data sanitization, etc.)
•Méthodes réactives (détection, nettoyage, correction, etc.)
•Vérification formelle et certification de robustesse
Chapitre6: Sécurité du cloud
1. Risques et défis de sécurité dans le cloud
Etablissement : Page 72
Spécialité : Intelligence Artificielle
6. Pratiques et architectures pour la sécurité cloud
•Security by Design et DevSecOps pour le cloud
•Principes de moindre privilège et de défense en profondeur
•Architectures de référence sécurisées (bien configurées, Cloud Native)
•Automatisation et gestion du cycle de vie de la sécurité
Chapitre 7 : Défis et enjeux de la sécurité dans les nouveaux paradigmes émergents (objets
connectés, données massives, etc.)
1. Sécurité de l'Internet des Objets (IoT)
• Risques de sécurité IoT (faible sécurité par conception)
• Attaques visant les objets connectés (Mirai, etc.)
• Sécuriser les déploiements IoT à grande échelle, etc.
2. Sécurité des données massives
• Défis de sécurité posés par les environnements big data
• Risques et menaces pour les environnements big data
• Sécurisation des infrastructures, pipelines et traitements big data
• Protection de la confidentialité des données massives
11. Ahmed Abusnaina, Aminollah Khormali, Hisham Alasmary, Jeman Park, Afsah Anwar, and
Aziz Mohaisen. 2019. Adversarial learning attacks on graph-based IoT malware detection
systems. In Proc. of CDCS, Vol. 10.
12. Naveed Akhtar and Ajmal S. Mian. 2018. Threat of adversarial attacks on deep learning in
computer vision: A survey. IEEE Access 6 (2018), 14410--14430
13. [Link]
14. [Link]
15. [Link]
16. [Link]
and-defenses.
Etablissement : Page 73
Spécialité : Intelligence Artificielle
Semestre 8
Unité d’enseignement : UEM1
Matière : Analyse et traitement d’image
Coefficient : 2
Objectifs de l’enseignement
Ce cours traite de l'acquisition, du traitement et de l'analyse d'images numériques réelles. Il s'agit de
modéliser les processus nécessaires à la transformation de ces images discrètes (ensemble de pixels)
en donnés perceptuelles et sémantiques (scène d'objets). Ce cours traite en particulier les problèmes
d'acquisition.
Connaissances préalables recommandées
Contenu de la matière :
Chapitre 1: Généralités sur l’image
Image numérique.
Caractéristiques de l’image numérique.
Types d’images et fichiers graphiques.
Les grands domaines de l’imagerie numérique
Chapitre 2 : Acquisition des Images
Système visuel humain
Outils d’acquisitions
Caractéristiques d’un capteur.
Les formats d’images.
Les bruits.
Chapitre 3 : Numérisation d’une image
Codage d’image.
Quantification, échantillonnage d’image.
Rehaussement, restauration d’image.
Transformations ponctuelles et globales.
Convolution.
Détection des points et des contours.
Chapitre 4 : Amélioration d’images par histogrammes
Histogramme des images en niveau de gris.
Histogramme des images en couleurs.
Informations issues de l’histogramme (pics, luminosités, contrast…etc.)
Transformations de l’histogramme : amélioration du contraste, expansion de la dynamique,
seuillage, accentuation de contraste, correction gamma, égalisation,…etc.
Chapitre 5 : Techniques d’analyses et de traitement d’images
Qu’est-ce que l’analyse et le traitement d’image ?
Le processus de traitement d’image.
Technique d’analyses d’images
Techniques de traitement d’images
Chapitre 6 : Les techniques de filtrage
Introduction au filtrage (dé-bruitage).
Filtre moyenneur Vs filtre médian.
Filtre moyenneur pondérée Vs filtre gaussien.
Filtre adaptatif.
Récapitulatif sur les filtres: linéaire et non linaire
Quelques filtres supplémentaires : amélioration des bords, gaufrage, effet peinture, filtre
marr, filtre de kirsch, filtre de Nagao, filtrage par maximum
Chapitre 7 : Segmentation
Définition
Etablissement : Page 74
Spécialité : Intelligence Artificielle
Types de segmentations :
- Contour
- Régions
- Hybrides
Chapitre 8 : les opérateurs morphologiques
Définition
Elément structurant
Erosion et Dilatation binaire
Ouverture et fermeture binaire
Dilatation conditionnelle
Etablissement : Page 75
Spécialité : Intelligence Artificielle
Semestre 8
Unité d’enseignement : UEF2
Matière : Traitement Automatique du Langage Naturel
Coefficient :3
Objectifs de l’enseignement
The course covers many topics, including preprocessing, text representation and classification,
syntactic and semantic analysis, sentiment analysis, and language modeling. It allows students to
apply different NLP techniques to deal with practical problems such as machine translation, text
summarization, information extraction, information retrieval and question answering.
Connaissances préalables recommandées
Machine Learning.
Contenu de la matière :
Chapter I – Introduction to Natural Language Processing
1. What is NLP?
2. History of NLP
3. Applications of NLP
Chapter II – Text preprocessing
1. Text cleaning
2. Text tokenization
3. Text normalization
Chapter III – Text classification
1. Learning algorithms
1.1. Naïve Bayes
1.2. Logistic regression
1.3. Neural networks
2. Classification
2.1. Sentiments and analysis opinions
2.2. Word sense disambiguation
Chapter IV – Text representation
1. Bag-of-words
2. Term frequency-Inverse document frequency
3. Word embeddings
4. Contextualized word embeddings
Chapter V – Sequence Labeling
1. Viterbi algorithm
2. Hidden Markov Models
3. Conditional Random Fields
4. Named entity recognition
5. Part-of-speech tagging
Etablissement : Page 76
Spécialité : Intelligence Artificielle
Chapter VI – Language models
1. N-gram language models
2. Neural networks language models
2.1. Feedforward neural networks as language models
2.2. Recurrent neural networks as language models
3. Large language models
3.1. Pretraining and fine-tuning large language models
3.2. T5 as a translation large language model
3.3. ChatGPT as generative large model.
4. Evaluation of language models
Chapter VII – Parsing and meaning
1. Context-Free Grammars
2. Dependency Parsing
3. Logical representation of meaning
4. Semantic parsing
Chapter VIII – Applications of NLP
1. Machine translation
2. Text summarization
3. Text generation
4. Information extraction
5. Information retrieval
6. Question Answering
Mode d’évaluation : Contrôle continu (40%), Examen (60%)
Références bibliographiques (Livres et polycopiés, sites internet, etc) :
[1] Jurafsky, D & Martin, J.H. (2023). Speech & language processing (3rd ed. draft).
[2] Eisenstein, J. (2018). Natural language processing. Jacob Eisenstein.
[3] Tunstall, L., Von Werra, L., and Wolf, T. (2022). Natural language processing with
transformers. O'Reilly Media, Inc.
[4] Goldberg, Y. (2016). A primer on neural network models for natural language processing.
Journal of Artificial Intelligence Research, 57, 345-420.
Etablissement : Page 77
Spécialité : Intelligence Artificielle
Semestre 8
Unité d’enseignement : UEF1
Matière : Deep Learning
Coefficient : 4
Objectifs de l’enseignement
Contenu de la matière :
Chapter 1: Introduction and Fundamentals
Introduction to Deep Learning
• Overview of Deep Learning
• History and evolution of Deep Learning
• Key differences between Deep Learning and traditional Machine Learning
• Applications of Deep Learning
• PW: Set up the development environment (Python, TensorFlow, PyTorch) and
Simple neural network implementation using a deep learning framework
Mathematics for Deep Learning
• Linear algebra for Deep Learning: matrices, vectors, eigenvalues, and eigenvectors
• Calculus for optimization: gradients, partial derivatives
• Probability and statistics refresher for Deep Learning
Chapter 2: Feedforward Neural Networks
Fundamentals of Neural Networks
• Perceptron and multi-layer perceptron (MLP)
• Activation functions: sigmoid, tanh, ReLU, Leaky ReLU
• Forward and backward propagation
• Loss functions: MSE, cross-entropy
• PW: Implement a simple feedforward neural network from scratch
Training Neural Networks
• Gradient descent and its variants: SGD, Momentum, Nesterov, Adagrad, RMSprop,
Adam
• Overfitting and regularization: L2, L1, Dropout, Batch Normalization
• Hyperparameter tuning and optimization
• PW: Train a neural network on a dataset and experiment with different optimization
techniques and regularization methods
Chapter 3: Convolutional Neural Networks (CNNs)
Introduction to CNNs
• Convolution operations and filters
• Pooling layers: max pooling, average pooling
• CNN architectures: LeNet, AlexNet, VGG, GoogLeNet, ResNet
• PW: Implement a simple CNN for image classification
Advanced CNN Architectures and Techniques
• Transfer learning and fine-tuning
• Data augmentation techniques
• Advanced architectures: DenseNet, MobileNet, EfficientNet
• PW: Fine-tune a pre-trained CNN on a new dataset
Chapter 4: Recurrent Neural Networks (RNNs)
Fundamentals of RNNs
• Introduction to Recurrent Neural Networks
• Backpropagation through time (BPTT)
• Vanishing and exploding gradients
Etablissement : Page 78
Spécialité : Intelligence Artificielle
• PW: Implement a simple RNN for sequence prediction
Advanced RNN Architectures
• Long Short-Term Memory (LSTM) networks
• Gated Recurrent Units (GRUs)
• Bidirectional RNNs
• Applications: time series forecasting, language modeling, speech recognition
• PW: Implement an LSTM or GRU for a sequence-based task
Chapter 5: Unsupervised Deep Learning
Autoencoders and Variational Autoencoders
• Introduction to autoencoders
• Variational Autoencoders (VAEs)
• Applications: anomaly detection, image denoising, dimensionality reduction
• PW: Implement an autoencoder for image reconstruction
Generative Models
• Generative Adversarial Networks (GANs)
• Conditional GANs (cGANs)
• Advanced GAN architectures: DCGAN, CycleGAN, StyleGAN
• Applications: image generation, style transfer
• PW: Implement a simple GAN for image generation
Chapter 6: Advanced Topics in Deep Learning
Attention Mechanisms and Transformers
• Introduction to attention mechanisms
• Sequence-to-sequence models
• Transformers: architecture, self-attention, multi-head attention
• Applications: machine translation, text summarization
• PW: Implement a transformer model for a natural language processing task
Reinforcement Learning with Deep Learning
• Deep Q-Learning
• Policy gradients and actor-critic methods
• Advanced techniques: Double DQN, Dueling DQN, A3C, PPO
• PW: Implement a Deep Q-Network for a simple game environment
Chapter 7: Specialized Deep Learning Applications
Natural Language Processing (NLP) with Deep Learning
• Word embeddings: Word2Vec, GloVe, FastText
• Recurrent models for NLP: RNNs, LSTMs, GRUs
• Transformers for NLP: BERT, GPT, T5
• PW: Implement a text classification model using a pre-trained transformer
Computer Vision with Deep Learning
• Object detection: R-CNN, Fast R-CNN, Faster R-CNN, YOLO, SSD
• Semantic segmentation: Fully Convolutional Networks (FCNs), U-Net, SegNet
• Image captioning and visual question answering
• PW: Implement an object detection model on a custom dataset
Etablissement : Page 79
Spécialité : Intelligence Artificielle
Semestre 8
Unité d’enseignement : UEF2
Matière : Traitement de données massives
Coefficient : 3
Objectifs de l’enseignement
- D’héberger des données massives sur un cluster de machines.
- Écrire un programme permettant un traitement distribué/parallèle sur ces données.
- Traitement en temps réel des données.
- Se familiariser avec les outils généralement utilisés en production.
Connaissances préalables recommandées
Algorithmique, bases de données. Traitement distribué et parallèle. Programmation java
Contenu de la matière :
CHAPITRE 1 : Paradigme de traitement des données massives
1- Identification
a. Données massives : Définitions et principes
b. Caractéristiques (5 V) : Volume, Vélocité, Variété, Véracité, Valeur.
2- Modèles de stockages des données massives : SGF Distribués
a. Qu’est-ce qu’un Système de Gestion de fichiers
b. Etude de cas : HDFS Hadoop
i. Introduction à l'écosystème Hadoop
ii. Hadoop (Définition et Historique)
iii. HDFS (rôle et principe)
iv. HDFS (Commandes usuelles)
v. HDFS (Architecture)
vi. HDFS (Configuration du Cluster)
vii. HDFS (Configuration Hardware du Cluster)
3. Modèle de traitement des données massives : MapReduce
a. Introduction aux modèles de traitement distribué
b. Traitement distribué avec MapReduce
i. Qu'est-ce que Hadoop MapReduce et pourquoi l'utiliser ?
ii. Phases clés de MapReduce
iii. Adaptation d’un algorithme pour le modèle MapReduce
iv. MapReduce (Use cases)
c. Traitement en mémoire avec Apache Spark
i. Qu'est-ce qu'Apache Spark et pourquoi l'utiliser ?
ii. Utilisation de RDD dans Spark
iii. Utilisation de Spark SQL
iv. Adaptation d’un algorithme pour le modèle Apache Spark
d. Installation et configuration de Spark : Hadoop HDFS et Yarn
4. Langages d’abstraction des données
a. Langage d'Abstraction avec Apache Hive
i. Introduction à Apache Hive (Qu'est-ce que Apache Hive et pourquoi l'utiliser ?)
ii. Le modèle de données Hive (tables, colonnes et types de données, les partitions)
iii. HiveQL
iv. Chargement des données avec Hive
v. Analyse de données avec Hive (filtrage, agrégation et jointure)
vi. Installation et Configuration de Hive.
b. Langage d'Abstraction avec Apache PIG
Etablissement : Page 80
Spécialité : Intelligence Artificielle
i. Introduction à PIG (Qu'est-ce que Apache Pig et pourquoi l'utiliser ?)
ii. Modèle de données PIG (types de données, relations et opérations)
iii. Fonctions PIG (fonctions de base, et fonctions utilisateur UDF)
iv. Langage PIG Latin (syntaxe, commandes et expressions)
v. Analyse des données avec PIG (chargement, filtrage, transformation, agrégation)
vi. Installation et Configuration de PIG
5. Les bases de données décentralisées
a. Introduction aux bases de données NoSQL.
b. Mécanismes de mise en oeuvre des bases de données NoSQL.
c. Introduction à Apache HBase
d. Modélisation, chargement et interrogation des données avec HBase
e. Installation et configuration de HBase
CHAPITRE 2 : Ecosystèmes pour le traitement des données massives
1. Qu’est-ce qu’un écosystème ?
2. Architectures matériels et virtualisation
3. Etude de cas
a. Hadoop, Spack, Yarn, …. etc
CHAPITRE 3 : Intégration des données : Création des pipelines
1. Introduction aux pipelines
2. Création de pipeline avec à Apache Flume et Sqoop
3. Ingestion de données avec Flume (fonctionnement Source, Channel, Sink)
4. Importation et l'exportation de données avec Sqoop
5. Configuration de Flume et Sqoop pour des cas d'utilisation spécifiques
6. Installation et configuration d'Apache Flume et Sqoop
Etablissement : Page 81
Spécialité : Intelligence Artificielle
• Spark Streaming
• Kafka et (Kafka+Spark)
Etablissement : Page 82
Spécialité : Intelligence Artificielle
Semestre 8
Unité d’enseignement : UEM1
Matière : Technologies de Calcul Distribué et Intelligence Artificielle
Coefficient : 2
Objectifs de l’enseignement
Mettre l’accent sur l’apport de l’IA dans les nouvelles technologies à commencer par un bref
historique sur les grilles de calculs pour mettre en avant leur intérêt dans la parallélisation et la
distribution des calculs en IA. Pour ensuite, aborder les solutions IA pour répondre aux
problématiques du Cloud, Fog et Edge computing, et finir par la concrétisation de l’IoT.
Etablissement : Page 83
Spécialité : Intelligence Artificielle
3) Saeik, F., Avgeris, M., Spatharakis, D., Santi, N., Dechouniotis, D., Violos, J., ... & Papavassiliou, S.
(2021). Task offloading in Edge and Cloud Computing: A survey on mathematical, artificial intelligence and
control theory solutions. Computer Networks, 195, 108177.
4) Chiang, M., & Zhang, T. (2016). Fog and IoT: An overview of research opportunities. IEEE Internet
of things journal, 3(6), 854-864.
5) 5) Buyya, R., & Srirama, S. N. (Eds.). (2019). Fog and edge computing: principles and paradigms.
John Wiley & Sons.
Etablissement : Page 84
Spécialité : Intelligence Artificielle
Semestre 8
Unité d’enseignement : UET1
Matière : Projet pluridisciplinaire
Coefficient : 4
Objectifs de l’enseignement
Le but de cette matière est l’immersion des étudiants dans le milieu socio-économique en les
plaçant dans des stages dans les entreprises. Le projet se déroule durant le second semestre de la
quatrième année. Il consiste en la conception et la réalisation d’un petit projet informatique qui se
déroule dans une entreprise.
Stage : un stage de 15 jours dans une entreprise pendant les vacances du printemps.
Déroulement du projet :
Le projet est décrit à travers un cahier des charges précis et peut porter sur des thèmes très variés. Il
est proposé et encadré par un enseignant du département et il doit couvrir au moins deux
disciplines.
Le groupe de projet est composé de 4 étudiants au maximum. Outre le contenu technique, qui
consistera en l’application des connaissances acquises pour la mise en œuvre du cycle de
développement d’un petit logiciel, l’accent sera mis sur l’acquisition et l’application des aspects
organisationnels et relationnels entre les membres du groupe, de l’encadreur et de l’entreprise
d’accueil en respectant les points suivants :
✓ Analyse et découpage du travail,
✓ Répartition des charges de travail entre les membres du groupe par l’encadreur.
✓ Circulation de l’information entre les membres du groupe,
✓ Mise en place d’un planning de travail,
✓ Exposés périodiques de l’avancement du projet,
✓ Délivrance des livrables fixés dans la fiche de projet,
✓ Rédaction d’un rapport de stage (entre 20 et 30 pages).
✓ Exposé du travail réalisé devant une commission d’examen.
Etablissement : Page 85
Spécialité : Intelligence Artificielle
Semestre 9
Unité d’enseignement : UEF1
Matière : Data visualization
Coefficient : 3
Objectifs de l’enseignement
Contenu de la matière :
• PW: Set up the development environment (Python, R, Tableau) and Explore different types
of visualizations using an existing dataset
Data Visualization Tools and Libraries
• Lecture Topics:
• Overview of popular tools and libraries: Matplotlib, Seaborn, Plotly, [Link], ggplot2,
Tableau
• Comparison of strengths and weaknesses
• Installation and basic usage
• PW: Create basic plots using Matplotlib and Seaborn
Chapter 2: Fundamental Visualization Techniques
Basic Plots and Charts
• Bar charts, line charts, scatter plots
• Histograms, box plots, and violin plots
• Pie charts, donut charts, and their limitations
• PW: Create and customize various basic plots using a dataset
Advanced Plotting Techniques
• Heatmaps and density plots
• Pair plots and correlation matrices
• Small multiples and faceting
• PW: Create advanced plots to explore relationships in data
Chapter 3: Interactive Visualizations and Dashboards
Introduction to Interactive Visualizations
• Benefits of interactivity in visualizations
• Introduction to Plotly and Bokeh for Python
• Introduction to Shiny for R
• PW: Create interactive plots using Plotly or Bokeh
Building Dashboards
• Dashboard design principles
• Tools for dashboard creation: Tableau, Power BI, Dash (Plotly)
• Integrating multiple visualizations into a cohesive dashboard
• PW: Build a simple interactive dashboard using Tableau or Dash
Chapter 4: Storytelling with Data
Principles of Data Storytelling
• Elements of a good data story
Etablissement : Page 86
Spécialité : Intelligence Artificielle
•
Structuring narratives with data
•
Using visualizations to support storytelling
• PW: Develop a narrative around a dataset and create visualizations to support the story
Advanced Storytelling Techniques
• Use of annotations and highlights
• Sequencing and transitions in storytelling
• Case studies of effective data storytelling
• PW: Create a data story presentation using a dataset
Chapter 5: Specialized Visualization Techniques
Geospatial Data Visualization
• Basics of geospatial data
• Tools and libraries: Folium, GeoPandas, Mapbox, Leaflet
• Creating maps: Choropleth maps, bubble maps, heatmaps
• PW: Visualize geospatial data using Folium or GeoPandas
Network Visualization
• Basics of network data
• Tools and libraries: NetworkX, Gephi, Cytoscape
• Visualizing networks: node-link diagrams, adjacency matrices
• PW: Visualize network data using NetworkX or Gephi
Chapter 6: Visual Analytics and Big Data
Visual Analytics
• Overview of visual analytics
• Integrating visualizations with analytical processes
• Case studies in visual analytics
• PW: Apply visual analytics techniques to a complex dataset
Big Data Visualization
• Challenges of visualizing big data
• Tools and techniques for big data visualization: Apache Zeppelin, Kibana, [Link]
• Case studies and applications
• PW: Visualize a large dataset using appropriate big data tools
Chapter 7: Advanced Topics and Trends
Real-time Data Visualization
• Introduction to real-time data visualization
• Tools and frameworks: Kafka, [Link], Plotly
• Applications and examples
• PW: Create a real-time dashboard using a streaming data source
Augmented and Virtual Reality for Data Visualization
• Overview of AR and VR in data visualization
• Tools and technologies: Unity, [Link], [Link]
• Applications and case studies
• PW: Develop a simple AR/VR data visualization prototype
Etablissement : Page 87
Spécialité : Intelligence Artificielle
Semestre 9
Unité d’enseignement : UEF1
Matière : Vision par ordinateur
Coefficient : 3
Objectifs de l’enseignement
L’objectif du cours est de donner à l’étudiant l’ensemble des techniques d’analyse d’image pour
reconstruire la scène 3D et de comprendre le contenu de la scène statique ou dynamique.
Chapitre II : La reconstruction 3D
2.1. Introduction
2.2. Techniques de reconstruction 3D
2.3. Reconstruction 3D par triangulation
2.3.1. La stéréo correspondance
2.3.2. La rectification
2.4. Reconstruction Photométrique
2.4.1 Modélisation mathématique de la reconstruction photométrique.
2.4.2 Génération du champ de normales avec la SVD (Matrice pseudo inverse)
Chapitre III : Reconnaissance : techniques et applications
3.1. Détection d'objet à reconnaître (faces, piétons)
[Link] de faces
3.2.1. Modèles actifs d'apparence
3.2.2. Modèles 3D de formes
[Link] de catégories d'objets
3.3.1. Reconnaissance basée sur les modèles basés sur les parties
3.3.2. Reconnaissance basée sur la segmentation
3.3.3. Reconnaissance par apprentissage automatique
1. La réalité virtuelle
[Link]
[Link] concepts de base
[Link]élisation 3D L’interaction
Etablissement : Page 88
Spécialité : Intelligence Artificielle
4.Détection et réponse à la collision
[Link] périphériques de la RV
[Link] stéréoscopique
2. La réalité augmentée
Définitions, classifications et périphériques
Estimation de la pose
Détection des points d’intérêt et extraction de primitives
Algorithmes de recalage
3. Réalité mixte
Etablissement : Page 89
Spécialité : Intelligence Artificielle
Semestre 9
Unité d’enseignement : UED1
Matière : Architectures et technologies blockchain
Coefficient : 3
Objectifs de l’enseignement
ce module vise principalement à fournir aux étudiants une compréhension des concepts, des
technologies et des applications de la blockchain dans le but d’explorer ses implications à long
terme pour les entreprises et sa relation avec d’autres technologies émergentes telle que l’IA.
L’objectif est donc de permettre aux étudiants de proposer des solutions basées sur la blockchain
pour des problèmes réels.
Connaissances préalables recommandées
Programmation orienté objet, Systèmes distribués, Cryptographie
Contenu de la matière :
Chapitre 1 : introduction à la blockchain
1. Définition et concepts fondamentaux de la blockchain (Définitions, Caractéristiques,
Composants clés, les types de réseaux Blockchain (Blockchains publiques, privées,
permissionnées, hybrides, etc.).
2. Utilisations et cas d'usage réels (finance, supply chain, gouvernance, etc.)
3. Smart contracts: fonctionnement, langages de programmation (Solidity, Vyper, etc.)
4. Dapps (applications décentralisées) : architecture, développement, défis
5. DAOs (organisations décentralisées autonomes) : gouvernance, prise de décision collective
Chapitre 2 : Structure de données pour la blockchain
1. Blocs : en-tête, transactions, merkle-tree
2. Chaîne de blocs : structure de données, propriétés de sécurité
3. Transactions : structure, signatures numériques, UTXO vs comptes
4. Adresses : génération, gestion des clés publiques/privées
Chapitre 3 : fonctionnement de la blockchain
1. Emission d'une transaction
2. Validation de la transaction
3. Constitution d'un bloc candidat
4. Obtention d'un consensus décentralisé
5. Validation du nouveau bloc
Etablissement : Page 90
Spécialité : Intelligence Artificielle
Avalanche : Nouvelles blockchains hautes performances, Cardano, Polkadot : Prometteuses
blockchains de 3e génération, Autres : Litecoin, Bitcoin Cash, etc.)
2. Blockchains d'entreprises permissionnées : (Hyperledger Fabric (Linux Foundation) :
Modulaire, adaptée aux consortiums, R3 Corda : Optimisée pour les applications financières,
Quorum (JP Morgan) : Fourche privée d'Ethereum avec confidentialité
3. Distributed Ledgers non-blockchain ( Hashgraph (Hedera) : Basée sur les graphes hashés
gossiping, IOTA Tangle : DLT pour l'Internet des objets sans blocs, Holochain: Framework
d'applications distribués pair-à-pair
4. Plateformes hybrides/interopérabilité (Cosmos : Écosystème de blockchains interconnectées,
Polkadot : Protocole de transfert de données cross-chain, Ondulation: Passerelle de liquidité entre
blockchains)
Chapitre 7: processus de conception des application blochckain,
Mode d’évaluation : Contrôle continu (40%), Examen (60%)
Références bibliographiques (Livres et polycopiés, sites internet, etc) :
1. "Building Decentralized Blockchain Applications: Learn How to Use Blockchain as a
Backbone for Distributed Applications" par Shahid Shaikh
2. "Blockchain Basics: A Non-Technical Introduction in 25 Steps" par Daniel Drescher
3. "Blockchain Revolution: How the Technology Behind Bitcoin and Other Cryptocurrencies
is Changing the World" par Don Tapscott et Alex Tapscott
Etablissement : Page 91
Spécialité : Intelligence Artificielle
Semestre 9
Unité d’enseignement : UEF2
Matière : Méthodes bio-inspirées
Coefficient : 3
Objectifs de l’enseignement
L’objectif de l’informatique bio-inspirée est de présenter un panorama des modèles informatiques
inspirés de la structure des systèmes vivants (biologiques), d’expliquer les principes généraux, les
modes de fonctionnement et les domaines d’application en intelligence artificielle.
Connaissances préalables recommandées
Algorithmique et complexité, machine learning.
Contenu de la matière :
I. Introduction à l’informatique bio-inspirée
Définitions, principes généraux de l’informatique bio-inspirée, domaines d’application,
historique.
II. Panorama des différents modèles
Diversité des sources d’inspiration, diversités des modèles, exemples de mécanismes
émergents
III. Les approches évolutionnistes
Algorithmes génétiques, programmation génétique
IV. Les approches cellulaires
Réseaux de neurones et réseaux immunitaires
V. Les approches populationnelles
Systèmes à base de fourmis, l’optimisation par essaims particulaires
Etablissement : Page 92
Spécialité : Intelligence Artificielle
Semestre 9
Unité d’enseignement : UEF2
Matière : Generative AI
Coefficient : 3
Objectifs de l’enseignement
By the end of this course, learners will gain a solid foundation in generative AI, including its
core principles and technological frameworks, develop practical skills through hands-on
projects and experiential learning to confidently create and manipulate AI-generated content,
and achieve a functional understanding of how generative AI systems work.
Etablissement : Page 93
Spécialité : Intelligence Artificielle
- Healthcare Transformation
The impact of generative AI on healthcare, including diagnostics and treatment personalization.
- Personalized Learning
Utilizing generative AI to create customized educational experiences.
- Video Game Design and Testing
Applying generative AI to design, develop, and test video games.
- Image and video generation:
Creating realistic images from text descriptions, generating variations on existing images, or even
producing videos.
Etablissement : Page 94
Spécialité : Intelligence Artificielle
Semestre 9
Unité d’enseignement : UED1
Matière : Recherche d’information
Coefficient : 3
Objectifs de l’enseignement
Le cours couvre de nombreux sujets, notamment l’indexation, la pondération et la représentation
de l’information, les modèles de la RI, l’évaluation des performances des Systèmes de Recherche
d’Information (SRIs) et l’intégration des techniques de traitement automatique du langage naturel
(TALN) et les techniques d’apprentissage automatique afin d’améliorer l’efficacité et l’efficience
des SRIs .
Etablissement : Page 95
Spécialité : Intelligence Artificielle
Mesures focalisées sur le "top" de la liste
Chapitre V – La recherche d'information avancée et intelligente
La recherche d'information personnalisée
L'apprentissage automatique du langage Naturel (NLP) pour la RI
Le machine Learning pour la RI
Etablissement : Page 96
Spécialité : Intelligence Artificielle
Semestre 9
Unité d’enseignement : UET1
Matière : Séminaire & workshops
Coefficient : 2
Objectifs de l’enseignement
Proposer des thèmes d’actualité dans le domaine des applications de l’IA
Contenu de la matière :
Etablissement : Page 97
Spécialité : Intelligence Artificielle
Semestre 10
V- Accords ou conventions
Oui
✓ NON
(Si oui, transmettre les accords et/ou les conventions dans le dossier papier
de la formation)
Etablissement : Page 98
Spécialité : Intelligence Artificielle
V - Avis et Visas des organes administratifs et consultatifs
Etablissement : Page 99
Spécialité : Intelligence Artificielle
VI – Avis et Visa de la Conférence Régionale