Cours INF889J – Fondements pratiques des langages de programmation

2e cycle
3 crédits
Informatique
Magistral

Objectifs

Ce cours présente les concepts fondamentaux des langages de programmation. À la fin de ce cours, les étudiants pourront définir de façon rigoureuse un langage de programmation, ainsi que raisonner à son sujet et démontrer ses propriétés de sûreté. Les étudiants pourront aussi reconnaître et raisonner au sujet de diverses abstractions fondamentales et de pointe offertes par les langages de programmation courants ou spécialisés.


Sommaire du contenu

Syntaxe abstraite, variables liées et portée des variables. Systèmes de typage. Sémantique axiomatique, opérationnelle et dénotationnelle. Propriétés de sûreté. Structures de contrôle telles que les exceptions et les continuations. Récursivité. Polymorphisme. Structures de programmation concurrente et parallèle.