INF4083 - Langages de programmation

Scolarité

Premier cycle - 3,0 crédit(s)

Département

Département d'informatique et d'ingénierie

Objectifs

Au terme de ce cours l’étudiant.e aura approfondi sa connaissance des concepts fondamentaux des langages de programmation, et aura acquis une vue d’ensemble des différents paradigmes de programmation : procédurale, orientée objet, fonctionnelle, logique, concurrente. Il/elle aura acquis les principales techniques de la programmation fonctionnelle et les fondements de la programmation logique.

Contenu

Fondements théoriques : fonctions calculables, thèse de Church-Turing, lambda calcul. Paradigmes de programmation : procédurale, fonctionnelle, orientée objet, parallèle et logique. Syntaxe et sémantique des langages, introduction à la compilation. Portée des variables, gestion de la mémoire, types, relation de sous-types, typage statique et dynamique. Techniques de programmation fonctionnelle : récursivité et récursivité terminale, fonctions d’ordre supérieur. Principes de la programmation Logique : faits et règles, clauses de Horn. Unification et résolution. Négation et coupures. Ce cours comporte des séances obligatoires de travaux dirigés (TD).

Préalables

Exigences de qualification pour l'enseignement

Diplôme(s)
Maîtrise en informatique ou un secteur disciplinaire connexe au cours.
Expérience
Trois (3) ans d'expérience dans un domaine lié au contenu du cours.
Corps professionnel
Non.
Autre(s) exigence(s)
Dans tous les cas, la candidate, le candidat devra pouvoir démontrer sa capacité à communiquer efficacement oralement et par écrit ainsi qu’à transmettre les connaissances ou les habiletés pertinentes au contenu du cours pour lequel les exigences de qualification pour l’enseignement (EQE) sont adoptées.

CAFF

6403 - Informatique appliquée