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