Documente Academic
Documente Profesional
Documente Cultură
UE 19 (MÉTHODOLOGIQUE) 2
ANGLAIS 4 1H30 1
FRANÇAIS 1H30 1
TOTAL (25H, 30 CRÉDITS) 12H 9H 4H3 30
0
Semestre 3
UEI7 (Fondamentale) 14 crédits
Architecture des Ordinateurs
Objectif :
Le module se décompose en trois grandes parties : La première partie porte sur
l'architecture externe d'un processeur 32 bits, et insiste sur la définition de l'interface
matériel / logiciel et la programmation en assembleur. On illustre les concepts sur
l'exemple du processeur industriel MIPS R3000. La seconde partie consiste en un rappel
des fondements théoriques des systèmes matériels numériques synchrones. La troisième
partie présente l'architecture interne du processeur MIPS R3000, dans une réalisation
micro-programmée. On peut résumer les objectifs de la façon suivante :
1
Définir l'interface matériel / logiciel et introduire les concepts de langage
machine et de langage d'assemblage. Initier les étudiants à la programmation
en langage d'assemblage.
Programme :
La machine de Von Neuman. Les relations entre le processeur et la mémoire.
Le concept d'instruction et de langage machine. La représentation des
différents types de données en mémoire.
Architecture externe du microprocesseur 32 bits MIPS R3000 : Les registres
visibles du logiciel. L'adressage et la structuration de l'espace adressable. Le
langage d'assemblage du processeur MIPS R3000.
La programmation structurée et les appels de procédures : L'utilisation de la
pile pour les variables locales, les sauvegardes de contextes, et le passage des
paramètres. Le rôle du compilateur et le partage des tâches entre le matériel et
le logiciel.
Les deux modes utilisateur / superviseur comme support matériel au
fonctionnement multi-tâches et multi-utilisateurs : Le rôle du système
d'exploitation. Le traitement des interruptions, exceptions et trappes.
Architecture générale d'un ordinateur moderne. Rôle des mémoires cache et
hiérarchie mémoire. Communications entre le processeur et les organes
périphériques. Rôle du bus système et mécanismes d'entrées/sorties.
Algèbre de Boole. Simplification des sommes, des produits booléens.
Correspondance entre expressions booléennes et implantation matérielle.
Réalisation des principaux opérateurs combinatoires.
Logique séquentielle. Modélisation des systèmes numériques synchrones,
réalisation des registres et mémoires. Notions de temps de propagation / temps
de pré-établissement / temps de maintien.
Théorie des automates d'état synchrones comme modèle général des systèmes
numériques synchrones. Synthèse et implantation matérielle des automates de
Moore et de Mealy.
2
Architecture interne du microprocesseur MIPS R3000 microprogrammé :
Décomposition entre partie opérative et microséquenceur centralisé. Principe
de la microprogrammation.
Description structurelle complète de la partie opérative du processeur :
registres, opérateurs de calcul, bus de communications, en utilisant les
opérateurs matériels introduits dans la seconde partie du cours.
Modélisation et réalisation du micro-séquenceur comme un automate d'état
synchrone. Correspondance entre microprogramme et automate.
Microprogrammation effective de quelques instructions.
Référence bibliographique :
Architecture des ordinateurs : Interface Matériel / Logiciel David Patterson /
John Hennessy.
Algorithme de Dijkstra.
Références bibliographiques
3
Introduction to Algorithms; Cormen, Leiserson et Rivest; Wiley.
Eléments d'Algorithmique; Berstel, Beauquier et Chrétienne; Masson.
Types de données et algorithmes; Gaudel, Froidevaux et Soria; INRIA.
Systèmes d’Information
Objectifs : Ce cours s’articule autour de trois parties essentielles : le monde de
l’entreprise, les outils d’analyse fondamentaux et l’introduction aux systèmes
d’information.
Programme
Définition d’une organisation.
L’entreprise (différentes formes de structure, principales fonctions de
l’entreprise, les différents sous systèmes de l’entreprises).
L’entreprise et la technologie de l’information et communication : parler des TIC
et de leurs rôles quant à l’amélioration de la qualité des systèmes.
Les outils d’analyse (notion d’information, représentation de l’information,
codification, contrôle, cout de stockage et de transport de l’information,
confidentialité).
Fichiers.
Probabilités Statistiques
1. Théorie des Probabilités
Introduction au calcul de probabilités: notion d’événement aléatoire,
définition classique et axiomatique de la probabilité ; indépendance
d’événements et probabilité conditionnelle (probabilité totales et formules de
bayes).
4
Variables aléatoires(discrètes et continues) :densité de probabilité et fonction
de répartition ;moments(espérance mathématique ,dispersion…) ;lois de
probabilités usuelles(Binomiale, Géométrie ,Poisson),approximation de la loi
Binomiale par une loi de Poisson,(Uniforme ,Exponentielle ,Normale ou
Gauss).
Fonction de variables aléatoires, fonction caractéristique, fonction
génératrice, transformée de Laplace.
Vecteurs aléatoires : Etude élémentaire d’un couple de variables aléatoires,
lois conjointe et marginale, covariance et corrélation, loi conditionnelle, loi
normale multidimensionnelle.
Modes de convergence(en probabilité, presque sure) ;loi des grands nombres,
théorèmes de limite central .
2. Statistique inférentielle
Echantillonnage: constitution d’échantillon, moments empiriques,
distributions d’échantillonnage.
Estimation: estimation ponctuelles (qualité d’un estimateur, construction
d’estimateurs par la méthode des moments et la méthode du maximum de
vraisemblance), intervalles de confiance.
Tests d'hypothèses: principe de construction de tests basés sur les intervalles
de confiances ; tests de moyennes et de proportion ; test de la variance ;tests
du Khi-deux(d’ajustement et d’indépendance).
Logique Mathématique
Objectifs : Ce cours a pour objectif de donner aux étudiants des notions de calculabilité
et les bases de la logique formelle a partir de l’étude de la logique proportionnelle.
Programme :
a. Calculabilité
1. Les fonctions récursives et les fonctions primitives récursives.
2. Les machines de Turing.
3. Thèse de Church.
b. Le calcul propositionnel
1. Le langage.
2. Déduction de Gentzen.
3. La sémantique.
4. Théorème de consistance et de complétude.
5. Algorithme de réfutation.
5
c. Calcul de prédicat
1. Le langage.
2. Déductions.
3. Interprétation.
4. Formes prenexes et forme de Skolem.
UEI9 (méthodologique) 4 crédits
Anglais 3
Techniques d’expression orale : exposé, soutenance et communication en groupes.
Cognition
Objectifs (compétences visées) : ce cours a pour objectif de permettre à l’étudiant
d’approfondir ses connaissances dans le domaine de la cognition tel que le rapport de la
représentation et extraction des connaissances avec la cognition, traitement du langage
naturel et la vision.
Programme
1) Science cognitive
a. Nature de la science cognitive
b. Ordinateurs dans la science cognitive
c. Science cognitive appliquée
d. Nature pluridisciplinaire de la science cognitive
2) Intelligence artificielle
a. La nature de l’IA
b. Représentation des connaissances
c. Extraction des connaissances
Semestre 4
UEI10 (Fondamentale) 16 crédits
Bases de données
Objectif:
Comprendre les objectifs, les architectures et les langages de bases de données.
Maîtriser les fondements théoriques et les algorithmes de base des systèmes de gestion
de bases de données, depuis la conception de base de données jusqu'au traitement de
requêtes et la gestion de transactions. Le module s'appuie sur le modèle relationnel et
les langages associés, en particulier SQL et sur le SGBD, ORACLE par exemple.
Programme :
Introduction: besoin de SGBD dans les applications, objectifs des SGBD,
modélisation des données et niveaux d'abstraction, modélisation Entité
Association.
Modèle relationnel: les concepts (schéma de relation, attributs, domaine, n-uplet),
l'algèbre relationnelle (opérateurs de base et opérateurs dérivés), passage d'un
modèle entité-association à un modèle relationnel.
Conception et optimisation de schéma relationnel : notion de redondance,
dépendance fonctionnelle, déduction (axiome d'Armstrong) et couverture minimale,
formes normales.
Introduction à la logique: notions de système formel, mécanisme de déduction et
théorèmes, calcul propositionnel.
7
Logique pour bases de données relationnelles : calcul des prédicats, calcul
relationnel à variable n-uplet, calcul relationnel à variable domaine.
Interrogation d'une base de données en SQL: requêtes simples, requêtes
imbriquées, agrégats et groupement.
Définition et modification d'une base de données en SQL: création des tables
insertion, suppression et mise à jour des données. Contraintes d'intégrité :
typologie, vérification, définition en SQL.
Triggers: définition (événement, condition et action), modèle d'exécution,
expression en SQL.
Evaluation et optimisation de requête : arbre algébrique, optimisation logique par
réécriture, opérateurs physiques et modèle de coût, choix du meilleur plan
d'exécution.
Transactions : définition, propriétés (Atomicité, Cohérence, Isolation, Durabilité),
résistance aux pannes (journalisation, validation, reprise à froid et à chaud.
Contrôle de concurrence : notion de sérialisabilité, verrouillage deux phases,
interblocages, ordonnancement par estampillage.
Références bibliographiques :
Georges Gardarin. Bases de données: objet et relationnel. Eyrolles, 1999.
Raghu Ramakrishnan, Johannes Gehrke. Database Management Systems. 2nd
edition. Mc Graw-Hill,1999.
Tamer Özsu, Patrick Valduriez. Principles of Distributed Database Systems. 2nd
edition, Prentice Hall, 1999.
8
Structuration d’un programme. Procédures et fonctions. Recursivité. In-
lining.
Types tableaux et types articles ("record"). Notion de paquetage.
Notion de types abstraits. Protection avec les types (privés, public, etc.).
Contrôle de la visibilité en Ada et C.
Pointeurs et gestion de la mémoire dynamique (tas). Structures de
données recursives.
Echappement et gestion des erreurs par exception.
Truc et astuces pour débugger un programme.
Généricité.
Vers les mécanismes objets. Présentation de la notion de fichiers.
Notions avancées de structuration. Conclusions sur le cours.
Références bibliographiques :
"Programmer en Pascal" de (Addison Wesley)
"Le langage C - norme ANSI", B.W. Kerninghan et D. M. Ritchie
(Dunod)
"Méthodologie de la programmation en langage C", J-P Braquelaire
(Masson)
Système d’exploitation 1
Objectif:
L'objectif de ce module est d'étudier les principes, algorithmes et organisations des
systèmes informatiques. Le but est de dégager les concepts communs à la base des
systèmes modernes tel que le temps partagé, l'ordonnancement, la gestion de la mémoire
et des disques. Des exemples d'implantation notamment dans UNIX seront évoqués.
Nous voulons insister sur l'interaction des mécanismes de base de façon à fournir aux
étudiants une vision globale du fonctionnement du système. Pour faciliter l'assimilation
des principes de base des systèmes, il paraît important d'illustrer les concepts par
l'étude d'un système réel (en l'occurrence UNIX). De plus, il est indispensable que les
étudiants puissent mettre en œuvre les concepts du cours dans des TP. Une part
importante des séances de TD sera consacrée à des TP (près de la moitié).
Programme :
Chapitre1 : Introduction aux systèmes d’information.
1. Définition d’un S.E
2. Fonction d’un S.E
3. Organisation en couches d’un S.E -virtualisation de la machine
4. Evolution des systèmes informatiques
5. Exemples de S.E
Chapitre2 : Mécanismes de base d’exécution des programmes
1. Structure matérielle d’une machine de Von Neumann
2. Cheminement d’un programme dans un système
9
3. Concepts de processus et multiprogrammation (contexte d’un processus, états,
mécanisme de commutation de contexte)
4. Les systèmes d’interruption
Définition et organigramme général d’une interruption
Mécanismes de gestion des interruptions
Systèmes d’interruption sur les PCs
Chapitre3 : Gestion des entrées / Sorties physiques
1. Definition d’une E/S
2. Types d’ E/S
3. Organisation des transferts (instructions d’E/S, découpage fonctionnel
matériel/logiciel d’une E /S)
4. Modes de pilotage d’une E/S : mode synchrone, asynchrone, canal
5. Gestion des E/S simultanées
Chapitre4 : Gestion du processeur central
1. Définition du scheduling : scheduler
2. Objectifs de scheduling
3. Critères de de scheduling
4. Niveaux de (scheduling des jobs, scheduling des processus)
5. Politiques de scheduling
6. Contrôle de processus (états d’un processus, bloc de contrôle de processus PCB,
création de processus, destruction,..)
Chapitre5 : Gestion de la mémoire centrale
1. Objectifs d’un gestionnaire de la mémoire
2. Fonctions
3. Modes de partage de la mémoire
4. Protection de la mémoire
5. Partage de code
Chapitre6 : Gestion des périphériques
Chapitre 7: Gestion des fichiers
Références bibliographiques :
A. Silberschatz, P. Galvin Principes des Systèmes d'Exploitation, Addison-Welsly,
1994
A. Tanenbaum Systèmes d'Exploitation : Systèmes Centralisés, Systèmes Distribués
Prentice-Hall 199
G. Nutt Les Systèmes Ouverts, InterEdition 1995
Programmation linéaire
Objectifs (compétences visées): Ce cours dresse un panorama des techniques de
modélisation utilisées en programmation linéaire, il permet le développement
d’applications industrielles en optimisation.
Programme :
I. Rappels Mathématiques (Algèbre linéaire)
1. Espace vectoriel
2. Dimension, base
3. Matrice, déterminant d’une matrice, inverse d’une
matrice …
II. Introduction et propriétés de la programmation linéaire
1. Forme générale d’un programme linéaire, forme
canonique, standard et mixte.
2. Résolution graphique, notion de polyèdre.
3. Résolution analytique.
III. Méthode du simplexe
11
1. Introduction de la méthode, algorithme du simplexe,
tableau du simplexe
2. Méthodes particulières : méthode des pénalités,
méthode des deux phases
3. Forme révisée du simplexe
IV. Dualité
1. Introduction, règles de passage du primal au dual
2. Algorithme dual du simplexe
V. Problème du transport
1. Introduction du problème, graphe associé au tableau
du transport
2. Algorithme du transport
3. Algorithme dual du transport.
Génie logiciel et programmation orientée objet(POO)
Objectifs :
Comprendre le processus de développement du logiciel, en
particulier les phases de définitions et de spécification des besoins,
d’analyse et de conception orientée objets.
Programmation objets : JAVA pas exemple
Programme :
I. Introduction au génie logiciel
Les principes du génie logiciel
Les cycles de vie de développement de logiciels
Les bases de la qualité du logiciel
Des méthodes fonctionnelles aux méthodes objets
Test et maintenance du logiciel
II. L’approche orientée objet
Le paradigme orientée objet
Les objets
Les messages ou communication entre objets
Les classes
L’héritage entre classes
Notion de polymorphisme et de liaison dynamique
III. Introduction a un langage objet
Introduction et caractéristique
Primitives du langage
Concepts de programmation
Anglais
Techniques d’expression écrite et orale : rapport, mémoire, exposé,
soutenance, communication en groupes.
12