Java-Objet
ECTS : 5
Volume horaire : 50
Description du contenu de l'enseignement :
- Git
- Syntaxe, exécution directe via jshell
- Class path, compilation et exécution différée
- Usage d’Eclipse pour créer et exécuter des programmes
- Définition de Classes Java, Constructeurs
- Doctrine du contrat, encapsulation, Javadoc
- Maven
- Interfaces Java
- Génériques
- Collections
- Tests unitaires
- Autres éléments d’ingénierie : gestion des références nulles, méthodes de création
- Flux et fichiers
- Égalité et hash codes
- Gestion des ressources
- Écriture de logs
- Intégration continue via GitHub
Compétence à acquérir :
- Conception de programmes comportant de nombreuses fonctionnalités, structurés clairement et pouvant être maintenus à long terme
- Définir des classes selon le paradigme orienté objet
- Respecter l’encapsulation, la doctrine du contrat
- Implémenter l’échec rapide
- Concevoir et utiliser des bibliothèques de fonctionnalités
- Techniques de programmation modernes
- Enregistrer les traces du programme
- Gérer les versions (avec git)
- Gérer la qualité avec les tests unitaires
- Gérer la qualité avec les techniques Dev Ops (avec Eclipse et GitHub)
- Syntaxe et spécificités de Java
- Définir des classes, créer des objets
- Exploiter les exceptions et les génériques à bon escient
- Définir et implémenter des Interfaces Java
- Utiliser les collections du JDK (Set, List, Map, …)
- Gérer le class path pour réutiliser des bibliothèques tierces
- Utiliser Maven pour gérer les dépendances
Mode de contrôle des connaissances :
- Contrôles continus réguliers en séances : exercices à remettre via git
- Projet : livraisons fréquentes (notées séparément) et présentation en fin d’année
Bibliographie, lectures recommandées :
Introduction to Programming Using Java, Nineth Edition, David J. Eck