Cours donnés par des enseignants d'autres sections
CONCEPTS ET LANGAGES ORIENTÉS OBJETS
12X003
J.-L. FALCONE
Semestre de printemps
- Crédits ECTS
- 4
- Pré-requis
- expérience en programmation (env. 3 semestres) ; connaissance d’un langage statiqueemnt typé (C, Scala , Swift, etc.) et de la syntaxe de base du C ou d’un langage apparenté (Javascript, C#, PHP, etc.)
- Évaluation
- examen oral et TP évalués
- Sessions d’examen
- juin - septembre
Volume d’enseignement
| Période | Cours | Exercices | TP | Total |
|---|---|---|---|---|
| Par semaine | 2 | 2 | None | 4 |
| Par semestre | 28 | 28 | None | 56 |
Cours
2par semaine
28par semestre
Exercices
2par semaine
28par semestre
TP
Nonepar semaine
Nonepar semestre
Total
4par semaine
56par semestre
Objectifs
Fleuron du génie logiciel des années 80-90, la programmation dite orientée-objet est devenue incontournable. En effet, presque tous les langages de programmation créés ces 30 dernières sont définis comme étant orientés-objet. Cependant si l’on compare les capacités de ces langages et leur utilisation, on se rend compte que l’étiquette d’orienté objet recoupe des réalités et des usages relevant de compréhensions très différentes, voire incompatibles.
Pour y voir plus clair parmi les différents concepts et définitions de la programmation orientée-objet, le cours se concentrera sur le langage Java. De la programmation à la modélisation, les notions principales seront abordées par le biais d’exemples pratiques et réels (cf. contenu). Elles seront ensuite généralisées et comparées avec leur implémentation dans d’autres langages orientés-objet (Swift, python, javascript, smalltalk. . . ) afin de dégager des principes plus généraux.
Après avoir suivi ce cours, les étudiant-e-s seront capables de :
Programmer en Java. Expliquer les principes et les constructions de l’approche orientée-objet. Concevoir et organiser un programme selon l’approche orientée objet.
Contenu
Langage Java : environnement, types, syntaxes, librairie standard. Concepts théoriques : encapsulation, abstraction, polymorphismes, généricité. Concepts pratiques : classes, instances, interfaces, héritage, types génériques. Modélisation : analyse, diagrammes UML.
Les notions ci-dessus ne figurent pas dans l’ordre où elles seront abordées. Documentation : Copie des slides PPT et ouvrages de référence. Préparation pour : Génie logiciel.