Description de l'unité d'enseignement

Cette unité d'enseignement permet de construire les bases conceptuelles, méthodologiques et pratiques associées à la programmation fonctionnelle avec OCaml et Haskell. Elle couvre les principes fondamentaux du génie logiciel, de l'architecture des systèmes et des structures de données essentielles.

Prérequis: UE Programmation impérative

Thèmes abordés

T1. Génie logiciel

Étude approfondie : Génie logiciel.

T1.1. Systèmes d'exploitation : gestion des processus et fichiers

système d'exploitation processus fichier répertoire Linux commande shell

Ce sous-thème couvre la gestion des ressources système, l'exécution des processus et l'organisation des fichiers dans un environnement Linux.

T1.2. Mise au point et tests de programmes

test débogage assertion jeu de test trace erreur exception

Méthodes et outils pour valider la correction des programmes, identifier les erreurs et garantir la qualité du code.

T1.3. Arbres binaires et arbres binaires de recherche

arbre arbre binaire ABR nœud feuille racine parcours hauteur

Structures de données fondamentales pour l'organisation hiérarchique des données et leur recherche efficace.

T2. Programmation fonctionnelle

Étude approfondie : Programmation fonctionnelle.

T2.1. Listes chaînées, piles et files

liste chaînée pile file LIFO FIFO maillon structure linéaire

Structures de données linéaires fondamentales en programmation fonctionnelle et impérative.

T3. Programmation orientée objet

Étude approfondie : Programmation orientée objet.

T3.1. Modèle d'architecture de Von Neumann

Von Neumann processeur mémoire bus UAL registre instruction

Architecture fondamentale des ordinateurs modernes et son impact sur la programmation.

T3.2. Constructions élémentaires en Python

Python variable type boucle condition affectation itération

Bases de la programmation en Python : structures de contrôle et manipulation des données.

T3.3. Fonctions : spécification, paramètres, valeur de retour

fonction paramètre retour spécification précondition postcondition modularité

Conception et utilisation des fonctions en programmation, avec une approche modulaire.

T3.4. Dictionnaires et tables de hachage

dictionnaire table de hachage clé valeur collision fonction de hachage

Structures de données associatives pour un accès efficace aux données.

T3.5. Modularité, API et mise au point de programmes

module API bibliothèque documentation interface encapsulation

Bonnes pratiques pour structurer, documenter et tester des programmes complexes.

T4. Compilation et interprétation

Étude approfondie : Compilation et interprétation.

Aucun sous-thème n'est défini pour ce thème dans le programme actuel.

Compétences visées

Ressources complémentaires