Aspects Théoriques de l'Informatique
Licence 3 Informatique - 2017/2018
Questions ?
Contacter l'équipe enseignante
But
Le but principal de cette UE est d'introduire aux fondements de l'informatique et d'introduire à la compilation,
hautEvaluation
L'évaluation comprend :
- 20%, interro 1, 19/10/17, entre 20 et 30 min,
- 30%, interro 2, 18/12/17, 30 min,
- 50%, examen terminal, 11/01/18, 2h.
Enonce de l'interrogation 2 pdf et une correction possible pdf.
Cette UE compte pour 3 crédits ECTS.
haut
Objectifs
liste complète des objectifs du cours :
- Savoir définir mot et langage
- Savoir écrire une expression réguliére simple
- Savoir définir un ensemble dénombrable
- Savoir définir une bijection entre deux ensembles dénombrables
- Savoir montrer qu'un ensemble est non dénombrable
- Connaitre le cardinal de l'ensemble des partis d'un ensemble fini
- Connaitre les opérations algébriques sur les langages
- Savoir définir langage rationnel
- Savoir définir le langage reconnu par un automate fini déterministe
- Savoir construire un automate fini déterministe reconnaissant un langage
- Savoir écrire l'expression régulière du langage reconnu par un automate fini déterministe
- Connaitre la définition d'un automate fini non-déternimiste
- Savoir déterminiser un automate
- Savoir construire un automate à état fini reconnaissant un language rationnel simple
- Connaître le théorème de Kleene
- Savoir définir un automate fini déterministe
- Connaitre le principe de recherche de motif par automate
- Connaître la définition d'une grammaire
- Savoir dessiner l'arbre de dérivation d'un mot selon une grammaire
- Connaitre la définition d'une grammaire régulière
- Savoir concevoir un automate fini reconnaissant le langage d'une grammaire régulière
- Savoir définir une grammaire engendrant le même langage qu'un automate fini déterministe
- Connaitre la classification de Chomsky des langages
- Connaitre les définitions de clôture
- Savoir les propriétés de clôture des langages rationnels
- Connaitre le lemme de l'étoile
- Savoir que le langage 0^n1^n n'est pas rationnel
- Savoir démontrer qu'un langage n'est pas rationnel par le lemme de l'étoile
- Savoir démontrer qu'un langage n'est pas rationnel en utilisant les propriétés de clôture
- Savoir programmer un système de réécriture
- Savoir représenter graphiquement un mot issu d'un système de réécriture
- Connaitre la définition d'une machine de Turing
- Savoir exécuter une machine de Turing
- Savoir définir le langage reconnu par une machine de Turing
- Savoir définir la fonction calculée par une machine de Turing
- Savoir définir une machine de Turing pour reconnaître un langage ou calculer une fonction
- Connaitre la thèse de Church-Turing
- Savoir que le problème de l'arrêt est non calculable
- Connaitre les notions de complexité temporelle et spatiale
- Connaitre la notation "grand O" et sa signification
- Connaitre les classes de complexité
- Savoir calculer la complexité temporelle d'un algorithme itératif
- Savoir calculer la complexité temporelle d'un algorithme récursif simple
Supports des cours et des travaux
Voici l'ensemble des supports des cours et des émoncés des travaux.
Séance | Titre | cours | fiche |
---|---|---|---|
01 | Dénombrabilité, mots et langages | cours | fiche |
02 | Langage rationnelle, automate fini déterministe | cours | fiche cor |
03 | Automate fini non-déterministe, th. de Kleene | cours | fiche cor |
04 | Grammaire, grammaire régulière | cours | fiche cor |
05 | Clôture, lemme de l'étoile | cours | fiche |
06 | Machine de Turing | cours | fiche cor |
07 | Notion de complexité, classes de complexité | cours | fiche cor |
Bibliographie
Quelques repères biblio- /webo- graphiques qui vont se complèter au fur et à mesure :
- Denis Robilliard, Université du Littoral Côte d'Opale,
- Sandrine Julia, Université de Nice Sophia Antipolis.
dernière modification : 18 septembre 2017