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) : | LA2_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 consiste en 24 heures TD de Programmation Orientée Objet. Ce cours vise à apporter de nouvelles connaissances autour du développement orienté objet. L’objectif est de pouvoir développer des applications performantes, en termes de persistance des données et d’algorithmique, pour répondre à des problématiques industrielles complexes. En ce qui concerne la persistance des données, nous verrons comment implémenter le mapping objet-relationnel pour réaliser la persistance des données avec une base de données. Ce sera l’occasion de s’attarder également sur l’utilisation de quelques design patterns. Enfin, nous verrons différents outils algorithmiques qui permettent de résoudre efficacement des problèmes industriels complexe (au sens où la solution n’est pas simple à trouver), et sur des instances de grande taille (au sens où il y a de nombreuses données). Ce cours est basé sur un langage objet et sur le langage PL/SQL (sous Oracle ou Mysql) Le contenu résumé du cours est le suivant : - mapping objet relationnel; - design patterns (singleton, DAO, factory) ; - méthodes constructives pour résoudre un problème ; - méthodes de recherche locale ; - méthodes méta-heuristiques ; - approches exactes à base de programmation linéaire.
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) ; - Proposer un modèle de données dans un langage objet à partir d’un modèle relationnel provenant d’une base de données ; - Proposer une base de données à partir d’un modèle objet ; - effectuer des requêtes sur une base de données à travers un mapping objet relationnel; - savoir ce qu’est un design pattern, et en utiliser quelques-uns ; - connaître des méthodes algorithmiques efficaces afin de résoudre un problème d’optimisation ; - développer un système d’information performant en langage orientée objet : la performance est liée à la capacité à résoudre efficacement une problématique complexe. 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) ; - mapping objet-relationnel ; - méthodes efficaces pour résoudre un problème d’optimisation ; - design patterns. 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 ; - développer un algorithme efficace. - Évaluer la pertinence de solutions concurrentes en fonction des situations
Objectifs de développement durable
Modalités de contrôle de connaissance
Contrôle Continu / Dernier Contrôle Bloqué du cours
Commentaires: CC : 2 contrôles tout au long du module + contrôle terminal commun avec la matière "Bases de données"
Ressources en ligne
Pour chaque séance, sujets disponibles sur Moodle.
Pédagogie
TD
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) : | 24 |
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. - Connaître l’architecture d’un serveur de SGBD et de ses clients - Savoir faire des requêtes SQL sur une base de données. - Savoir développer en langage objet