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
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.
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
Linear programming (also called linear optimization) is a set of techniques to achieve the best outcome (such as maximum profit or lowest cost) in a mathematical model whose requirements are represented by linear relationships.
This course aims to:
- Make the student aware of the practical importance of linear optimization problems.
- Understand the theoretical aspect of Linear Programming.
- Be able to use these approaches to solve problems related to various fields.
Objectifs de l’enseignement :
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. À 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é.
Enseignant: Rania KHALLOUT
Matière : Système d’exploitation2
Crédits : 5
Coefficient : 3
Objectifs de l’enseignement :Une étude approfondie du système Unix est recommandée pendant les
séances de TD et de TP. La programmation des threads et des mécanismes de l'exclusion mutuelle se fera en C sous Unix. Les modèles producteur/consommateur, lecteur/rédacteurs et des philosophes avec plusieurs variantes seront étudiés de façon théorique (développement d'algorithmes en pseudo-langage) en TD puis implémentés en C sous Unix durant les séances de TP.
Connaissances préalables recommandées :système d'exploitation1.