INF 61 Approfondissement en Algorithmique et Anglais (Jean Saquet - Michèle Suard)
Elt EI61 Approfondissement en Algorithmique
Objectifs :
Introduire les techniques algorithmiques classiques à travers leurs applications. Quelques grands domaines d'applications seront présentés. Pour chaque domaine on exhibera un certain nombre de problèmes classiques. Puis les problèmes seront résolus grâce à différentes stratégies algorithmiques. Le cours pourra déboucher sur un bilan des différentes stratégies utilisées.
Programme :
Voici un exemple de 4 grands domaines d'application qui pourront être abordés:
- Algorithmique du texte et bio-informatique
- Algorithmique répartie
- Algorithmique de l'optimisation combinatoire
- Algorithmique de la cryptologie
Ces domaines seront l'occasion d'étudier les stratégies classiques: algorithmes utilisant diviser pour régner, algorithmique distribuée, algorithmes probabiliste, algorithmes d'approximation, algorithmes gloutons, etc.
Pré-requis :
Algorithmique et structures de données (S3 : EI32).
Elt ED6A Anglais
Entraînement à la rédaction de documents professionnels : CV, lettre de motivation, abstract ou synthèse.
Evaluation :
- - CV et lettre de motivation en contrôle continu
- - synthèse d'un document écrit en examen final (durée : 1h)
INF 62 Théorie des langages et compilation
Elt EI62 Théorie des langages et Compilation
Objectifs :
-
Donner les bases de la théorie des langages formels, théorie qui intervient constamment en informatique, tant du point de vue théorique que dans les applications (compilation, traitements de données textuelles, bioinformatique...).
-
Présenter les principes de la compilation et l'application de l'analyse lexicale et syntaxique à la génération de code.
Programme :
- Notion de langage formel.
- Automates à états finis : Automates déterministes et non déterministes, déterminisation.
- Expressions régulières : langage associé, correspondance avec les automates.
- Application à l'analyse lexicale.
- Grammaires hors contexte : définition, langage engendré, dérivation, arbre d'analyse, ambiguïté. Transformation des grammaires : désambiguïsation, élimination de la récursivité gauche. Grammaires régulières et correspondance avec les automates.
- Analyse syntaxique descendante et ascendante.
- Principes de la compilation : langage source et cible, machine abstraite, phases du compilateur.
- Grammaire attribuée, définitions dirigées par la syntaxe, génération de code.
Le cours sera accompagné de manipulations de systèmes de type lex/yacc en Travaux pratique. Un micro-compilateur d'un langage " simple " sera présenté et réalisé tout au long du cours.
Pré-requis :
Bonne culture en informatique et mathématiques.
INF64 projet et stage
Elt EI66 Projet
Elt EI67 Stage
(Texte assemblé par Jerzy Karczmarczuk,
qui n'est pas responsable de son contenu)
|