Java-Objet

Ects : 4

Enseignant responsable :

Volume horaire : 39

Description du contenu de l'enseignement :

  • Class path, compilation et exécution différée
  • Usage d’un éditeur moderne pour créer et exécuter des programmes
  • Définition de Classes Java, Constructeurs
  • Doctrine du contrat, encapsulation, Javadoc
  • 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

Pré-requis recommandés :

  • Programmation : savoir écrire, dans au moins un langage (pas nécessairement Java), un programme qui lit un fichier ; qui sauvegarde un fichier
  • Fonctionnement des ordinateurs : savoir distinguer compilation, interprétation et exécution

Pré-requis obligatoires :

  • Algorithmique de base : savoir écrire un pseudo-code pour trier un vecteur ; fusionner deux listes chainées ; parcourir un arbre binaire
  • Programmation : savoir écrire et exécuter un programme dans au moins un langage (pas nécessairement Java)
  • Utilisation d’un ordinateur : savoir installer et exécuter des programmes sur son propre ordinateur

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
    • Gérer la qualité avec les tests unitaires
  • 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, …)

Mode de contrôle des connaissances :

Contrôles continus réguliers en séance

Bibliographie, lectures recommandées

Introduction to Programming Using Java, Nineth Edition, David J. Eck