Passer au contenu principal

Résumé de section

  • Le cours CSC 301 – Structures de Données avec Java II approfondit la manipulation des structures de données à travers le Framework Collections de Java, l’étude des algorithmes de tri, et leur intégration dans le développement d’applications graphiques professionnelles avec JavaFX ou Java Swing.

    Ce cours adopte une approche à la fois :

    • Théorique (analyse des structures et des algorithmes)
    • Pratique (implémentation en Java)
    • Applicative (intégration dans des interfaces graphiques interactives)

    L’objectif est de permettre aux étudiants de comprendre comment les collections et les algorithmes structurent les applications modernes, notamment :

    • Applications de gestion
    • Applications interactives
    • Tableaux dynamiques de données
    • Interfaces utilisateurs manipulant des ensembles de données
    • Applications desktop professionnelles

     

    2. Objectifs généraux du cours

    À l’issue du cours, l’étudiant sera capable de :

    a. Maîtriser le Framework Collections de Java
    b. Comparer et choisir la structure adaptée selon un problème
    c. Implémenter et analyser des algorithmes de tri
    d. Comprendre la complexité algorithmique (Big-O)
    e. Intégrer les structures de données dans des applications JavaFX ou Swing
    f. Concevoir des applications complètes manipulant des collections dynamiques
    g. Développer des interfaces graphiques interactives basées sur des données structurées

     

    3. Positionnement stratégique du cours à IPNET

    Ce cours est stratégique pour les filières suivantes :

    • Génie logiciel
    • Développement d’applications
    • Systèmes informatiques
    • Intelligence artificielle
    • Data et algorithmique
    • Cybersécurité

    Il constitue un socle fondamental pour tous les cours avancés liés aux algorithmes, aux systèmes complexes, à l’optimisation logicielle et aux architectures applicatives.

  • À l’issue de l’unité d’enseignement CSC 301 – Structures de Données avec Java II, l’étudiant devra démontrer qu’il a atteint les résultats d’apprentissage suivants :

     

    Résultat 1 : Maîtrise des Collections Java

    L’étudiant sera capable de :

    • Expliquer l’architecture du Java Collections Framework
    • Utiliser les interfaces List, Set, Map, Queue
    • Comparer ArrayList vs LinkedList
    • Comprendre HashSet vs TreeSet
    • Utiliser HashMap et TreeMap
    • Implémenter des comparateurs (Comparable & Comparator)

     

    Résultat 2 : Maîtrise des Algorithmes de Tri

    L’étudiant sera capable de :

    • Implémenter les tris fondamentaux :
      • Tri par sélection
      • Tri par insertion
      • Tri à bulles
    • Implémenter les tris avancés :
      • Merge Sort
      • Quick Sort
      • Heap Sort
    • Utiliser Collections.sort()
    • Analyser la complexité (O(n²), O(n log n))
    • Comparer stabilité et performance des tris

    Résultat 3 : Développement d’Applications avec JavaFX / Swing

    L’étudiant sera capable de :

    ·        Concevoir une interface graphique

    ·        Manipuler des données dans un TableView (JavaFX) ou JTable (Swing)

    ·        Connecter des collections à une interface

    ·        Implémenter le tri interactif via interface

    ·        Gérer les événements (Event Handling)

    ·        Structurer une application MVC simple

     

    Résultat d’apprentissage 4 : Application à des problèmes réels

    À l’issue du cours, l’étudiant sera capable d’utiliser les structures de données pour résoudre des problèmes concrets.

    Il devra être capable de :

    • Identifier la structure la plus adaptée à un problème.
    • Implémenter une solution complète.
    • Tester et valider les résultats.
    • Évaluer l’efficacité de la solution proposée.

     

    Résultat 5 : Intégration complète

    L’étudiant sera capable de :

    • Développer une application complète manipulant :
      • Des listes dynamiques
      • Des opérations de tri
      • Une interface graphique interactive
    • Analyser les performances
    • Produire un code propre et modulaire
  • Critères liés au Résultat 1 :

    • Exactitude dans l’utilisation des interfaces
    • Pertinence du choix des structures
    • Qualité du code

     

    Critères liés au Résultat 2 :

    •        Correction des implémentations
    •         Justesse de l’analyse de complexité
    •         Comparaison argumentée des performances

    Critères liés au Résultat 3 :

    •       Fonctionnalité complète
    •        Intégration correcte des collections
    •         Interface ergonomique
    •         Organisation du code 

    Critères liés au Résultat 4 :

    •        Respect des exigences
    •       Travail collaboratif
    •         Documentation
    •         Présentation