Programme des cours 2023-2024
BINV2130-1  
Programmation Java : avancé
  • Ateliers Java
  • Concepts orientés objet
Durée :
Ateliers Java : 48h Pr
Concepts orientés objet : 24h Th
Nombre de crédits :
Bachelier en informatique, orientation développement d'applications (Bachelier en informatique, orientation développement d'application)5
Nom du professeur :
Ateliers Java : Stéphanie FERNEEUW, Laurent LELEUX
Concepts orientés objet : Laurent LELEUX
Coordinateur(s) :
Laurent LELEUX
Langue(s) de l'unité d'enseignement :
Langue française
Organisation et évaluation :
Enseignement au premier quadrimestre, examen en janvier
Unités d'enseignement prérequises et corequises :
Les unités prérequises ou corequises sont présentées au sein de chaque programme
Contenus de l'unité d'enseignement :
Cette unité d'enseignement va permettre aux étudiants d'approfondir leurs connaissances du langage Java (collections, Stream, JUnits, introspection, ...), mais également de mieux comprendre les concepts de l'Orienté Objet, notamment au travers de l'analyse du fonctionnement de la JVM.
Ateliers Java
Les différents thèmes suivants sont abordés :
  • l'héritage
  • l'introspection
  • la concurrence
  • les annotations
  • les attributs
  • les classes internes
  • les classes wrappers
  • les collections
  • les dates
  • les énumérés
  • les exceptions
  • les interfaces
  • les streams
  • les tests unitaires
  • les types génériques
  • les sockets
Certains thèmes pourraient changer en fonction de l'avancement, et des exercices proposés.
Ces différents thèmes théoriques sont mis à jour selon la dernière version de Java.      
Concepts orientés objet
Les différents thèmes suivants sont abordés :
  • Encapsulation
  • Instanciation (constructeurs, initializers...)
  • Static/dynamic binding
  • Fonctionnement de la JVM et gestion de la mémoire (heap, method area...)
  • Introspection
  • Types
  • Graphes d'instances
  • Threads, code thead-safe
  • Polymorphisme
  • P2I
  • Service Objects
  • Injection de dépendances
Acquis d'apprentissage (objectifs d'apprentissage) de l'unité d'enseignement :
1. Compétence(s) - Capacité(s):

CO1 - Communiquer et informer

CA1.f - Utiliser une langue étrangère

CO2 - Collaborer à la conception, à l'amélioration et au développement de projets

CA2.c - Rechercher et utiliser les ressources adéquates

CA2.d - Proposer des solutions qui tiennent compte des contraintes

CO3 - S'engager dans une démarche de développement professionnel

CA3.b - S'informer et s'inscrire dans une démarche de formation permanente

CO4 - S'inscrire dans une démarche de respect des réglementations

CA4.b - Respecter les normes, les procédures et les codes de bonne pratique

CO5 - Mobiliser les savoirs et les savoir-faire lors du développement d'applications

CA5.a - Concevoir, implémenter et maintenir des algorithmes répondant aux spécifications et fonctionnalités fournies

CA5.b - Choisir et mettre en oeuvre un standard défini ou une technologie spécifique (méthodologie, environnement, langage, framework, librairies, ...)

CA5.c - Utiliser et exploiter des méthodes de modélisation lors de la phase d'analyse pour traduire les besoins des utilisateurs, sous forme d'un cahier de charges Concevoir, implémenter, administrer et utiliser avec maîtrise un ensemble structuré de données

2. Acquis d'apprentissage(s) terminaux visé(s):

AAT1. Concevoir des solutions informatiques efficaces qui répondent à des problèmes en maitrisant les structures de données véhiculées. CA5.a ; CA5.c * PROGRAMMATION (AAT1)

AAT2. Traduire les besoins de l'utilisateur en modèles d'analyse en veillant à l'évolution des spécifications demandées tout en respectant les standards de formalisation utilisés. CA5.c * ANALYSE (AAT2)

AAT5. Se conformer aux bonnes pratiques du métier tout en restant critique. CA3.c ; CA4.b ; CA5.b * QUALITE (AAT5)

AAT6. Exploiter de façon autonome et rigoureuse les différentes ressources d'information (en français ou en anglais). CA2.c ; CA2.d * AUTONOMIE (AAT6)

AAT9. Affronter des situations nouvelles en se formant pour intégrer les changements. CA3.b * FLEXIBILITE ( AAT9)

3. Acquis d'apprentissage Spécifiques

  • Trouver de l'information dans la documentation officielle de Java.
  • Comprendre et approfondir les concepts Java Orienté Objet et les mettre en oeuvre afin de résoudre un problème concret.
  • S'adapter aux évolutions du langage Java, et les mettre ne pratique.
  • Comprendre et mettre en pratique différentes notations UML.
Savoirs et compétences prérequis :
Activités d'apprentissage prévues et méthodes d'enseignement :
Activités           Intitulé de l'activité                   Volume horaire BINV2130 A       Ateliers Java                                          48 BINV2130 B       Concepts orientés objet                          24
Mode d'enseignement (présentiel, à distance, hybride) :
Les activités d'apprentissage se coordonnent : elles sont synchronisées et se référencent mutuellement.

Toutes ces activités ont lieu en présentiel.

Lors de chaque séance pratique (Ateliers Java), les étudiants reçevront une fiche, comprenant des parties de théorie ainsi que des d'exercices. La théorie devra être préparée en autonomie avant la séance, de sorte que l'étudiant soit prêt à entamer les exercices durant la séance.

Les professeurs assisteront les étudiants durant la séance : répondre aux questions, aider à la résolution des exercices, guider l'étudiant dans son apprentissage des technologies ainsi que leur mise en pratique.

Durant la séance, un moment de "mise en commun" sera prévu pour mettre en lumière certaines parties d'exercices, ou certains concepts clés vus cette semaine ou la semaine précédente. Une solution de l'exercice est mise à disposition des étudiants en fin de semaine.
Ateliers Java
Chaque semaine, un ou plusieurs thèmes théoriques sont abordés. Les thèmes sont communiqués aux étudiants au début de la semaine.   Pratiquement, le cours s'articule autour d'une séance hebdomadaire de mise en pratique (4h).
Chaque semaine un énoncé est proposé ; il vise la mise en pratique des thèmes préparés. Les étudiants sont invités également à consulter fréquemment la documentation Java officielle (API). Les professeurs assistent les étudiants dans la compréhension de la théorie ainsi que sa mise en pratique. Ils guident les étudiants dans la résolution de l'exercice en se référant à la documentation Java officielle (API).
Durant la séance, un moment de "mise en commun" sera prévu pour mettre en lumière certaines parties d'exercices, ou certains concepts clés.   Une solution de l'exercice est mise à disposition des étudiants en fin de semaine.
Concepts orientés objet
Le cours sera donné principalement en distanciel. Cependant, en fonction de l'évolution de la situation sanitaire, un passage en présentiel pourrait être envisagé.
Chacun des 12 cours de 2 heures aborde un ou plusieurs concepts. Ceux-ci seront abordés de différentes manières en fonction du concept :
  • Présentation live à l'aide de slides et d'exemples concrets en JAVA
  • Auto-apprentissage à l'aide d'articles, documents, vidéos... fournis par le professeur
  • Séances de questions-réponses, clarifications... pour valider et aider à l'apprentissage des concepts.
  • Exercices pour valider la compréhension des concepts
Lectures recommandées ou obligatoires et notes de cours :
Ateliers Java
Les différents documents du cours sont communiqués aux étudiants par le biais de la plateforme d'elearning.   Chaque thème théorique est détaillé dans un document PDF.   Les énoncés des exercices sont également transmis au format PDF. Les solutions sont, par contre, des projets Eclipse archivés.
Concepts orientés objet
  • Slides projetés par le professeur
  • Codes sources fournis par le professeurs
Modalités d'évaluation et critères :
Responsable de l'évaluation: FERNEEUW Stéphanie
 
Langue de l'évaluation: Français
 
Mode d'évaluation: examen écrit sur PC (100%)

Examen écrit : l'examen écrit prendra la forme de plusieurs exercices indépendants. Les fiches théoriques ainsi que les solutions des séances seront disponibles lors de l'examen.

L'évaluation de cette U.E. est intégrée et constitue dès lors un tout indécomposable. Celle-ci donne lieu à une seule note ; il n'y a pas d'évaluation d'AcA ni de note pour les AcA. Cela exclut automatiquement : toute dispense partielle issue d'une année antérieure, toute dispense partielle au sein de l'année académique, toute dispense partielle acquise cette année pour les années à venir. De même si une UE est composée d'AcA dont certaines sont intégrées, il n'y a pas de dispense partielle d'une évaluation intégrée.
Stage(s) :
Remarques organisationnelles :
Lors du calcul de la moyenne arithmétique pondérée du PAE d'un étudiant, ainsi que du calcul de la moyenne arithmétique pondérée globale de son cursus, le poids associé à la note de la présente UE est son nombre d'ECTS.
Contacts :