S7 INF Théorie des programmes
Présentation
Ce cours étudie différents aspects des fondements de la programmation en termes de calculabilité et de complexité des calculs. On définit notamment une sémantique de langage comme support formel pour la représentation de programmes. On introduit également le lambda-calcul comme objet d’étude dans le cadre de la programmation.
Pré-requis nécessaires
Connaissances, niveau licence, dans le domaine des fondements des langages et de la programmation et des systèmes formels.
Objectifs
L’objectif est de sensibiliser les étudiants aux diverses notions théoriques liées aux programmes telles que la calculabilité, la complexité, et la modélisation et vérification de programmes.
Compétences visées
Acquisition de fondements théoriques nécessaires à la compréhension de la programmation.
Etre capable de pouvoir analyser la complexité des programmes.
Être capable de concevoir et vérifier différents schémas de programmes.
Bibliographie
- Lambda-calcul, types et modèles, Jean-Louis Krivine, Editions Masson.
- The Lambda-calculus. H.P. Barendregt. Volume 103, Elsevier Science Publishing Company.
- Logique, réduction, résolution. R. Lalement. Éditions Masson.
- Logique mathématique (Tome 2). René Cori et Daniel Lascar. Editions Dunod.
- Introduction à la calculabilité. Pierre Wolper. InterEditions.
- Introduction à l’algorithmique. T.H Cormen, C.E Leiserson, R.L Rivest, C. Stein. Edition Dunod.
Langue d'enseignement
Français