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.
Éléments de programmation :
- Syntaxe et sémantique.
- Types (élémentaires, construits, génériques), constantes, variables, structures de données élémentaires, classes.
- Notion de portée, modules, fonctions, procédures, paquets, structures de contrôle, exceptions.
- Interprétation vs. compilation.
- Fonctions d’ordre supérieur.
- Fonctions récursives.
- Exceptions.
- Éléments de gestion de la mémoire.
- Typage statique et dynamique.
- Parallélisme et concurrence.
Analyse comparative des langages à l’état de l’art (caractéristiques, utilisations, perspectives).
Expérimentation d’au moins 3 langages de programmation.