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.