• Niveau d'étude

    BAC +3

  • ECTS

    3 crédits

  • Composante

    Sciences économiques, gestion, mathématiques et informatique

  • Volume horaire

    32h

  • Période de l'année

    Enseignement cinquième semestre

Description

Cet enseignement approfondi les concepts de la programmation orientée objet en mettant l’accent sur la conception logicielle. Après une consolidation des acquis (exceptions, transtypage, etc.), le cours aborde différentes notions comme le concept de contrat avec les interfaces; la généricité; les Collections en Java pour manipuler des structures de données complexes. Les aspects de qualité de code et de fiabilité du logiciel (tests) sont aussi abordés. La modélisation UML sera utilisée pour appuyer une partie des notions et concepts du programme.

Lire plus

Objectifs

  • Approfondir les concepts avancés de la programmation orientée objet en Java.
  • Comprendre et utiliser les interfaces et la notion de contrat logiciel.
  • Concevoir des programmes génériques grâce à la généricité.
  • Manipuler efficacement les structures de données avec les Collections Java.
  • Produire un code plus lisible, réutilisable et maintenable.
  • Appliquer les principes de qualité logicielle.
  • Utiliser la composition pour favoriser une meilleure conception des applications.
  • Découvrir les bases des tests logiciels.
  • Utiliser UML pour modéliser et représenter des solutions logicielles.
Lire plus

Évaluation

Modalités : Mixte : CC + CT
SESSION 1 :
Contrôle Continu
• Type : Écrit, QCM, Projet
• Durée : --
• Précisions : Le contrôle continu représente 50 % de la note finale,
et comprend un devoir écrit ou sur machine comptant pour 25 % et un travail (pouvant prendre la forme d’un projet, d’une présentation, d’un QCM, d’une épreuve écrite) comptant pour 25 %.

Contrôle Terminal
• Type : Écrit
• Durée : 1h30
• Précisions : L’examen final représente 50 % de la note finale.

Régime Dérogatoire
• Type : Écrit
• Durée : 1h30
• Précisions : L’examen final représente 100 % de la note finale.

SESSION 2 :
• Type : Écrit
• Durée : 1h30
• Précisions : L’examen final représente 100 % de la note finale.

► Les différentes épreuves écrites, qu’il s’agisse de l’examen final, du devoir, de l’examen terminal en régime dérogatoire ou de la seconde session, ont une durée indicative de 1h30, susceptible d’être ajustée en fonction des contraintes pédagogiques, matérielles ou logistiques, dans le respect des M3C applicables. Les absences, les aménagements éventuels et les autres situations particulières sont traités conformément aux M3C en vigueur.

Utilisation de l'intelligence artificielle :
Pour cet EC, l’usage de l’intelligence artificielle (IA) générative pour aider à la réalisation des travaux soumis à évaluation est interdite, sauf éventuelles exceptions dûment spécifiées par l’enseignant responsable du cours. Dans le cadre de ces éventuelles exceptions, les principes suivants doivent être respectés.

Les résultats fournis par l’IA doivent constituer un matériau pour votre réflexion, et toujours faire l’objet d’une réappropriation et d’une reprise critique.

Tous les usages doivent être documentés dans une section dédiée à la fin de votre travail, à l’exception des usages de recherche web augmentée, de correction orthographique et syntaxique. Cette section doit permettre à votre lecteur d’évaluer la manière dont vous avez travaillé avec l’IA et mobilisé cette ressource au service d’un travail personnel.

L’intégration directe de contenus engendrés par l’IA doit être faite sous le régime de la citation.

Toute utilisation non déclarée ou non autorisée d’un outil d’IA pourra être considérée comme un manquement aux règles d’intégrité académique.

Il est également demandé aux étudiants de ne pas transmettre à des outils d’IA des données confidentielles ou personnelles concernant l’université, les enseignants, les entreprises partenaires ou d’autres étudiants.

Lire plus

Heures d'enseignement

  • CMCM16h
  • TDTD16h

Compétences visées

  • Développer des applications orientées objet en Java en utilisant des concepts avancés.
  • Utiliser les exceptions et le transtypage de manière appropriée.
  • Concevoir des hiérarchies de classes cohérentes et évolutives.
  • Définir et implémenter des interfaces pour respecter des contrats logiciels.
  • Créer et utiliser des classes génériques.
  • Exploiter les principales Collections Java pour gérer des données complexes.
  • Écrire et exécuter des tests unitaires.
  • Vérifier la qualité et la fiabilité d’un logiciel à l’aide de tests.
  • Réaliser des diagrammes UML pour représenter la structure d’une application et ses interactions.
  • Travailler sur des projets logiciels en respectant de bonnes pratiques de développement.
Lire plus