NFP101

Programmation orientée objet en Python, Java et autres


6 crédits François BARTHELEMY EPN05 - Informatique Unité d'enseignement de type cours

Publié Du 01-09-2024 au 31-08-9999

Prérequis

Avoir une expérience pratique de la programmation en Java ou en Python.

Objectifs pédagogiques

L’objectif de ce cours est d’apprendre le paradigme de la programmation orientée objet et la façon dont il est mis en oeuvre dans différents langages de programmation courants.

Les concepts de la programmation objet (encapsulation, héritage simple et multiple, redéfinition, polymorphisme) seront étudiés à travaers plusieurs langages : de façon systématique, Python et Java et ponctuellement C++ et Javascript.

Compétences

Développer des programmes en style orienté objet en Python et en Java en utilisant un environnement de développement intégré et l'outil de gestion de version GIT.

Détecter des indices de violation du principe de délégation dans du code.

Maitriser les mécanismes de détermination de la méthode à exécuter en cas de redéfinition et de polymorphisme.

 

Contenu

Une remise à jour ou formation de base à chacun des quatre langages utilisés sera faite en début de cours, en utilisant un environnement de développement unique. Une prise en main de l'outil de gestion de versions GIT sera également assurée.

Étude des concepts de la programmation objet :

  • classe, objet, état, identité, valeur
  • création d'un objet, constructeur
  • encapsulation
  • héritage simple, héritage multiple, sémantique de l'héritage 
  • polymorphisme, redéfinition, co-variance, contra-variance
  • principe de délégation
  • égalité

Le cours abordera le changement de perspective entre programmation impérative et programmation orientée objet.

 

 

Modalités de validation

  • Contrôle continu
  • Examen final

Description des modalités de validation

L'évaluation prend en compte des devoirs consistant en l'écriture de programmes ou de fragments de programmes et un examen final comportant des questions d'analyse et de réflexion.

Thésaurus du Cnam :

  • Python
  • Sémantique des programmes
  • Méthode de programmation
  • Langage JAVA
  • Langage javascript
  • Langage C++
  • Développement logiciel
  • Programmation orientée objet

Thésaurus Formacode :

  • 30802 - langage java
  • 30812 - langage Python
  • 31097 - programmation structurée

Secrétariat

Libellé
EPN05 - Informatique
Nom du contact
Safia Sider
Adresses email
safia.sider@lecnam.net
Numéros de téléphone
01 40 27 26 81
Adresse postale
2 rue Conté 33.1.13A
Paris 75003