Libellé du cours : | Programmation orientée objet |
---|---|
Département d'enseignement : | MIN / Mathématiques - Informatique |
Responsable d'enseignement : | Madame ISABELLE LE GLAZ |
Langue d'enseignement : | Français |
Ects potentiels : | 0 |
Grille des résultats : | |
Code et libellé (hp) : | LA1_A_IF_MIN_POO - Programmation orientée objet |
Equipe pédagogique
Enseignants : Madame ISABELLE LE GLAZ
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 un langage objet. L’objectif principal de ce cours est de pouvoir développer une application de type client/serveur avec une interface graphique du côté client, et une connexion à une base de données du côté serveur. Par ailleurs, ce cours permet également de travailler les concepts de la POO (encapsulation, héritage, polymorphisme, modularité), ainsi que 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 du langage employé dans les noms des classes, attributs, méthodes et variables, commentaires pertinents, tests unitaires au fur et à mesure du développement. Le contenu résumé du cours est le suivant : ● Structures de données et tris ; ● Requêtes sur une base de données ; ● Réalisation d’une interface graphique ; ● Algorithmique ; ● Programmation concurrente, processus légers (thread) ; ● Programmation réseau (socket).
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 développée dans une langage objet ; - développer une interface graphique contenant des listes, des boutons, des tables, des arbres avec un langage objet ; - utiliser le principe de gestion d’exception du langage utilisé ; - implémenter un algorithme dans un programme orienté objet ; - utiliser les objets Java qui permettent de réaliser un programme contenant des processus légers et de la programmation réseau. 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 ; - programmation concurrente ; - flux d’objets. - 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 Continu / Contrôle Terminal
Commentaires: Contrôle continu + 4 heures de Contrôle Bloqué destinées à une soutenance d' mini-projet par groupe ou d'un travail personnel, en présence de l'enseignant
Ressources en ligne
- Pour chaque séance, sujets disponibles sur Moodle.
Pédagogie
Séances en groupe TD sur une problématique par séance. Mini-projet sous forme d'APP pour découvrit certaines notions.
Séquencement / modalités d'apprentissage
Nombre d'heures en CM (Cours Magistraux) : | 0 |
---|---|
Nombre d'heures en TD (Travaux Dirigés) : | 16 |
Nombre d'heures en TP (Travaux Pratiques) : | 12 |
Nombre d'heures en Séminaire : | 0 |
Nombre d'heures en Demi-séminaire : | 0 |
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. - Savoir ce qu’est un thread et un socket.