ECTS
4 crédits
Composante
Collège Sciences et Technologies pour l’Energie et l’Environnement (STEE)
Volume horaire
39h
Description
L’enseignement des paradigmes de programmation présente et montre principalement les fondements ainsi que les différences entre les différents paradigmes de programmation.
On y aborde la programmation impérative (effet de bord, synonomie, ADA, abstraction et paquetages, et passages de paramètres), la programmation fonctionnelle (le Lambda-notation, conversion, Beta-réduction, induction, récursion) et enfin la programmation concurrente (concurrence, synchronisme, asynchronisme, entrelacement, deadlock, vivacité, équité, section critique, exclusion mutuelle, les algorithmes de Dekker et de Peterson).
Afin d’illustrer les concepts de la programmation impérative, concurrente et objets, les étudiants mettent en œuvre en TP les algorithmes de Dekker et de Peterson en utilisant le langage ADA, un langage impératif, concurrent orienté objet.
Objectifs
À la fin de cette UE, vous serez capable de :
- Se servir de plusieurs styles de programmation,
- Maitriser les fondements de la programmation impérative et fonctionnelle (Lambda-calcul),
- Étudier les propriétés de sûreté et de vivacité d’une solution d’exclusion mutuelle en programmation impérative/concurrente.
Heures d'enseignement
- CMCours Magistral15h
- TDTravaux Dirigés15h
- TPTravaux Pratique9h
Contrôle des connaissances
1ère session :
• 30% Contrôle Continu écrit
• 20% Note de TP
• 50% examen terminal écrit
2ème session : 100% examen terminal écrit.
Compétences acquises
Compétences | Niveau d'acquisition | |
---|---|---|
Mise en œuvre de méthodes et d'outils du champ disciplinaire | Se servir aisément de plusieurs styles/paradigmes algorithmiques et de programmation (approches impérative, fonctionnelle, objet et multitâche) ainsi que plusieurs langages de programmation | 3 - Maitrise |
Identification d'un questionnement au sein d'un champ disciplinaire | Choisir, sur des critères objectifs, les structures de données et construire les algorithmes les mieux adaptés à un problème donné. | 2 - Application |