Fiches Canevas Ingenieur SI SD
Fiches Canevas Ingenieur SI SD
Fiches Canevas Ingenieur SI SD
الشعبية
République Algérienne
Démocratique et Populaire Université de
وزارة التعليم العالي والبحث Ouargla
العلمي
Ministère de l'Enseignement
Supérieur
et de la Recherche Scientifique
OFFRE DE FORMATION
INGENIEUR D’ETAT
Université de
FNTIC ITI
Ouargla
Systèmes
Mathématiques et
Informatique D’information et
Informatique
Science de
Données
عرض تكوين
مهندس
االعالم االلي و تكنولوجيا كلية التكنولوجيات الحديثة جامعة قاصدي مرباح ورقلة
المعلومات للمعلومات و االتصال
Après deux années de tronc commun, l’étudiant inscrit dans cette formation suivra en 1
ère année, un socle commun de connaissances théoriques et pratiques en informatique
(systèmes, réseaux, modèles, langages), en mathématiques appliquées et en
management (gestion de projet, conception de systèmes d’information...) de manière à
l’aider à construire son parcours.
La 2 ème année est l’année de la spécialisation pour cette offre de formation intitulée
« Systèmes d'information et science de données – SI&SD ». Un projet de fin d’études en
entreprise, ou en laboratoire d’une durée de neuf mois minimum en 3 ème année.
Objectifs de la formation :
L’objectif de cette spécialité est de former des ingénieurs de haut niveau dans le domaine de l’informatique, en
particulier dans les systèmes d’informations et la science de données. Cette spécialité permettra de former des
compétences pluridisciplinaires dans le domaine des SI et la gestion des données, et dans l’intelligence
artificielle et ces applications, capables de : 1. Concevoir et mettre en œuvre des systèmes basés sur les
techniques de l’intelligence artificielle. 2. Concevoir et développer des solutions Big Data, à l’aide des techniques
les plus récentes de l’Intelligence Artificielle, de Machine Learning, et à l’aide d’architectures distribuées. 3.
Stocker, extraire, analyser et exploiter de gros volumes de données pour des objectifs professionnels/académiques
multiples : aide à la décision, évaluation, optimisation, prédiction, etc.
Les retombées et les débouchées attendues tant aux niveaux régional que national (voir
même international) sont considérables grâce au développement et l’utilisation des
systèmes informatiques et le logiciel dans les entreprises et les organisations. Ainsi, les
titulaires d’un diplôme d’ingéniorat d’état en Systèmes d'information et science de
données pourront occuper des fonctions très variées telles que :
1. Chef de projet informatique
Le chef de projet informatique intervient dès la phase d’étude : il doit définir les
besoins du client, le temps nécessaire à la réalisation du projet et le budget à
Semestre 5:
Volume Horaire
Coefficients
Hebdomadaire Mode d’évaluation
Crédits
Codes
Unité d'enseignement Intitulés des matières VHS
Cours TD TP Contrôle Examen
continu final
UE Fondamentale Système d’Exploitation 1 1.1 4 2 1h30 1h30 1h30 67h30 40% 60%
Code : UEF 1.1.1
Crédits : 8 40%
Réseaux 1 1.2 4 2 1h30 1h30 1h30 67h30 60%
Coefficients : 4
Introduction au Génie Logiciel 67h30 40%
1.3 4 2 1h30 1h30 1h30 60%
UE Fondamentale
Code : UEF 1.1.2 Base de Données 40%
1.4 5 3 1h30 1h30 1h30 67h30 60%
Crédits : 13
Coefficients : 7
Compilation 1.5 4 2 1h30 1h30 1h30 67h30 40% 60%
UE Transversale
Code : UET 1.1 Langue Anglaise 1 1.8 2 1 1h30 22h30 100 %
Crédits : 2
Coefficients : 1
Volume Horaire Total 30 16 10h30 12h00 7h30 450h00
Semestre 6 :
Volume Horaire
Coefficients
Hebdomadaire Mode d’évaluation
Crédits
Codes
Unité d'enseignement Intitulés des matières VHS
Cours TD TP Contrôle Examen
continu final
Système d’Exploitation 2 2.1 4 2 1h30 1h30 1h30 67h30 40% 60%
UE Fondamentale
Code : UEF 1.2.1 40%
Réseaux 2 2.2 4 2 1h30 1h30 1h30 67h30 60%
Crédits : 11
Coefficients : 6 40%
Architecture Évoluée des Ordinateurs 2.3 4 2 1h30 1h30 1h30 67h30 60%
Analyse et Conception des Systèmes 40%
UE Fondamentale 2.4 4 2 1h30 1h30 1h30 67h30 60%
Code : UEF 1.2.2 d’Information
Crédits : 9 40%
Coefficients : 4 Techniques de Développement Web 2/5 4 2 1h30 1h30 45h00 60%
Volume Horaire
Coefficients
Hebdomadaire Mode d’évaluation
Crédits
Codes
Unité d'enseignement Intitulés des matières VHS
Cours TD TP Contrôle Examen
continu final
Apprentissage automatique (Machine
UE Fondamentale 3.1 4 2 1h30 1h30 1h30 67h30 40% 60%
Code : UEF 2.1.1 learning )
Crédits : 6 Systèmes d’informations avancées
Coefficients : 4 3.2 4 2 1h30 1h30 1h30 45h00 40% 60%
Mathématiques avancées pour la 1h30
3.3 4 2 1h30 45h00 40% 60%
UE Fondamentale science des données
Code : UEF 2.1.2 Traitement d’image et vision par 1h30
3.4 4 2 1h30 1h30 67h30 40% 60%
Crédits : 14 ordinateurs
Coefficients : 6
SGBD et Base de données avancées 3.5 5 2 1h30 1h30 1h30 67h30 40% 60%
UE Méthodologique Traitement et visualisation des données 3.6 3 2 1h30 1h30 45h00 40% 60%
Code : UEM 2.1
Crédits : 6
Stage Pratique en Entreprise 3.7 2 2 22h30 100 %
Coefficients : 4
Volume Horaire
Coefficients
Hebdomadaire Mode d’évaluation
Crédits
Codes
Unité d'enseignement Intitulés des matières VHS
Cours TD TP Contrôle Examen
continu final
UE Fondamentale Apprentissage profond (Deep learning) 4.1 4 2 1h30 1h30 1h30 67h30 40% 60%
Code : UEF 2.2.1
Crédits : 6
Coefficients : 4 Technologie et Développement Mobile 4.2 3 2 1h30 1h30 45h00 40% 60%
Le PPP est un travail de fond qui doit permettre à l'étudiant de se faire une idée précise des métiers de la filière et spécialité choisies et de ce qu'ils
nécessitent comme aptitudes personnelles. Il doit amener l'étudiant à mettre en adéquation ses souhaits professionnels immédiats et futurs, ses
aspirations personnelles, ses capacités et ses manques afin de concevoir un parcours de formation cohérent avec le ou les métiers choisis. Le PPP est
transversal ; il fait appel à la technique, à la communication et à la recherche personnelle. Si la transmission de l'information peut être globalisée, la
concrétisation du PPP ne peut se concevoir sans un tutorat individuel.
Semestre UE Matière
Code Type Code Coef Code Intitulé Coef
S9+S10 UE Fondamentale UEF3 60 PFE Élaboration du Mémoire d’Ingénieur 60
Étudier l’existant
Faire une synthèse des tests effectués en présentant les points forts et
les points faibles de la solution.
Objectifs de l’enseignement :
L'objectif de ce cours est de permettre aux étudiants de comprendre les concepts de base des
systèmes d'exploitation centralisés, leur structure et leur fonctionnement et de maîtriser leur
utilisation grâce aux travaux pratiques.
Contenu de la matière :
References bibliographiques:
Objectifs de l’enseignement :
A l’issue de ce cours, l’étudiant aura acquis les connaissances de base à la compréhension des
réseaux locaux : leurs technologies, leurs architectures, les protocoles y afférents. Il saura définir une
architecture de réseau local avec un plan d’adressage IP.
Contenu de la matière :
I. Généralités sur les réseaux
1. Pourquoi un réseau, qu’est-ce qu’un réseau ?
2. Topologies des réseaux
3. Classification des réseaux suivant la taille
4. Le besoin d’une normalisation
Travaux de normalisation de l’ISO
Définition de la notion de protocole
5. Abstraction logicielle : Architecture en couches des réseaux
Le modèle OSI
Le système de protocole TCP/IP
II. Transmission des données
1. Définitions
2. Modes de liaison (simplex, half duplex, full duplex)
3. Notion de bande passante et de débit de transmission
4. Mode de transmission (codage/Modulation)
5. Multiplexage (temporel, fréquentiel) et ADSL (comme cas d’étude)
6. Caractéristiques des supports de transmission
Supports métalliques
Fibre optique
Les ondes radio
Fiabilité des supports de transmission
III. Liaison des données
1. Définitions et rôle
2. Notion de trames
3. Protocoles d'allocation des canaux de communication
Protocoles aléatoires : ALOHA, CSMA/CD
Protocoles déterministes : le jeton (Token ring), FDDI
4. Protection contre les erreurs
Détection et correction par retransmission (parité, contrôle polynomial CRC )
Détection avec correction automatique (code de Hamming)
La notion d’acquittement
IV. Technologie des réseaux locaux
1. Technologie Ethernet
Présentation générale de la technologie Ethernet
La norme IEEE 802.3 et ses variantes.
Classification des réseaux Ethernet par débit (Fast et Giga Ethernet)).
Travail personnel : Un projet sur la conception d’un réseau local (étude de cas)
References bibliographiques:
P. Mühlethaler, « 802.11 et les réseaux sans fil », Eyrolles 2002.
« Architecture de réseaux et études de cas », CampusPress 1999.
L. Toutain, « Réseaux locaux et intranet », Lavoisier 2003.
Objectifs de l’enseignement :
Les objectifs de ce module sont de :
Sensibiliser à l’importance du déroulement des activités de développement de manière
méthodologique
Découverte des méthodologies de développement (classiques et agiles) et les différentes
activités de développement
Utiliser la méthodologie UP comme cadre permettant de présenter en détail les activités
d’expression de besoin, d’analyse, de conception et de tests
Utiliser UML pour la modélisation à travers les différentes activités de développement
Initier aux bonnes et mauvaises pratiques de conception
Initier à la formalisation des activités de tests à travers les cas de test
Contenu de la matière :
Chapitres :
I. Introduction Générale
1. Importance du développement dans le contexte actuel
2. Qu’est-ce que le génie logiciel ?
3. Les métiers de développement
4. Les activités de développement
II. Cycles de Vie (
1. Introduction aux méthodologies de développement
2. Méthodologies de développement classiques
3. Méthodes agiles
4. La méthodologie UP
III. Introduction à UML (2H)
1. Modélisation et prototypage
2. Qu’est-ce que UML ?
3. Les diagrammes UML et leur relation avec le cycle de vie d’un logiciel
IV. Expression des Besoins
1. Introduction à l’expression de besoins
2. Expression de besoins dans UP
3. Spécifications fonctionnelles et techniques
4. Diagrammes de cas d’utilisation
V. Analyse
1. Introduction à l’analyse
2. Analyse dans UP
3. Diagramme de classes
4. Diagramme d’objets
5. Classes d’analyse
Références bibliographiques:
Software Engineering Right Edition, Ian Sommerville, Addison Wesley, 2007
Software Development and Professional Practice, John Dooley, APress, 2010
Software Development Life Cycle (SDLC), Togi Berra, course session 2 Rational Unified
Process - Best Practices for Software Development Teams, IBM / Rational, 1998
UML Component Diagrams, Veronica Carrega, 2004
Introduction to Software Architecture”David Garlanand Mary Shaw, January 1994
Analyse, Conception Objet, Diagrammes de déploiement, SIMMO/ENSM.SE, 2002
Objectifs de l’enseignement :
1. Présentation
Les bases de données sont le moyen le plus utilisé pour la persistance des données dans les
systèmes informatiques. Elles sont aujourd’hui omni présentes et leur maîtrise par les
informaticiens est plus que requise. Une base de données est un ensemble structuré de
données sauvegardées sur un dispositifs électronique. Le cycle de vie d’une BDD passe par
trois niveaux : Conceptuel, logique et physique. Le cours de BDD présente les concepts et
les fondements théoriques du modèle entité/ association permettant ainsi la modélisation des
données puis le modèle relationnel pour l’organisation des données et leur manipulation,
ensuite le langage SQL pour la création de la base et la manipulation des données.
Le cours comporte une grande partie pratique durant laquelle les étudiants manipulent les
modèles de conception, les outils mathématiques du langage algébrique et en fin les SGBD
et le langage SQL.
2. Objectifs
A la fin de cours l’étudiant devra être capable de :
◦ Concevoir une base de données en partant d'une réalité perçue avec le modèle entité
/association et le diagramme de classes d’UML ;
◦ Traduire un modèle entité/association vers un schéma relationnel, le normaliser et le
manipuler avec l'algèbre relationnelle ;
◦ Créer la base de données correspondante au schéma relationnel, manipuler la structure
de la base avec le DDL et interroger les données avec le DML
Contenu de la matière :
01 Introduction aux bases de données
Définition de la base de données
Concepts de base de la modélisation (UML et Entité Association)
02 Conception des bases de données avec l’Entité Association
Concepts de base du modèle EA
Concepts Avancée
Modélisation des Contraintes d’Intégrité
03 Le Modèle relationnel et le langage Algébrique
Concepts de base du modèle
Passage de l'entité -association vers le modèle relationnel
Théorie de la normalisation
Algèbre relationnelle et Le langage algébrique
04 Manipulation des bases de données avec SQL
Composantes du language SQL
Data Définition Language (Langage de Définition des Données)
Data Manipulation Language (Langage de Manipulation des Données)
Manipulation des vues
Références bibliographiques:
Ressources
Looping Logiciel de modélisation Entité/Association Open Source Logiciel
https://www.looping- mcd.fr/
Warru Logiciel de construction de requêtes
Postgres SGBD Open Source Logiciel https://www.postgresql.org/
N. B. Giles Roys, « Conception de bases de donne´es avec UML », Presses Universite´,
Quebec, 2007.
G. Gardarin, « Bases de donne´es », Eyrolles, 1987.
A. Meires, « Introduction pratique aux bases de donne´es », Eyrolles, 2005.
C. Soutou, « de UML a` SQL, Conception des bases de donne´es », Eyrolles, 2002.
C. Soutou, « UML 2 pour les bases de donne´es », Eyrolles, 2007.
G. Simsions, G.Witt, « DATA Modeling Essentials », Morgan Kaufmann, 2004.
C. Churcher, « Beginning Database Design, from novice to professional », Apress, 2007.
Objectifs de l’enseignement :
Écrire une grammaire d’un langage de programmation et construire un analyseur syntaxique
pour ce langage à l’aide d’outils standard.
Comprendre la description formalisée de la sémantique opérationnelle et de la sémantique
statique d’un langage
Programmer un compilateur d'un langage vers une machine cible
Contenu de la matière :
I. Rappels Analyses lexicales et syntaxiques
1. Analyseur lexicale et les expressions régulières (Lex)
2. Analyseur syntaxique et les grammaires à contexte libre (type 3)
3. Générateur d'analyseurs syntaxiques YACC
II. Méthodes d'analyse syntaxiques
1. Les méthodes descendantes de type LL(K) :
Ambiguïté et transformation de grammaire
Construction et fonctionnement d'analyseur syntaxique LL
2. Les méthodes ascendante LR(k)
Analyse contextuelle
Construction d'analyseur LR par la méthode des items
Gestion des erreurs
III. Analyse sémantique et traduction dirigée par la syntaxique
1. Langages intermédiaires
2. Notion d'attributs de symbole de grammaire (attributs synthétisés et attributs hérités)
3. Schémas de traduction (dans les cas des analyses ascendants et descentes)
4. Analyse sémantique (plus de vérification à la compilation moins de risque à l’exécution
IV. Environnement d'exécution
1. Procédures et activations
2. Organisation de l'espace mémoire
3. Accès aux noms non locaux
4. Passage de paramètres
V. Génération du code exécutable
1. Machine à pile
2. Machine à registre
3. Conrôle de flox (graphe de flox et DAG)
4. Machine virtuelle
Travail personnel :
1.Travaux en présentiel
a. Présentation des outils de génération d'analyseur (YACC, JCC, la classe .NET, bison…
etc)
2. Projet :
i. Réalisation individuel d'un compilateur : le projet sera réalisé et évalué en étapes
durant le semestre
ii. Approfondissement des notions de cours par des travaux et exposés.Découverte des
outils CASE.
Références bibliographiques:
Aho, Ullman& Sethi. "Compilateurs : Principes, techniques et outils" Ed. DUNOD 2000.
Aho& Ullman "Principles of compiler design" , Edition : Addison Wesley, 1977.
Stephen C. Johnson "Yacc: Yet Another Compiler-Compiler" Computing Science Technical
Report No. 32, Bell Laboratories, Murray Hill, NJ 07974.
D. Grune "Modern Compiler Design." Ed. John Wiley & Sons, 2000. ISBN : 0 471 97697 0.
J.E. Hopcroft& J.D. Ullman "Introduction to Automata Theory, Languages and
Computation" Ed. Addison Wesley, 1979.
K.C. Louden "Compiler Construction: Principles and Practice" Ed. Course Technology,
1997. ISBN : 0 534 93972 4.
N. Silverio. "Réaliser un compilateur, les outils Lex et YACC" Ed. Eyrolles, 1994.
J. Levine, T. Mason, D. Brown "Lex &Yacc" Ed. O(Reilly), 1992. ISBN : 1 56592 000 7.
Tom Copeland "Generating Parsers with JavaCC" Ed. Centennial Books, Alexandria, VA,
2007. ISBN : 0-9762214-3-8
Objectifs de l’enseignement :
L'analyse numérique est l'étude des méthodes permettant d'évaluer numériquement des nombres,
des fonctions .... C’est un outil essentiel pour l'ingénieur. La modélisation de la majorité des
situations réelles (le classement des pages web, le traitement d’images, l’optimisation de formes, le
transfert de la chaleur, les écoulements …) conduit à des problèmes dont la résolution
mathématique exacte est impossible vu leur complexité numérique. On est donc conduit à chercher
des solutions approchées par des algorithmes numériques que l'on programme sur ordinateur.
L’analyse numérique a pour objet de construire et d’étudier ces méthodes de résolution.
Contenu de la matière :
I. Résolution des systèmes linéaires par des méthodes directes
1. Rappels d'analyse matricielle
2. Exemple motivant.
3. Position du problème.
4. Rappels et complément sur l'analyse matricielle.
5. Conditionnement.
6. Méthode de Gauss.
7. Méthode LU.
8. Méthode de Cholesky.
9. Méthode QR.
II. Résolution des systèmes linéaires par des méthodes itératives
1. Généralités sur les méthodes itératives classiques pour les systèmes linéaires.
2. Méthode de Jacobi.
3. Méthode de Gauss-Seidel.
4. Méthode de relaxation.
5. Étude de l'erreur d'approximation.
III. Calcul numérique des valeurs propres
1. Exemple motivant.
2. Localisation des valeurs propres.
3. Calcul du polynôme caractéristique par la méthode Krylov.
4. Méthode de la puissance itérée :
- Approximation de la valeur propre de plus grand module.
- Approximation de la valeur propre de plus petit module :
La méthode de la puissance inverse.
- Calcul d’autres éléments propres : méthode de déflation.
5. Méthode de Jacobi de calcul des valeurs et vecteurs propres
6. Méthode QR.
IV. Résolution des équations non linéaires de la forme f(x)=0
1. Exemple motivant.
2. Méthode de Dichotomie.
3. Méthodes du point fixe
- Principe
Références bibliographiques:
Polycopié du cours.
P.G. Ciarlet, « Introduction à l'analyse numérique matricielle et à l'optimisation- Cours et
exercices corrigés », Dunod, 2006
M. Schatzman, « Analyse numérique - une approche mathématique- cours et exercices »,
Dunod, 2001
M. Sibony, J. Mardon, « Systèmes linéaires et non linéaires, Analyse numérique T1 »,
Hermann, 1984.
Objectifs de l’enseignement :
La première partie de ce cours se propose de rendre compte des trois composantes qui s’entremêlent
en théorie des graphes : Résolution des problèmes, mathématiques discrètes et algorithmiques. La
deuxième partie de ce cours s’intéresse à la programmation linéaire qui est un des domaines les plus
utilisés de la RO. Elle permet de traiter un vaste ensemble de problèmes d’optimisation dans des
contextes divers comme la gestion de stocks, flux de transport, distribution de tâches à des
personnels, recherche de plans de fabrication etc. . . La modélisation de ces problèmes débouche sur
des équations ou inéquations linéaires (exprimant les différentes contraintes) dont on cherche les
solutions permettant d’optimiser une fonction économique elle-même linéaire.
Contenu de la matière :
I. Introduction à la Recherche Opérationnelle et à la modélisation
1. Introduction à la recherche opérationnelle
2. Méthodologie de résolution d’un problème de RO
3. Modélisation et validation de modèle
4. Choix de la méthode de résolution
II. Notions fondamentales de la théorie des graphes
1. Définitions et généralités
2. Chaînes, cycles et connexité
3. Représentation matricielle d’un graphe
4. Problème de coloration (algorithmes Welch et Powel ;DSatur)
5. Problème de l'arbre couvrant de poids minimum (algorithmes kruskal et Prim)
III. Problème de cheminement
1. Parcours eulériens et hamiltoniens
2. Position du problème du plus court chemin
3. Propriétés des plus courts chemins
4. Algorithmes du plus court chemin : Djikstra, Bellman, Ford et algorithme de Floyd.
IV. Problème du flot maximum
1. Position du problème
2. Flots compatibles, complets
3. Amélioration de flots
4. Algorithme de Ford et Fulkerson
V. Problème d'ordonnancement
1. Position du problème
2. Réseau associé à un projet
3. Méthode MPM
4. Méthode PERT
VI. Programmation Linéaire
1. Problématique de la programmation Linéaire
2. Modélisation et résolution graphique
3. L’algorithme du Simplexe
4. Obtention d’une solution de base réalisable : Algorithme du simplexe de deux phases
Références bibliographiques:
L. R. Ford et D. R.Fulkerson, “Flows and networks”, Princeton University Press.
M. Gondron et M. Minoux, ” Graphs and Algorithms” Wiley Interscience, 1984.
R. Bronson, ”Operations Research ” Série Shaum, 1982.
Dantzig G. Linear programming and extensions. Princeton university press; 2016 Aug 10.
Objectifs de l’enseignement :
Le module d’Anglais destiné aux classes des première année du second cycle est conçu en tenant
compte des contextes et situations liés à l’informatique et fournira aux étudiants les connaissances,
les compétences et les capacités afin de maîtriser un anglais opérationnel au niveau requis, et qui
permettra aux étudiants de mieux s’exprimer dans cette langue. Les approches pédagogiques les plus
récentes, telles que l’approche communicative et l’approche actionnelle, focalisent sur les
compétences à acquérir dans tout apprentissage des langues (en l’occurrence les productions et
compréhension orales et écrites).
Ce cours vise à apprendre à l’étudiant à :
1. Acquérir le vocabulaire de l’anglais spécifique à l’informatique, les phrases et la terminologie
à travers des concepts informatiques tels que : folksonomie, Humanware et le web
sémantique.
Organisation et participation avec succès à un entretien d’embauche (présentation de
l’entreprise, questions à poser au cours d`un entretien par l’employeur en fonction du poste
offert, présentation du profil, etc.)
2. Apprendre à s’exprimer correctement, l’audience étant leurs pairs : exposé oral – en
considérant le niveau de maîtrise de la langue (erreurs de prononciation, transcription erronée
du vocabulaire, etc.)
3. Rechercher les informations récoltées sur le « Net », les traiter et en faire un exposé à délivrer
auprès des pairs : butinage sur le Web – recherche d’information pour construire l’exposé.
4. Rédiger efficacement en anglais : Courriels, CV, articles scientifiques, etc.
Contenu de la matière :
Les compétences citées en « objectifs » sont matérialisées par les activités annuelles.
Activité Une : Le Curriculum Vitae
1. Comment confectionner un Curriculum Vitae (contenant des données personnelles)
2. Comment présenter (communiquer) un Curriculum Vitae en public.
3. Soigner sa présentation (Ergonomie de la présentation)
4. Activité Deux
5. Confection d’un exposé dont le thème est « Auteurs et Langages du Web »
6. Élaborer et réaliser une présentation technique en anglais : pour lancer un projet ou présenter
les derniers progrès, expliquer le fonctionnement d’un nouveau système ou encore les
services et langages du web sémantique.
7. Activité Trois
8. Révision de la grammaire et des temps de conjugaison
Travail personnel :
Confection du CV sous « PowerPoint », « Prezi », ou tout autre outil de présentation.
Rédaction d’un CV
Recherche d’informations sur certains auteurs et concepts du Web Sémantique.
Références bibliographiques:
https://www.teachingenglish.org.uk/article/communicative-approach
https://www.raqmedia.com/2016/10/guiding-principles-of-communicative-approach.html
https://www.monografias.com/trabajos18/the-communicative-approach/the-communicative-
approach.shtml
https://www.tandfonline.com/doi/abs/10.1080/03043790512331313868
https://www.sciencedirect.com/science/article/pii/S1875389212003719
https://psycnet.apa.org/fulltext/2014-55719-001.html
http://www.englishmate.com/blog/developing-four-essential-skills-listening-speaking-reading-
writing/
https://files.eric.ed.gov/fulltext/EJ1180630.pdf
https://www.formation-anglais-professionnelle.com/fonction_informatique.html
Objectifs de l’enseignement :
L'objectif de ce cours est de permettre aux étudiants de comprendre les concepts de base des
systèmes d'exploitation centralisés, leur structure et leur fonctionnement et de maîtriser leur
utilisation grâce aux travaux pratiques.
Contenu de la matière :
I. GESTION DE LA MÉMOIRE PRINCIPALE
1. Introduction
1.1 Gestionnaire de la mémoire
1.2 Hiérarchie des mémoires
1.3 Propriété de localité
2. Allocation contiguë de la mémoire principale dans les systèmes multiprogrammés
2.1 La technique des partitions fixes
2.2 La technique des partitions variables
2.3 Technique de va-et-vient (swapping)
3. Chargement des programmes en mémoire centrale
II. GESTION DE LA MEMOIRE VIRTUELLE
1. Introduction
1.1 Définition
1.2 Adresses logiques (virtuelles) et adresses physiques
1.3 Espace d'adressage logique(virtuel) et espace d'adressage physique
1.4 Principaux objectifs du concept de mémoire virtuelle
2. Pagination
2.1 Traduction des adresses virtuelles en adresses physiques
2.2 Pagination à plusieurs niveaux
2.3 Table de pages inverse
2.4 Choix de la taille des pages
2.5 Mémoire associative ou registres associatifs (TLB)
2.6 Protection de la mémoire paginée
2.7 Partage du code et des données (partage de pages)
3. La segmentation
3.1 Représentation de l’espace virtuel d’un processus
3.2 Allocation de la mémoire centrale aux segments
3.3 Traduction d’une adresse virtuelle en adresse réelle
3.4 Implémentation de la table de segments
3.5 Protection des segments
3.6 Partage de segment
4. Segmentation avec pagination
4.1 Traduction d'une adresse virtuelle en adresse physique
4.2 Exemples
Références bibliographiques:
1. R. E. Bryant, D. R. O’Hallaron, « Computer System : A programmer’s perspective », Prentice
hall, 2015
2. H. M. Deitel, P. J. Deitel, D. R. Choffness, « Operating systems », Third edition, Addison-
Wesley, 2004
3. S. Krakowiak, « Principes des systèmes d’exploitation des ordinateurs », Dunod , 1985
4. A. Silberschatz, P. B. Galvin, G. GAGNE, « Principes des systèmes d’exploitation », 7e édition,
Addison-Wesley,2018
5. W. Stalling, « Operating Systems - Internals and Design Principles », 6th edition, Prentice Hall,
2018
6. A. S. Tanenbaum, A. S. Woodhull, « Operating Systems Design and Implementation », Third
edition, Prentice Hall, 2014
Objectifs de l’enseignement :
Ce cours vise à faire connaître le réseau mondial Internet et les technologies associées. L’étudiant
apprendra à configurer, à concevoir et à analyser l’architecture d’un réseau informatique. Le cours
attache un intérêt particulier à la couche transport et à certains protocoles de la couche application, le
DNS et HTTP notamment.
Contenu de la matière :
I. Le réseau Internet
1. Introduction
2. Internet : le réseau WAN public
Définition et historique
Architecture d’Internet
Accès à Internet (notion d’ISP)
Moyens d’interconnexion (LS, RTC, ADSL, )
3. NAT (Network Adress Translation)
4. Les VPN ( Réseaux Privés Virtuels)
5. L’adressage Ipv6
Format d’une adresse
Types d’adresses Ipv6
L’auto-configuration Ipv6
Mécanismes de transition Ipv4 Ipv6
II. Protocoles de transport
1. Rôle et position dans le modèle OSI - TCP/IP
2. Notion de port
3. Protocole UDP (mode non connecté)
Caractéristiques
Structure de l’entête
4. Protocole TCP (mode connecté) :
Caractéristiques
Principe de fonctionnement
Structure de l’entête
Établissement de la connexion
Échange de données
Acquittement
Numéro de séquence
Time out
Contrôle de flux et notions de fenêtre d’anticipation
Fermeture d’une connexion
5. Interface de programmation réseaux : Les sockets
Références bibliographiques:
P. Mühlethaler, « 802.11 et les réseaux sans fil », Eyrolles 2002.
« Architecture de réseaux et études de cas », CampusPress 1999.
L. Toutain, « Réseaux locaux et intranet », Lavoisier 2003.
Objectifs de l’enseignement :
Ce cours permet à l’étudiant de comprendre la relation entre la performance et la structure des
différents composants fonctionnels d’un processeur. A l’issue de ce cours, l’étudiant comprendra
comment l’architecture d’un processeur affecte la performance des programmes exécutés sur la
machine. Le cours présente les techniques proposées pour améliorer la performance d’un processeur
en réalisant souvent des compromis sur la structure des différents composants tels que la fréquence
d’horloge du CPU, la taille mémoire, la mémoire cache, etc. Les techniques présentées sont: la
hiérarchie mémoire, le pipeline, les architectures RISC, superscalaires, multicores et parallèles.
Contenu de la matière :
I. Introduction : Evolution des architectures
1. Historique de l’évolution des architectures
2. Evolution logicielle
3. Evolution matérielle
4. Architectures spécialisées.
II. Mesure des performances d’une architecture à jeu d’instructions
1. Introduction
2. Équations de performance de l'UC
3. Unités de mesure des performances
4. Programmes de tests
5. Accélération des calculs, loi d’Amdahl
III. Hiérarchie mémoire
1. Loi de Moore, temps d’accès et temps de cycle mémoire,
2. Principes de localité
3. Notion de hiérarchie mémoire
4. Principe des mémoires cache
5. Les défauts de cache
6. Organisations des mémoires cache
7. Remplacement d'une ligne en cache
8. Écriture en mémoire cache
9. Niveaux de cache
10. Taille du cache
11. Mémoire virtuelle
IV. Microarchitectures pipelinées
1. Motivation
2. Principe du pipeline
3. Contraintes du pipeline
4. Aléas structurels et leur résolution
5. Aléas de données et leur résolution
6. Aléas de contrôle et leur résolution
7. Performances des systèmes pipelinés
Intitulé : Systèmes d'information et science de données Année: 2024/2025
P a g e | 37
Travail personnel :
TP1 : Hiérarchie Mémoire: Les mémoires caches
Outil : CPU-OS
Objectifs:
Manipuler deux différentes organisations de la mémoire cache à savoir la mémoire cache
à placement direct et la mémoire cache associative par ensemble
Comprendre les limites de l’organisation en placement direct
Expliquer l’effet de la taille du cache et son organisation sur la performance du cache
Références bibliographiques:
Parallel computer architecture, A Hardware/Software approach, David E. Culler, Jaswinder
PalSingh and Anoop Gupta, Morgan Kaufmann Publishers, ISBN: 1-55860-343-3, 1999.
Introduction to Digital Systems, Miloš Ercegovac, University of California at Los Angeles,
Tomás Lang, University of California at Irvine, Jaime Moreno, ISBN: 0-471-52799-8, Wiley
Publishers, 1999.
Objectifs de l’enseignement :
L’objectif de ce cours est de fournir les bases méthodologiques nécessaires à l’analyse et la
conception de systèmes d'information d'entreprise. Ce cours présente une méthode systémique en
cascade (MERISE 2, SADT, ,..). A l’issue de ce cours, l’étudiant maîtrisera les outils nécessaires à
l’analyse d’un système.
Contenu de la matière :
Chap 1 Les concepts de base
Introduction : vision globale de l’entreprise
L’information c’est quoi ?
les systèmes
l’organisation
les systèmes d’information
Chap 2 Les systèmes d’information
Introduction: notion de SI
Définitions
le rôle du SI dans une organisation
Informatisation du SI
Dématérialisation du SI
Finalités d’un SI
Fonctions principales d’un SI
Qualités d’un SI
Typologie des systèmes d'information
Le développement des SI
Les motivations de développement et facteurs de succès des SI:
Les échecs des SI
Les effets sur l’organisation
Les effets sur l’évolution des métiers et des compétences
Les effets sur les conditions de travail
Les indicateurs de mesure
Cycle de vie d’un SI
Problématique du changement
Chap 3 Étude préalable
Introduction
Problématique
Cadre de l’étude
Objectifs
Faisabilité
Conclusion.
Chap 4 : Analyse de l’existant
Introduction
Intitulé : Systèmes d'information et science de données Année: 2024/2025
P a g e | 41
Travail personnel :
Exercices sur l’analyse de l’existant, diagnostic, DCI, conception des documents, analyse des postes
de travail, analyse des procédures de travail, proposition de solutions, choix d’une solution et étude
conceptuelle de la solution retenue.
Références bibliographiques:
M. Diviné, Merise 2, Editions du Phénomène, 1994
N. B. Espinasse, « Ingénierie des systèmes d'information MERISE », Vuibert, 2001
J. Gabay, « Merise et UML pour la modélisation des SI », Dunod, 2002
J. Gabay, « Apprendre et Pratiquer MERISE », Masson Milan Barcelone, Mexico 1989
J. A. Kowal, « Analysing systems », Prentice Hall, 1988
J. L. Lemoigne, « La théorie du système général », PUF, 1977
Intitulé : Systèmes d'information et science de données Année: 2024/2025
P a g e | 42
Objectifs de l’enseignement :
Apprendre les langages de base du développement web HTML5, CSS3 et JavaScript, JQuery, PHP7
et Python.
Préparer l’étudiant à développer des applications front-end et back-end.
Gérer un projet web de bout en bout.
Contenu de la matière :
I. Introduction au développement web
1. Historique
2. Les langages du web (HTML, CSS, JavaScript)
3. Web statique et web dynamique
4. Les outils de développement web
II. Le langage HTML
1. Balises standard
2. Listes, Formulaires et Tableaux
3. Nouvelles balises HTML 5
III. La langage CSS
1. Introduction aux feuilles de styles
2. Règles générales
3. Effets visuels et animation
IV. Le langage JavaScript
1. Introduction à JavaScript
2. La bibliothèque JQuery
3. Les fondations d’AJAX
V. Développement web dynamiques avec PHP
1. Introduction au web dynamique
2. Déploiement d’applications sur un serveur web
4. Principaux concepts de PHP
5. Création d’applications web de bases de données
6. Développement MVC sous PHP7.
VI. Projet d’application WEB
1. Développement d’une application WEB basé sur des notions avancées
2. Développement avancée de modules pour CMS
Travail personnel :
Références bibliographiques:
Ian Lloyd, The Ultimate HTML Reference, 2008, SitePoint, ISBN 978-0-9802858-8-8.
Jon Duckett, HTML & CSS, Design and Build Websites, 2011, Wiley, ISBN: 978-1-118-
00818-8
Intitulé : Systèmes d'information et science de données Année: 2024/2025
P a g e | 44
Semestre : 06
Intitulé de l’UE : UEM 1.2
Intitulé de la matière : Introduction à la Sécurité Informatique
Coefficients : 2
Objectifs de l’enseignement :
Sensibiliser l’étudiant aux problèmes de sécurité informatique.
Présenter les aspects fondamentaux de la sécurité informatique.
Savoir réaliser des analyses de risque.
Comprendre le rôle et les limites de la cryptographie dans la protection de l’information
Familiariser l’étudiant avec les aspects de la cryptographie.
Découvrir le fonctionnement des primitives cryptographiques
Apprendre à les utiliser correctement et raisonner sur la sécurité (garantir un ou plusieurs services de
la sécurité)
Savoir utiliser quelques outils cryptographiques pour réaliser un service de sécurité.
Identifier et corriger les failles possibles aussi bien au niveau utilisation d’un système d’exploitation
qu’au niveau construction d’un logiciel.
Contenu de la matière :
Concepts de base sur la sécurité informatique
Introduction à la cryptographie
I. Généralités.
I.1 Contexte général.
I.2 Définition cryptographie/cryptanalyse
I.3 Objectifs de la cryptographie.
I.4 Les services de la sécurité.
II. Historique de la cryptographie avant l’ère de la technologie
II.1 La scytale.
II.2 Le cryptogramme de César.
II.3 La permutation de lettres.
II.4 Le chiffrement de Vigenère.
II.5 Le chiffrement de Hill.
II.6 Le chiffrement de Vernam
III. Cryptographie moderne.
III.1 Principes de Kerckhoffs
III.2 L'âge de la technique
III.3 Codage de l’information
IV. Chiffrement symétrique.
IV.1 Chiffrement par flots.
IV.2 Chiffrement par blocs.
IV.2.1 Le DES (Data Encryption Standard)
IV.2.2 L’AES (Advanced Encryption Standard)
Intitulé : Systèmes d'information et science de données Année: 2024/2025
P a g e | 46
TD/TP du chapitre II : Atelier OpenSSL pour utiliser la cryptographie au profit de la sécurité des
données et des échanges.
Travail personnel :
Mise en place du protocole HTTPS (serveur web sécurisé)
Exposé sur des thèmes relatifs à la sécurité informatique.
Apprendre à utiliser un logiciel de cryptographie (PGP/ Cryptool) pour réaliser un service de la
sécurité.
Références bibliographiques:
L. Bloch, C. Wolfhugel Sécurité Informatique (Principes et méthodes) Eyrolles, 2007
W. Talligs, « Sécurité des réseaux : Applications et Standards », Vuibert, 2002.
B. Schneier, « Cryptographie appliquée : Algorithmes, protocoles et codes source en C », Vuibert,
2002.
G. Dubertret, « Initiation à la cryptographie », Vuibert 1998.
A. J. Menezes, PC. van Oorschot SA. Vanstone HANDBOOK of APPLIED CRYPTOGRAPHY
CRC Press; Fifth Printing (August 2001)
Objectifs de l’enseignement :
Quel que soit le secteur d’activité, les activités à effectuer sont, de plus en plus souvent, organisées
en projets. Afin de maîtriser efficacement ces projets, les entreprises font évoluer leur organisation
en adoptant le mode projet, où le métier de Chef de Projet (Project Manager) devient essentiel.
L’objectif de ce module est de permettre aux étudiants d’acquérir une vision globale de tout projet
(cycle de vie, démarche, FCS, techniques&outils logiciels support). Les exemples porteront
particulièrement sur les projets informatiques ou TIC.
A l'issue des TD/TP, l'étudiant aura acquis les compétences lui permettant:
1. d'utiliser efficacement un outil de gestion de projet sur des cas pratiques afin de quantifier les
ressources en temps, matériels, moyens humains et en financements nécessaires au bon
déroulement d’un projet.
2. d'assimiler via des cas pratiques (mises en situation), l'importance de la réunion en mode
projet ainsi que l'introduction de la culture analyse des risques très tôt dans le projet.
Contenu de la matière :
I. Notion de Projet
Définitions et terminologie
Projet versus Processus
Évoluer en mode projet: 4 caractéristiques
Typologie des projets
Exemples réels de projets
Acteurs des projets (MOA, MOE, AMOA, ..)
Ratages des projets et plus particulièrement les projets informatiques
Facteurs clé de succès
Synthèse
II. Méthodologie générale de conduite de projets
Cadrer le projet : L’avant-projet
De l’idée à la note de cadrage
Conduire le projet
Méthodes de découpage des projets (PBS, WBS, OBS)
Planification du projet :Diagramme associés (Gantt/ Pert)
Analyse des risques liés au projet : Méthode générale
Organisation en mode projet : comités ? pourquoi et comment ?
Suivi de l’avancement et de la qualité
Conclure :Clôturer un projet
Recette et retour d’expérience
III. Animer une équipe projet
Animer une équipe projet : POURQUOI?
Exploiter le potentiel de l’équipe
Rôles joués par les membres
Réunion: Instrument au service de l’animation de l’équipe
Techniques de négociation conflits
Intitulé : Systèmes d'information et science de données Année: 2024/2025
P a g e | 48
Conclusion-synthèse
IV. Apport des référentiels et Bonnes pratiques
PMBOK,
PRINCE II
CMMi : Niveaux de maturité dans le développement de projets informatique
Recommandations:
TD/TP :
TD1: Retour d’expérience sur le projet réalisé par les étudiants en groupe.
TD2: Démonstration de l’Outil MsProject. Exercice d’élaboration d’un plan de tâches à partir
d’un cas réel (enchaînement, contraintes, criticité et affectation des ressources)
TD 3&4: Appel d’offre (Réponse technique et financière)
TD 5: Étude de cas: Analyse des risques.
TD6: Jeu de rôles: Animation d’une réunion (Cas lancement du projet «Intranet-Extranet
d’un laboratoire pharmaceutique»)
TD7: Échange sur l'apport des Référentiels (capsules vidéos)
Travail personnel :
Lecture d’articles
Préparation des rôles à jouer
Références bibliographiques:
PMBOK, « A Guide to the Project Management Body of Knowledge », 6th Edition, 2017,
par PMI http://www.pmi.org/
L. Bellenger, « Piloter une équipe projet : des outils pour anticiper l'action et le futur », ESF,
2004.
J.L.E Bissonnais, « Mangement de projet de A à Z: 1000 questions pour faire le point »,
AFNOR, 2003.
J.L.E Bissonnais, « Mangement des risques dans les projets», AFNOR, 2003.
F. Bouchaouir, Y. Dentinger, O. Englender, « Gestion de projet : 50 outils pour agir;
optimiser les trois variables du projet, coûts, délais et moyens », Vuibert, 2011.
J.C. Corbel, « Management de projet : Fondamentaux, Méthodes et outils », Ed. des
Organisations, 2006
A. Desroches, F. Marle, « Le management des risques des entreprises et de gestion de
projet », Hermès, 2010
A. Fernandez, « Le chef de projet efficace » Edition d’organisation, Paris, 2005
J. Gabay ; « Maîtrise d'ouvrage des projets informatiques : guide pour le chef de projet
MOA », Dunod, 2014.
T. Hougron&al., «La conduite de projets : les 101 règles pour piloter vos projets avec
succès », Dunod, 2009.
H. Marchat, Chef de projet, votre KIT tout terrain, Ed. D’Organisation, 2003
C. Morley, «Gestion d’un projet système d’information:principes, techniques, mise en œuvre
et outils», Dunod,2012.
S. Rynal, « Le management par projets : Approche stratégique du changement », Editions des
Organisations, 2006
T. PICQ T.« Manager une équipe projet », Dunod, 1999.
http://www.pmi.org/
http://www.projectissimo.com/
Objectifs de l’enseignement :
Le projet est proposé à un groupe de 6 étudiants. Il est encadré par deux enseignants internes. Il a
pour objectifs d'allier différentes disciplines pour apporter des solutions à un problème concret et
d’aider l’étudiant à mieux comprendre l’intérêt pratique de certains modules.
Contenu de la matière :
Le projet vise à entraîner les étudiants à lire un cahier des charges pour :
organiser leur travail compte tenu des contraintes imposées par le cahier des charges et des
tâches dévolues à chaque membre du projet,
chercher et exploiter la documentation dont ils pourraient avoir besoin et établir un lien entre
différents modules,
exploiter leurs connaissances dans différentes disciplines et faire preuve de créativité,
synthétiser les résultats de leurs travaux, rédiger un rapport et faire une présentation orale du
travail.
Objectifs de l’enseignement :
1. Communications écrites et orales portant sur des thèmes du domaine de l’informatique à
délivrer sous forme d’exposés.
2. Confection d’un cours (d’anglais) portant sur un aspect de la grammaire anglaise à délivrer
Contenu de la matière :
I. Activité une
1. Comment confectionner un exposé (sur la base d’informations recueillies sur le Web)
2. Comment présenter (communiquer) un Curriculum Vitae en public.
3. Soigner sa présentation (Ergonomie de la présentation)
II. Activité deux
1. Compréhension & Production écrites en situation de travail personnel
2. Aptitude à chercher l’information en vue de construire un cours de grammaire
Travail personnel :
Confection d’un exposé sous « PowerPoint », « Prezi », ou tout autre outil de présentation.
Recherche d’informations pour la construction d’un cours.
Références bibliographiques:
https://segue.middlebury.edu/view/html/site/fren6696a-l08/node/2827590
http://www.restode.cfwb.be/francais/profs4/04Reflexions/Download/JPH-Fondements-
Didactique.pdf
Objectifs de l’enseignement :
Ce cours présente l'idée de base de l'apprentissage automatique : apprendre à un
ordinateur à apprendre des concepts à l'aide de données, sans être explicitement
programmé. Le cours fournit une large introduction à l'apprentissage automatique et à la
reconnaissance statistique de formes. Les sujets traités comprennent : l'apprentissage
supervisé (apprentissage génératif / discriminatif, apprentissage paramétrique / non
paramétrique, réseaux neuronaux, machines vectorielles de soutien); apprentissage non
supervisé (clustering, réduction de dimensionnalité, méthodes de noyau); et des sujets
dans la théorie de l'apprentissage, y compris le biais inductif et le compromis biais /
variance. Le cours fournit des conseils pratiques sur la construction de systèmes
d'apprentissage automatique et applique ces concepts dans le contexte d'applications telles
que l'exploration de données, la bioinformatique et le traitement de données texte et Web.
Le cours aborde la gestion des données et la mise en œuvre de méthodes d'apprentissage
automatique à l'aide de NumPy, Pandas, Seaborn et scikit-learn.
Contenu de la matière :
1. Introduction à l'apprentissage automatique
2. l'apprentissage supervisé
3. Régression linéaire
4. Régression linéaire avec une variable
5. Revoir l'algèbre matricielle
6. Régression linéaire avec plusieurs variables
7. Régularisation
8. Évaluation et sélection du modèle
9. Optimisation des paramètres du modèle (réglage des hyper-paramètres)
10. Apprentissage non supervisé
11. Conception du système d'apprentissage automatique
Travail personnel :
Références bibliographiques:
Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow, Aurélien Géron,
O'Reilly Media, 2019.
Fundamentals of Machine Learning for Predictive Data Analytics Algorithms, Worked
Examples, and Case Studies, John D. Kelleher, Brian Mac Namee, Aoife D'Arcy, MIT
Press, 2015.
Objectifs de l’enseignement :
Contenu de la matière :
Chapitre 1 Les NTIC
1. Web 2.0
1.1 Origines
1.2 Définitions
1.3 Principes
1.4 Services et applications
• Blogs, Fils RSS, Folksonomie, Wikis, Réseaux sociaux, Sites departage, Bureaux virtuels, cartes
heuristiques
Chapitre 2 Urbanisation
• 2.1 Urbanisation des SI
Vision Métier
Vision Fonctionnelle
Vision Applicative
Vision Technique…
2.2 Référentiel & Urbanisation
2.3 Architectures de SI
2.4 L’EAI
Chapitre 3 Business Process Management (BPM) and Worwflow
3.1 BPM
– Définition du BPM
– Modélisation BPMN
– Les briques de la modélisation
– Des patterns dans le contrôle du flot
– Le couple BPM – SOA
– Les différentes solutions de mise en ouvre de processus métier
– Solution BONITA
3.2 Le workflow
-Définition:
– Moteur Workflow
Travail personnel :
Références bibliographiques:
Objectifs de l’enseignement
L’objectif de ce cours et de doter les étudiants du bagage nécessaire en matière de notions
mathématiques fondamentales pour cette formation. Après un rappel des concepts de
l’algèbre linéaire, les méthodes de résolution des systèmes linéaires et factorisation des
matrices sont abordées. Une grande partie du programme est consacrée à l’optimisation
non linéaire sans contraintes où les méthodes telles que celles du gradient sont utilisées
pour l’apprentissage des modèles neuronaux.
Contenu de la matière :
I. Calcul numérique
1. Rappels sur l’Algèbre linéaire, matrices et vecteurs (Opérations sur les
matrices, valeurs et vecteurs propres, normes, produit scalaire, distance)
2. Changement de base et transformation matricielle.
3. Factorisation de matrices LU et SVD.
4. Méthodes itératives de résolution des systèmes linéaires (Jacobi, Gauss-
Saidel, relaxation)
II. Optimisation sans contraintes
1. Fonctions multivariées et rappels de calcul différentiel (dérivé partiel et dérivé
directionnel, vecteur gradient, Hessienne et Jacobien)
2. Expansion de Taylor.
3. Problème général d’optimisation continue et caractérisation des points
optimaux.
4. Algorithmes de minimisation sans contraintes ( Méthodes de gradient).
5. Problèmes liés à l’optimisation des réseaux de neurones (conditionnement,
minima locaux, points selle, etc.)
Travail personnel :
Références bibliographiques:
Objectifs de l’enseignement
Ce module présentera les technologies fondamentales pour la représentation numérique d'image /
vidéo et la vision industrielle. Cela introduira la compression, l'analyse et le traitement dans les
systèmes de vision. Les étudiants acquerront une compréhension de l'algorithme, de la conception du
système d'imagerie, des outils analytiques et des implémentations pratiques de divers algorithmes
d'images numériques et de leur application ultérieure à des problèmes de vision industrielle du
monde réel. Acquisition d'image. Amélioration de l'image, compression et segmentation. Traitement
d'image. Méthodes multirésolution, traitement des couleurs, reconnaissance d'objets, vision
industrielle et techniques d'apprentissage automatique appropriées.
Contenu de la matière :
1. Introduction : Représentation d'image et couleur.
2. Transformations d'images géométriques. Coordonnées homogènes.
3. Déformation d'image. Interpolation. Mesures de qualité d'image.
4. Filtrage d'image. Aliasing. Détection de flou, de netteté et de bord. Noyau gaussien et ses
dérivés. Pyramides à échelle spatiale. Limitation.
5. Reconnaissance d'objets classique. Points d'intérêt, fonctionnalités du domaine Gradient et
Sac de mots.
6. Convolutional Neural Networks (CNNs).
7. Genereative Adversarial Networks (GANs).
Travail personnel :
Références bibliographiques:
Computer Vision: Algorithms and Applications, Richard Szeliski, Springer, 2021.
Computer Vision: Models, Learning, and Inference, Simon J D. Prince, Cambridge
Press, 2012.
Objectifs de l’enseignement :
Le cours bases de données avancées permet l’introduction de concepts avancés du domaine des
bases de données. Ce cours permet à l’étudiant d’approfondir ses connaissances des bases de
données relationnelles et d’en acquérir de nouvelles sur d’autres types de données et de traitements
de ces données notamment le décisionnel et les données semi-structurées.
A l’issue du cours, l’étudiant sera en mesure de :
Maîtriser les concepts avancés de la programmation SQL
Comprendre l’architecture d’un SGBD relationnel
Concevoir et implémenter des BDD multidimensionnelles.
Concevoir et manipuler les données semi structurées de type XML
Avoir une connaissance sur les différents types de bases de données existantes.
Contenu de la matière :
I Architecture des SGBD Relationnels
1. Vue d’ensemble de l’architecture des SGBD
2. Traduction et optimisation des requêtes
3. Accès concurrents et gestion des transactions
4. Structures de stockage et d’indexation des données
II. Programmation SQL Avancée
1. Fondements du SQL programming
2. Les Triggers
3. Les fonctions et procédures stockées
4. Traitement et gestion des erreurs
III. Le modèle Objet-Relationnel
1. Présentation du modèle Objet
2. Présentation du modèle Relationnel-Objet
3. Concepts du modèle RO (types complexes, héritage…)
4. Interrogation des BDD Relationnelles-Objet (SQL3)
IV. Les entrepôts de données (DATAWAREHOUSE)
1. Présentation de la Business Intelligence (BI) : Concepts, Architecture et plateformes ;
2. Modélisation multidimensionnelle des données ;
3. Démarches de construction des entrepôts de données ;
4. Création et manipulation des entrepôts de données avec les langages SQL et MDX ;
V. Les bases de données semi structurées
1. Présentation du langage XML
2. Structure des documents XML(XML Schema& DTD)
3. Construction et manipulation des documents XML (Parsing, Xlink, XPointer, DOM et
SAX)
4. Interrogation des documents XML (Langage XPath et XQuery)
5. Systèmes natifs de gestion des bases de données XML
VI. Bases de données avancées
1. BDD Réparties
Travail personnel :
Références bibliographiques:
A. Meier. Introduction pratique aux bases de données relationnelles (Deuxième édition)
C.Imhoff, J.G. Geiger, N.Galemmo. Mastering DataWarehouse Design Relational and
Dimensional Techniques
S.KorthSudarshan. Database System Concepts, Fourth Edition
Gunderloy, Mike etSneath, Tim. SQL Server Developer’s Guide to OLAP With Analysis
Services. Sybex, 2001. Cet ouvrage constitue une référence sur la programmation OLAP
avec SQL Server 2000.
Objectifs de l’enseignement
Ce cours présente une gamme de sujets dans l'exploration et l'analyse de données avec un
concentration sur la visualisation et sa puissance dans la compréhension des modèles et des données.
Le cours aborde le rôle des données dans la méthode scientifique et la différence entre la recherche
basée sur les données et la recherche basée sur des hypothèses. Le cours compare l'analyse et la
visualisation des données descriptives, exploratoires et de confirmation à travers des exemples
pratiques et des études de cas. Le cours guide les étudiants à travers différentes étapes de
chargement, de transformation, d'imputation et de traitement des données avec différents types de
données univariées, multivariées et chronologiques et discute des outils de modèles utilisés pour
chaque type. Le cours fournit aux étudiants des lignes directrices et des outils pour obtenir,
échantillonner et segmenter des données et construire des visualisations informatives en
sélectionnant le type de tracé ou de graphique approprié en fonction de l'ensemble de données, de
l'exigence du problème ou de la question de recherche. Le cours forme les étudiants à revoir de
manière critique une analyse de données donnée, à reconnaître les visualisations trompeuses et à
discuter de leurs conséquences éthiques. Le cours donne un aperçu des données hautement
dimensionnelles et des défis associés à la gestion et à l'analyse de ces données et algorithmes et
outils de cartographie et de projection de données à des fins de réduction et de visualisation. Le
cours utilise principalement R et Python pour l'analyse et la visualisation des données et fournit une
brève exploration d'autres outils tels que les graphiques Google..
Contenu de la matière :
1. La puissance cognitive de la visualisation
2. Introduction à l'analyse exploratoire des données avec visualisation de données en Python
3. Données univariées, bivariées et multivariées: visualisation, corrélation, régression et
puissance de l'interprétation géométrique
4. Comment obtenir des données? Échantillonnage et segmentation des données
5. Sujets dans le domaine des données: échantillonnage, biais et visualisations trompeuses
6. Études de cas: Vaxxed (documentaire), Art: Que voyez-vous?
7. Visualisation dans la recherche: IA explicable, interprétation des modèles neuronaux,
compréhension et test des performances des modèles
Travail personnel :
Références bibliographiques:
Better Data Visualizations: A Guide for Scholars, Researchers, and Wonks,
Jonathan Schwabish, Columbia Press, 2021.
Objectifs de l’enseignement
L’objectif attendu des stagiaires est de participer à l’étude et l’analyse d’un problème réel issu du
milieu professionnel et éventuellement proposer des scénarios d’amélioration.
Sous-objectifs sur le plan apprentissage :
Mise en pratique des notions apprises
Développer l’esprit d’analyse
Développer l’esprit de synthèse
Sous-objectifs sur le plan du développement personnel
Expérience de la vie
Respect des consignes académiques et professionnelles
Contenu de la matière :
I. Une présence en milieu professionnel
II. Une rédaction d’un rapport de stage
III. Une présentation devant un jury d’enseignants
IV. Auto-évaluation de l’expérience (participation a un sondage post-stage)s notions avancées de ce
qui a été vu en cours
Travail personnel :
Une recherche de sujet auprès des entreprises
Négociation des objectifs à atteindre
Références bibliographiques:
Objectifs de l’enseignement :
Data scientists can experience huge benefits by learning concepts from the field of software
engineering, allowing them to more easily reutilize their code and share it with collaborators. In this
course, you’ll learn all about the important ideas of modularity, documentation, data analysis &
automated ML deployment, and you’ll see how they can help you solve Data Science problems
quicker and in a way that will make future you happy. You’ll even get to use your acquired software
engineering chops to write your very own Python package for performing text analytics.
Why should you as a Data Scientist care about Software Engineering concepts? Here we’ll cover
specific Software Engineering concepts and how these important ideas can revolutionize your Data
Science workflow!
1.Learn to use Pandas, NumP, SciPy, etc for Data Analysis and Numerical Data
2.Learn to use Matplotlib and Seaborn for statistical plots
3.Learn to use Falsk for web application development and ML deployment … Ect
Contenu de la matière :
Introduction to Python
1. Introduction to Jupyter Notebook & Data Types (integer, float, boolean, string, etc)
2. Variables, Lists, Tuples and Dictionaries
3. IF Statement and FOR loop
4. Functions & Modules
5. Object Orientated Programming and Classes
Python for Data Analysis
1. Data Processing with Pandas
2. Data Processing with Numpy
3. Data manipulation with SciPy
Python for Data Visualization
1. Data Visualization with Matplotlib
2. Data Visualization with Seaborn
Web Application with Flask
1. Full MVC application with flask
2. Building RESTful Web Service with Flask
Deployment of a ML model
Travail personnel :
Références bibliographiques:
Objectifs de l’enseignement :
Concevoir, mettre en œuvre et administrer des infrastructures
Étude des principaux outils d’aide à la décision :
o Analyser les menaces et les vulnérabilités d'un système
o Définir et mettre en œuvre une politique de sécurité
o Organiser la sécurité d'un système d'information au sein de l’entreprise
o Exploiter des outils d'analyse de risques de sécurité informatique
Contenu de la matière :
I. Introduction
1.1. Terminologie du domaine
1.2. Fondements théoriques de la sécurité des systèmes d’information (SSI)
IV. Méthodologie
IV.1. La méthode INCAS-MESSIE
IV.2. Une approche systémique identification des risques
IV.3. Étude comparative des méthodes d'analyse des risques
IV.2. La méthode EBIOS
Travail personnel :
- Application de la méthode INCAS sur un cas pratique.
- Application de la méthode EBIOS sur un cas pratique.
- Étude de cas pratique PCA.
Références bibliographiques:
B. Foray, « La fonction RSSI, Guide des pratiques et retours d'expérience », DUNOD, 2007. T.
Harlé, F. Skrabacz, « Clés pour la sécurité des Systèmes d’Information », Hermès, 2004
M. Bennasar, A. Champenois, P. Arnould, T. Rivat, « Manager la sécurité du SI, Planifier,
Déployer, Contrôler, Améliorer », DUNOD,2007.
R. Chalal, B. Berrouane, « Une approche basée sur les connaissances risques pour la prise en
compte de la sécurité des systèmes d’information lors de la conception », 3ème Ecole
Intitulé : Systèmes d'information et science de données Année: 2024/2025
P a g e | 68
Informatique de Printemps, Sécurité Informatique : Tendances et Applications, INI, Alger, du 17
au 19 Juin 2006.
L. Kecir, « Une approche pour la sécurisation du processus de conception des systèmes
d'information », mémoire magister, ESI 2009.
www.clusif.asso.fr
Objectifs de l’enseignement
Dans ce cours, l'étudiant acquerra une compréhension fondamentale de l'apprentissage en
profondeur et acquiert une expérience pratique en résolvant des tâches pratiques et réelles à l'aide de
techniques de pointe liées à la vision par ordinateur, au traitement du langage naturel, à la prédiction
de séquence et les systèmes de recommandation. Les principaux sujets abordés dans ce cours
comprennent les réseaux de neurones convolutifs, les réseaux de neurones récurrents, les auto-
encodeurs et les réseaux antagonistes génératifs. L'étudiant apprendra également les meilleures
pratiques en matière d'inspection, de surveillance et d'optimisation des systèmes d'apprentissage en
profondeur.
Contenu de la matière :
1. Réseaux de neurones.
2. Qu'est-ce que le Deep Learning?
3. Les différentes architectures du deep learning :
a) MLP
b) RNN
c) CNN
d) Autoencoder
e) GAN
f) LSTM
g) DBM
4. Entraînement du réseau, Backpropagation, Gradient descent
5. Meilleures pratiques avancées d'apprentissage en profondeur
6. Applications du DL.
Travail personnel :
Références bibliographiques:
Deep Learning, Ian Goodfellow, Yoshua Bengio, Aaron Courville, MIT Press, 2016.
Grokking Deep Learning, Andrew Trask, Manning, 2019.
Deep Learning from Scratch: Building with Python from First Principles, Seth Weidman, O'Reilly
Media, 2019.
Objectifs de l’enseignement
Introduire les systèmes d’exploitation mobiles et faire la différence avec les systèmes d’architecture
classiques
Présenter le système Android et son environnement de développement
Introduire le langage de programmation Kotlin
Développer une interface mobile en utilisant les ressources et les dispositions
Concevoir et implémenter une application mobile manipulant des fichiers
Concevoir et implémenter une application mobile manipulant des données stockées sur une base de
données locale
Concevoir et implémenter une application mobile connectée à un backend
Concevoir et implémenter une application mobile manipulant des éléments multimédia (audio,
vidéo)
Concevoir et implémenter une application mobile émettant des notifications
Concevoir et implémenter une application mobile avec des services en arrière-plan
Concevoir et implémenter une application mobile interagissant avec d’autres applications mobiles à
travers les fournisseurs de contenu ou les récepteurs d’évènements
Contenu de la matière :
Chapitres :
I. Généralités sur le développement Mobile
1. Historique
2. Environnements mobiles
3. Dispositifs mobiles
II. Introduction à Android
1. Historique
2. Le système Android et son architecture
3. L’environnement de développement Android
III. Introduction à Kotlin
1. Notions syntaxiques de Kotlin
2. Programmation orientée objet avec Kotlin
3. Création d’applications en ligne de commande avec Kotlin
IV. Création d’Interfaces avec Android
1. Le fichier manifeste
2. Les ressources
3. Les applications
4. Les activités
5. Les vues
6. Les fragments
7. La navigation
Références bibliographiques:
Documentation for app developers, https://developer.android.com/docs
Objectifs de l’enseignement
Comprendre les fondamentaux du Big Data : Introduction au concept de Big Data, ses
caractéristiques, ses défis et ses opportunités.
Apprentissage des technologies et outils du Big Data : Enseigner aux étudiants les différentes
technologies et outils du Big Data tels que Hadoop, Spark, Hive, Pig, Kafka, etc., et comment ils
sont utilisés pour traiter, stocker et analyser de grands volumes de données.
Ingestion et stockage des données : Comprendre les différentes techniques d'ingestion de données
et les solutions de stockage pour le Big Data, y compris les systèmes de fichiers distribués comme
HDFS et les systèmes de stockage d'objets comme Amazon S3.
Contenu de la matière :
Overview of Big Data concepts and challenges
Characteristics of Big Data: volume, velocity, variety, veracity, and value
Overview of Big Data technologies and tools: Introduction to Hadoop ecosystem: HDFS,
MapReduce, YARN
Introduction to Apache Spark: RDDs, DataFrames, Spark SQL
Techniques for ingesting data into Big Data platforms: Distributed file systems: HDFS,
Amazon S3, Google Cloud Storage
Data Processing and Analysis: Introduction to data processing with MapReduce
Introduction to data processing with Spark
Tools for data visualization: Tableau, Power BI, matplotlib
Travail personnel :
Références bibliographiques:
Data Science and Big Data Analytics: Discovering, Analyzing, Visualizing and Presenting
Data, EMC Education Services, 2015.
Big Data For Dummies, Judith S. Hurwitz , Alan Nugent, Fern Halper, Marcia Kaufman ,
For Dummies, 2013.
Objectifs de l’enseignement
L'objectif de ce cours est de doter les étudiants des connaissances nécessaires dans la conception de
base d'un système TALN. Ce cours vise également à permettre aux étudiants de discuter et de
comprendre les performances des applications TALN telles que la traduction automatique,
l'extraction d'informations, Résumer le texte, la reconnaissance vocale, la vérification
orthographique, la recherche de mots-clés..., Les applications TALN sont très importantes et
fréquemment utilisées dans l'intelligence artificielle IA et l'apprentissage automatique.
Contenu de la matière :
I. Introduction
Brève histoire du traitement automatique du langage naturel
Les mots et les expressions régulières et les automates.
Morphologie et Transducteurs d’états finsi.
Pholologie Calculatoire et Text-to-Speech.
Modèle probabiliste de la prononciation et de la correction d’orthographes.
Modèles n-grammes
II. Syntaxe : Les techniques utilisées en TALN
Classes de mots et Part-of-Speech Taggin.
Analyse syntaxique probabiliste
Codage TF-IDF
III. Sémantique
Analyse sémantique latente.
Analyse sémantique.
IV. Principales approches en TALN
Méthodes basées sur des règles (Expressions régulières, Grammaire non contextuelle …)
Apprentissage automatique (Maximisation de vraisemblance, classificateurs linéaires…)
Apprentissage profond (Réseaux de neurones récurrents, Réseau neuronal convolutif…)
V. Les applications de TALN
Traduction automatique
Extraction d'informations
Résumer le texte
VI. Traitement automatique de la langue arabe
Travail personnel :
Références bibliographiques:
Natural Language Processing with Python: Analyzing Text with the Natural
Language Toolkit, Steven Bird , Ewan Klein , Edward Loper, O'Reilly Media,
2009.
Objectifs de l’enseignement :
Ce cours regroupe deux parties : les design patterns et l’Ingénierie dirigée par les modèles (IDM) :
Pour la première partie, l’objectif ciblé est d’introduire les design patterns et de les appliquer dans
des contextes réels afin de résoudre des problèmes particuliers de conception en suivant le principe
de la réutilisation.
L’objectif de la seconde partie est d’apprendre aux étudiants : l’acquisition des connaissances
élémentaires en IDM, l’étude d’outils de support à l’IDM et première expérience en développements
par méta-modélisation.
L’application des principes acquis durant ce module s’effectueront durant le déroulement des projets
de la spécialité.
Contenu de la matière :
Partie 1 :
1. Rappel sur quelques notions sur la POO
2. Introduction aux design patterns
3. Patterns du Gang Of Four
– Patterns créationnels
– Patterns structuraux
– Patterns comportementaux
– Patterns GRASP
– Architecture MVC
– Autres design patterns
Partie 2 :
1. MDA : Principes et Architectures
•Objectifs
•Définition
•Architecture MDA
•Les modèles de MDA
CIM
PIM
PSM
PDM
2. Les langages de méta-modélisation.
•Définition de méta-modèles
•Architecture MOF de l’OMG
•Langages de métamodélisation
MOF
Ecore
Profils UML
3. Langage de transformation des modèles
Mécanisme de la transformation de Modèles basés sur la méta- modélisation
Langages de transformation de modèles
Travail personnel :
Références bibliographiques:
Objectifs de l’enseignement :
Ce cours a pour objectif d’initier les étudiants à l’administration de base de données Oracle 12c. Les
étudiants apprendront à installer, configurer et maintenir un SGBD. Ils seront sensibilisés aux enjeux
de la disponibilité et de la sécurité de ceux-ci. Ils verront également quelles sont les tâches les plus
fréquentes à réaliser dans le métier de DBA. A l’issue du cours, l’étudiant sera en mesure de :
Contenu de la matière :
1. Introduction à l’administration des bases de données
a. Architecture générale du SGBD ORACLE 12c
b. Installation et gestion avancées des instances
c. Configuration de l’environnement réseau
5. Techniques avancées
a. Gestion des performances
b. Optimisation du stockage
c. Automatisation des tâches avec Oracle Scheduler
Travail personnel :
Références bibliographiques:
Objectifs de l’enseignement
Le projet est proposé à un groupe de 4 étudiants au plus. Il est encadré par au moins un enseignant
interne. Il a pour objectif de réponde à un ensemble d’exigences rédigées dans un cahier de charge
pour donner des solutions à un problème concret qui rentre dans le cadre de la spécialité.
Le projet vise également à entraîner les étudiants à :
organiser leur travail compte tenu des contraintes imposées par le cahier des charges et des
tâches dévolues à chaque membre du projet,
exploiter leurs connaissances dans différentes matières de la spécialité et faire preuve de
créativité,
proposer des solutions conceptuelles, architecturales, et réaliser un prototype
rédiger un rapport et faire une présentation orale du travail.
Contenu de la matière :
Un projet de développement mettant en jeu les connaissances des modules enseignés drant les annes
de la spécialité,
Travail personnel :
Évaluation formative
a. Livrables
b. Présentation
c. Implication
Références bibliographiques:
Objectifs de l’enseignement :
Étudier les méthodes de résolution des problèmes d’optimisation combinatoire en allant des
méthodes simples aux techniques avancées utilisant le machine Learning, en passant par les
méthodes parallèles et hybrides.
Montrer l’applicabilité effective des méthodes présentées à des problèmes pratiques.
Se rendre compte des limites de chaque famille de méthodes d’optimisation et de leur
dépendance des différents paramètres en entrée, d’où la nécessité de proposer de nouveaux
paradigmes (méthodes hybrides, parallèles, hyperheuristiques, apprentissage automatique)
Contenu de la matière :
Chapitre 1 : Introduction à l'optimisation combinatoire
1. Problèmes d'optimisation combinatoire
2. Classification des problèmes d'optimisation (en fonction de leur complexité)
3. Quelques problèmes NP-difficile
-Problèmes de tournées (TSP, ordonnancement, tournées de véhicules)
-Problèmes d'affectation (Max-Sat, Knapsack, Bin Packing, graph Coloring)
Chapitre 5 : Hyperheuristique
1. Introduction : Pourquoi l'hyperheuristique ?
2. Hyperheuristique basée sur la génération
3. Hyperheuristique basée sur la génération
4. Hyperheuristique avec apprentissage
Travail personnel :
Un projet sous forme de TP présentiel dont l’objectif est de développer une application permettant
de résoudre des problèmes d’optimisation combinatoires difficiles. Celle-ci doit être flexible dans le
sens où de nouvelles méthodes de résolution, et de nouveaux problèmes peuvent y être rajoutées au
fur et à mesure. Un autre objectif non des moindres, est de montrer les limites des méthodes exactes,
l’applicabilité effective des méthodes approchées à des problèmes réels difficiles et leur dépendance
aux instances et paramètres utilisés, ainsi que l’impact des techniques d’intelligence artificielles
telles que l’apprentissage automatique, pour améliorer les performances de ces méthodes.
Références bibliographiques:
Gendreau, M., & Potvin, J. Y. (Eds.). (2010). Handbook of metaheuristics (Vol. 2, p. 9). New
York: Springer.
Talbi, E. G. (2009). Metaheuristics: from design to implementation (Vol. 74). John Wiley&
Sons.
Calvet, L., de Armas, J., Masip, D., & Juan, A. A. (2017). Learnheuristics: hybridizing
metaheuristics with machine learning for optimization with dynamic inputs. Open
Mathematics, 15(1), 261-280.
Birattari, M., &Kacprzyk, J. (2009). Tuning metaheuristics: a machine learning
perspective (Vol. 197).
Mirjalili, S., & Dong, J. S. (2020). Multi-objective optimization using artificial intelligence
techniques. Springer.
Hao, J. K., &Solnon, C. (2014). Méta-heuristiques et intelligence artificielle.
Talbi, E. G. (2002). A taxonomy of hybrid metaheuristics. Journal of heuristics, 8(5), 541-
564.
Objectifs de l’enseignement :
Préparer l’ingénieur avec un code moral et des principes d’éthique
Inculquer les principes de conduite professionnelle au sein d’une organisation.
Contenu de la matière :
I. Responsabilités vis-à-vis de la société et de la compagnie
II. Modèles de professionnalisme
III. Éthiques et pratiques
Travail personnel :
Références bibliographiques:
Brennan, L.L., and V.E. Johnson. 2004. Social, ethical and policy implications of
information technology: Information Science Pub.
Bott, F. 1996. Professional issues in software engineering: UCL Press.