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:

  1. Make the student aware of the practical importance of linear optimization problems.
  2. Understand the theoretical aspect of Linear Programming.
  3. 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.