ECTS
5
Établissement
INP - ENSEEIHT
Description
Mise en pratique et en contexte des connaissances en programmation concurrente,
intergiciels et bases de données. Plus précisément :
* pratique et patrons de conception de la programmation concurrente à grain fin
* conception d'applications Web dynamique
* conception d'applications réparties
* connaissance des modèles de données
* théorie et pratique de la modélisation des données
Liste des enseignements
Open MP
Établissement
INP - ENSEEIHT
Période de l'année
Printemps
Ce cours présente le modelé de programmation
parallèle OpenMP pour calculateurs parallèles à mémoire partagée
tels que des multicoeurs. Le cours ce compose de deux cours
magistraux et deux travaux pratiques. Dans les cours magistraux
nous étudierons des concepts de base de la programmation parallèle
à mémoire partagé et nous présenterons un sous-ensemble des
fonctionnalités du modèle OpenMP comme les sections parallèles, le
parallélisme de boucle, les réductions, les tâches (avec
dépendances), les verrous. Les travaux pratiques nous permettront
de mettre en oeuvre ces fonctionnalités sur un code de calcul.
Application Web
Établissement
INP - ENSEEIHT
Période de l'année
Printemps
- les formats et protocoles du web
- les pages web dynamiques (servlets, JSP)
- l'architecture MVC séparant front-end et back-end (MVC, Spring)
- les couches de persistance (JDBC, JPA)
- les frameworks JavaScript (JQuery, Angular, React)
Base de données
Établissement
INP - ENSEEIHT
Période de l'année
Printemps
Le cours propose une introduction structurée aux bases de données, en articulant les aspects conceptuels, logiques et opérationnels. Il débute par la définition des bases de données comme ensembles de données persistantes représentant le monde réel, et introduit l’architecture ANSI à trois niveaux (interne, logique, externe), qui permet de comprendre les mécanismes d’abstraction et de partage des données .
La modélisation conceptuelle est abordée à travers le modèle entité-association, mettant en évidence les notions d’entité, d’attribut, d’identifiant et d’association, ainsi que les contraintes de cardinalité. Cette étape prépare la transition vers le modèle relationnel, dans lequel les données sont représentées sous forme de relations (tables) constituées d’attributs atomiques et d’ensembles de tuples .
Le cours introduit ensuite l’algèbre relationnelle comme fondement théorique des langages de requêtes, en détaillant les opérateurs essentiels tels que la projection, la sélection, les opérateurs ensemblistes et la jointure, en insistant sur leur coût et leur rôle dans l’optimisation des requêtes .
Une partie importante est consacrée au langage SQL, couvrant à la fois :
- la définition des données (CREATE TABLE, contraintes, vues),
- la manipulation des données (INSERT, UPDATE, DELETE, transactions),
- et l’interrogation (SELECT, jointures, agrégations, sous-requêtes) .
Enfin, le cours traite des problématiques de qualité des données à travers la normalisation. Les notions de dépendances fonctionnelles, de clés, et de formes normales (notamment FNBC et 4FN) sont introduites afin de concevoir des schémas sans redondance et sans anomalies de mise à jour . Les dépendances multivaluées et les principes de décomposition sans perte d’information complètent cette approche .
L’ensemble est illustré par des exemples concrets et des exercices, permettant aux étudiants de passer de la modélisation abstraite à l’implémentation pratique.
Projet Application Web
Établissement
INP - ENSEEIHT
Période de l'année
Printemps
- Travail en équipe de 4 étudiants
- Choix libre de l'application à concevoir dans le cadre d'une thématique imposée.
- Contraintes imposées : Back-end spring boot, architecture MVC.

