Le  génie  logiciel  (software  engineering)  représente  l'application  de  principes 

d'ingénierie dans le domaine de la création de logiciels. Il consiste à identifier et 

à utiliser des méthodes, des pratiques et des outils permettant de maximiser les 

chances de réussite d'un projet logiciel. 

Ce cours constitue une introduction à l'étude des modèles aléatoires simples.  L'objectif est de fournir les outils indispensables dans le domaine des probabilités,  et également d'aborder les aspects statistiques. A la fin de ce module, l'étudiant devrait être en mesure de calculer les différentes  mesures de dispersions dans les statistiques et d'effectuer des probabilités basées sur les lois de la probabilité et de faire des tests sur des données en utilisant les théories de la probabilité.

permettre aux étudiants d'acquérir des compétences pour confectionner des interfaces graphiques visuelles en respectant les critères ergonomiques et les standards du design des interfaces interactives et conviviales. - Connaissances des règles ergonomiques - Connaissance d’une méthode de développent d’IHM - Couplage avec la méthode de développement par objets - Mise en œuvre de ces méthodes dans un projet

 Le  génie  logiciel  (software  engineering)  représente  l'application  de  principes 

d'ingénierie dans le domaine de la création de logiciels. Il consiste à identifier et 

à utiliser des méthodes, des pratiques et des outils permettant de maximiser les 

chances de réussite d'un projet logiciel. 

 

Objectifs de l'enseignement : Comprendre comment les programmes sont compilés puis 

exécutés 

Connaissances préalables recommandées : Théorie des langages 

 Contenu de la matière : 

 Chapitre 1: Introduction (objectifs ...) 

 Chapitre 2 : Compilation 

i. Définition d'un compilateur 

ii. Structure d'un compilateur 

 Chapitre 3 : Analyse lexicale 

 Chapitre 4 : Analyse Syntaxique 

i. Dérivation la plus à gauche et arbre de dérivation 

ii. Grammaire ambiguë 

iii. Grammaire et langages de programmation 

iv. Analyseurs syntaxiques et leurs types 

v. Outils en pratique 

 Chapitre 5 : Analyse descendante 

i. Analyse LL(1) (principe) 

ii. Table d'analyse 

iii. Grammaire LL (1)

 Chapitre 6 : Analyse ascendante 

i. Analyse LR (principe) 

ii. Analyse LR(0 ) 

iii. Analyse SLR(1) 

iv. Analyse LR(1)Analyse LALR (1) 

Chapitre 7 : Traduction dirigée par la syntaxe 

 Chapitre 8 : Contrôle de type 

 Chapitre 9: Environnement d'exécution 

 Chapitre 10 : Génération de code