by Palladium Classiques Femme Bari Tmbl PLDM Bottines Cette unité d'enseignement a pour objectif d'étudier la théorie de la calculabilité pour distinguer les problèmes qu'on peut résoudre en informatique, de ceux qu'on ne peut pas résoudre. Une initiation à la sémantique des langages de programmation, tant impératifs que fonctionnels, permet d'appréhender d'une façon différente la programmation et les preuves de correction nécessaire qui en découlent. Par la pratique d'un langage de programmation fonctionnel, la thèse de Church-Turing et la notion de typage sont abordées à travers l'utilisation du λ-calcul.
- Spécificités de la programmation fonctionnelle : types algébriques, filtrage, fonctions d'ordre supérieur, combinateurs
- Sémantique d'un langage impératif simple
- Sémantique opérationnelle : présentation à grand pas (ordre des calculs), présentation à petit pas (machine à états), interpréteur d'un langage jouet
- Sémantique dénotationnelle : rôle du point fixe, équivalence de programmes, notion de domaine, équivalence avec la sémantique opérationnelle
- Calculabilité
- Machines de Turing déterministes et langages récursifs
- Machines universelles
- Bottines Classiques Bari Palladium by PLDM Tmbl Femme Problème de l'arrêt
- PLDM Classiques Bari by Palladium Femme Tmbl Bottines Fonctions récursives : présentation comme langage de programmation et équivalence avec les machines de Turing
- Calcul fonctionnel
- Sémantique d'un langage fonctionnel : termes du λ-calcul (avec données de base), typage, sémantique opérationnelle à grand pas
- λ-calcul pur : β-réduction, normalisation, codage des entiers, thèse de Church-Turing
- Évocation de la complexité de problèmes : classes P et NP, exemples de problèmes NP-complets