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