Libellé du cours : | Programmation orientée objet: interfaces graphiques et bases de données |
---|---|
Département d'enseignement : | MIN / Mathématiques - Informatique |
Responsable d'enseignement : | Monsieur MAXIME OGIER |
Langue d'enseignement : | Français |
Ects potentiels : | 0 |
Grille des résultats : | |
Code et libellé (hp) : | LE3_5_IF_MIN_POO - Programmation orientée objet |
Equipe pédagogique
Enseignants : Monsieur MAXIME OGIER / Monsieur DIEGO CATTARUZZA
Intervenants extérieurs (entreprise, recherche, enseignement secondaire) : divers enseignants vacataires
Résumé
Ce cours vise à consolider les connaissances autour du paradigme de la programmation orientée objet (POO) acquises en deuxième année. Ce cours s’appuie sur le langage Java. L’objectif principal de ce cours est de pouvoir développer une application avec une interface graphique et une connexion à une base de données. Par ailleurs, ce cours permet également de travailler sur les concepts de la POO (encapsulation, héritage, polymorphisme, modularité), ainsi que sur les structures de données et l’algorithmique. Nous nous attachons également dans ce cours à développer du code de qualité : indentation correcte, respects des conventions Java dans les noms des classes, attributs, méthodes et variables, commentaires pertinents au format Javadoc, tests unitaires au fur et à mesure du développement. Le contenu résumé du cours est le suivant : - requêtes sur une base de données (API JDBC) ; - réalisation d’une interface graphique (API Swing) ; - mapping objet-relationnel : JPA (Java Persistence API).
Objectifs pédagogiques
À l’issue du cours, l’élève sera capable de : - développer un programme selon le paradigme de la programmation orientée objet ; - connaître les bonnes pratiques de développement en programmation orientée objet ; - choisir et utiliser les bonnes structures de données (liste, ensemble, table associative) ; - définir un modèle de données dans un langage objet à partir d’un modèle relationnel provenant d’une base de données ; - effectuer des requêtes sur une base de données depuis une application Java ; - développer une interface graphique contenant des listes, des boutons, des tables, des arbres avec le langage Java ; - utiliser le principe de gestion d’exception du langage Java ; - implémenter un algorithme dans un programme orienté objet. Contribution du cours au référentiel de compétences ; à l’issue du cours, l’étudiant aura progressé dans : - concevoir un système ; - réaliser, développer un système ; - mettre en place des protocoles de tests ; - réaliser et exécuter des jeux de tests ; - réaliser des documentations techniques de projet. Connaissances travaillées : - vocabulaire de la programmation orientée objet ; - bonnes pratiques de développement en programmation orientée objet ; - implémentation des structures de données (liste, ensemble, table associative) ; - traitement des exceptions ; - requêtes sur une base de données ; - utilisation avancée des éléments pour réaliser une interface graphique ; - algorithmique ; - mapping objet relationnel. Compétences développées : - bonnes pratiques de développement en programmation orientée objet ; - réaliser des tests unitaires ; - réaliser du code propre ; - commenter son code ; - concevoir un programme dans un langage de programmation orientée objet ; - à partir d’une base de données, développer une interface graphique qui permet d’interagir avec la base.
Objectifs de développement durable
Modalités de contrôle de connaissance
Contrôle Terminal
Commentaires: Ce cours est évalué sur la connaissance des concepts vus en cours et sur le rendu du projet.
Une soutenance finale a lieu à la fin du projet.
Cette soutenance est commune avec les membres, mais chacun des membres du groupe peut être interrogé individuellement.
La note est individualisée, et peut donc tout à fait être différente pour les membres d’un même groupe.
Ressources en ligne
- Pour chaque séance, sujets disponibles sur Moodle.
Pédagogie
- Chaque séance, un sujet, sous forme d’une étude de cas, permet de découvrir au fur et à mesure les nouvelles notions : d’abord l’aspect théorique, puis on implémente en pratique. - L’enseignant ne fait pas une correction systématique, mais il peut répondre à toutes les questions des élèves. Les élèves doivent donc être actifs. - Un travail en dehors des séances est nécessaire. - La qualité du code développé a une grande importance. - Les dernières séances permettent de réaliser un projet de synthèse, en groupe.
Séquencement / modalités d'apprentissage
Nombre d'heures en CM (Cours Magistraux) : | 0 |
---|---|
Nombre d'heures en TD (Travaux Dirigés) : | 0 |
Nombre d'heures en TP (Travaux Pratiques) : | 0 |
Nombre d'heures en Séminaire : | 0 |
Nombre d'heures en Demi-séminaire : | 36 |
Nombre d'heures élèves en TEA (Travail En Autonomie) : | 0 |
Nombre d'heures élèves en TNE (Travail Non Encadré) : | 0 |
Nombre d'heures en CB (Contrôle Bloqué) : | 0 |
Nombre d'heures élèves en PER (Travail PERsonnel) : | 0 |
Nombre d'heures en Heures Projets : | 0 |
Pré-requis
- Notions d’algorithmique. - Connaître les structures de données de base (tableau, liste chaînée, ensemble). - Savoir développer un programme en programmation orientée objet. - Comprendre un diagramme de classe UML. - Savoir faire des requêtes SQL sur une base de données.