Panneau de gestion des cookies
NOTRE UTILISATION DES COOKIES
Des cookies sont utilisés sur notre site pour accéder à des informations stockées sur votre terminal. Nous utilisons des cookies techniques pour assurer le bon fonctionnement du site ainsi qu’avec notre partenaire des cookies fonctionnels de sécurité et partage d’information soumis à votre consentement pour les finalités décrites. Vous pouvez paramétrer le dépôt de ces cookies en cliquant sur le bouton « PARAMETRER » ci-dessous.

Java-Objet

Ects : 4

Enseignant responsable :

Volume horaire : 39

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

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
  • 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