Ce cours explore les concepts fondamentaux des types abstraits de données et leur application dans la programmation, en se concentrant sur les opérations et les structures de données. Voici un résumé global du contenu : 1. Introduction aux concepts de base : Le cours commence par la définition des sortes (types abstraits), des opérations (constructeurs, transformateurs, observateurs), des préconditions et des axiomes, qui sont essentiels pour définir des structures de données. 2. Types d'opérations : Il est expliqué comment différentes opérations sont utilisées pour manipuler les données, avec une attention particulière sur les constructeurs (création des objets), transformateurs (modification des objets) et observateurs (accès aux informations dans les objets). 3. Norme d'écriture des types abstraits : L'accent est mis sur la normalisation des types abstraits, en étudiant les sortes utilisées, les paramètres et les observateurs, ainsi que l'analyse des valeurs initiales des constructeurs. 4. Structures de données classiques : Le cours applique ces concepts aux structures de données classiques telles que les ensembles, files, piles, listes et tableaux, qui sont des fondations pour l'organisation et la manipulation des données en informatique. 5. Applications pratiques : Le cours explore ensuite des applications concrètes des types abstraits dans des objets de la vie courante comme les traitements de texte, navigateurs et réseaux sociaux, démontrant l'importance des concepts de types abstraits dans les systèmes réels. Le cours est accompagné de travaux dirigés (TD) à chaque étape pour permettre aux étudiants de pratiquer et d'appliquer les théories étudiées. Un contrôle continu est prévu, suivi d'une révision et d'un examen final pour évaluer les compétences acquises.