ATLC - Ateliers logiciels II (C/C++)
Appartient à l'UE Ateliers Logiciels II
Personnes enseignantes
Description générale du cours
Compléments théoriques et travaux pratiques. Réalisation d’applications en C++
Matières de base utilisées
- Langage C / C++ (cours de 2e année)
- Logique et techniques de programmation (cours de 2e année)
Objectifs
Java
- Approfondir la connaissance de java
- Découvrir et mettre en oeuvre certains design patterns
Acquis d’apprentissage
Acquis (mesurables) d’apprentissage.
C++
-
Réaliser une applications dans un EDI de type RAD (eclipse, MS-Visual Studio, Qt Creator, etc.) permettant
- de mettre en pratique les matières vues dans les deux premières années de baccalauréat en analyse, logique et programmation ;
- l’introduction de notions non vues en C++ en 2e année : thread, accès à une base de données, application client / serveur, etc.
- l’utilisation de bibliothèques non standards bien adaptées au besoin de l’application en question.
Ce qui est réellement acquis de ces apprentissages idéaux étant bien entendu mesurable à l’examen.
Java
- L’étudiant est capable de refactorer son code pour améliorer les performances, la lisibilité et éliminer un maximum de redondance
- Privilégier le développement par composants réutilisables
- Découpler systématiquement ses composants, notamment en utilisant le design pattern MVC
- Aborder tout développement d’application en séparant clairement et strictement en couches indépendantes
- Découvrir et s’autoformer à l’utilisation de ressources nouvelles (API, …)
Plan du cours
Module 1 : Java (25 heures)
- Complément d’apprentissage en Java. A l’aide d’un EDI, l’étudiant mettra en oeuvre des concepts de programmation tel que MVC et utilisera des frameworks tel que Hibernate.
Module 2 : C++ (25 heures)
- Réalisation d’applications dans un EDI de type RAD (eclipse, MS-Visual Studio, Qt Creator, etc.) permettant de mettre en pratique la matière vue dans les deux premières années et permettant également l’introduction de nouvelles notions : thread, accès à une base de données, application client / serveur, etc.