Programmation orientée objets 2
Cursus master ingénierie (CMI) - UFR de mathématique et d'informatiqueParcours Cursus master ingénierie (CMI) - Informatique, image, réalité virtuelle, interactions et jeux

Description

Cette matière a pour objectif apprendre à concevoir une solution à un problème logiciel par la conception d’une solution orientée objets.

Les différents sujets abordés seront :

- Famille de langages :  les différents langages orientés, et en particulier les langages orientés objets seront regroupés et classés en fonction des concepts implémenté. Les catégories vues seront :  langage orienté objets à classes ou langage orienté objet à prototype ? Langages typés (et règles de typage) ou non typé ?  Objet pur ou utilisation possible de type de base ? Langage généralement compilé ou interprété ?

- Famille d'héritage : simple, multiple, dynamique, alimentaire, par interface, par trait, par mixins.

– Gestion des erreurs : protection par exception, programmation par contrat.

– Gestion automatique de la mémoire : principes de fonctionnement du ramasse-miettes. Comparaison d’algorithmes standard de gestion automatique de la mémoire.

- Parallélisme : définition et utilisation de thread, problème des accès concurrent.

Différents langages de programmation pourront être présentés et utilisés au cours de l’UE. En particulier, les langages principalement utilisés seront :

- Java : Langage à classe, typé, semi-compilé ; héritage simple ; interface ; exception ; généricité ; thread ; gestion de la mémoire par ramasse miette

  – C++ :  Langage à classe, typé, compilé ; héritage multiple ; gestion de la mémoire manuelle ;

Compétences requises

Algorithmique et programmation de base

Bases de la Programmation Orientée Objet (voir UE « Programmation Orientée Objet 1 » du L2 S3)

Connaissances systèmes : adresse mémoire, pile, tas, etc.

Compétences visées

À l'issue de cette UE, un étudiant est capable de :

  • Programmer des solutions orientées objet pour résoudre des problèmes informatiques.

  • Comprendre les différences entre différents langages orientés objet.

  • Prévenir ou réduire les erreurs en utilisant la programmation par contrat ou par la gestion par exceptions.

  • Comprendre la complexité et les implications en termes de performance de l'utilisation des concepts de programmation orienté objet.

  • Utiliser la modélisation orientée objet pour la gestion efficace de projets informatiques d'envergure, en travail collaboratif.

Disciplines

  • Informatique

Contacts

Responsable(s) de l'enseignement