Voici le plan du cours de programmation impérative en L2. Le cours est basé sur Ada.

Cours 1: Langage Ada. Syntaxe en BNF.

Manuel de référence. Eléments lexicaux: identificateur, littéral numérique.

Cours 2: Types discrets.

Types, généalogie des types Ada.
Types entiers, énumérés, booléens, caractères.
Valeurs. Opérateurs. Conversion. Attributs. Objets.

Cours 3: Instructions.

Affectation. Instructions conditionnelles. Expression.
Condition. Sous-programme, procédure et fonction, spécification et corps.
Exemples de procédures et fonctions: max(a,b), min(a,b), min3(a,b,c), milieu(a,b,c), echanger(a,b), double_affectation(a,b,c,d).
Procédures et fonctions d'entrées-sorties des types de base.

Cours 4: Instructions suite.

Instruction cas. Instruction de boucle.
Exemples: calcul de la date du lendemain entre 1901 et 2099.
Calcul de xˆn (itération bornée sans compteur).
Calcul de n! (itération bornée avec compteur en progression).
Décalage à droite des éléments d'un tableau (itération bornée avec compteur en régression).
Fusion d'un tableau trié (itération non bornée à sortie en milieu de corps).
Racine carrée entière (itération non bornée à sortie en début de corps).
Logarithme entier en base 2 (sortie en fin de corps).

Cours 5: Types tableaux.

Types non contraints, sous-types contraints. Objet tableau. Vecteur.
Paramètre tableau. Tranche, affectation et comparaison globales.
Type String.
Exemples: plus petit, rotation droite, palindrome, conversion Ascii vers entier, conversion entier vers Ascii.

Cours 6: Types articles et pointeurs.

Type Record, composant. Paramètres record.
Exemple: date du lendemain.
Type pointeur. Type incomplet.

Cours 7: Paquetage.

Unité de programme. Paquetage.
Spécification de paquetage. Corps.
Exemples: nombres rationnels (voir le manuel de référence).
Visibilité. Porté. Clause Use. Clause With.