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

  1. Lambda-calcul, types et modèles, Jean-Louis Krivine, Editions Masson.
  2. The Lambda-calculus. H.P. Barendregt. Volume 103, Elsevier Science Publishing Company.
  3. Logique, réduction, résolution. R. Lalement. Éditions Masson.
  4. Logique mathématique (Tome 2). René Cori et Daniel Lascar. Editions Dunod.
  5. Introduction à la calculabilité. Pierre Wolper. InterEditions.
  6. Introduction à l’algorithmique. T.H Cormen, C.E Leiserson, R.L Rivest, C. Stein. Edition Dunod.

Langue d'enseignement

Français