NFP121

Programmation avancée


6 crédits Pierre COURTIEU EPN05 - Informatique Unité d'enseignement de type cours

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

Prérequis

Connaissances de niveau Bac+2 en informatique. Impérativement savoir déjà programmer (de préférence en objet).

Objectifs pédagogiques

Maitriser les concepts avancés de la programmation objet. Apprendre à identifier et utiliser les patrons de conception (design pattern) adaptés à une situation de conception. Patrons utilisables quelque soit le langage de programmation.

Compétences

Maitrise des concepts objets et de plusieurs patrons de conception (Design pattern)

L'unité NFP121 apparaît dans 12 cursus.

Contenu

Structure des applications objets avec JAVA
Aspects impératifs du langage, tests unitaires
Interfaces, classes et polymorphisme
Introduction aux patrons de conception(Design Pattern)
   Les fondamentaux Délégation, classe abstraite, interface,
   Les patrons Adaptateur et Procuration
Programmation évènementielle
   Les patrons Observateur/Observé, Stratégie, MVC
Généricité et Collections
   Les patrons Patron de méthode, Itérateur, Fabrique
Les patrons réunis
    Composite, Interpréteur et Visiteur
    Memento, Commande, ...
Introspection et réflexivité en Java
Le patron Décorateur et les Entrées/Sorties
    Invariant, pré-post assertions comme décorations
Sérialisation XML/JSON et JAVA
Injection de dépendances et inversion de contrôle
  Le patron Fabrique, ServiceLocator
 
L'outil femtoContainer
Les patrons de conception et l'injection de dépendances
  Vers une séparation de la configuration de l'utilisation

Chaque thème est accompagné d'un travail pratique
 


 

Modalités de validation

  • Examen final

Description des modalités de validation

Examen écrit obligatoire, dans lequel les élèves doivent impérativement écrire du code. QCM interdit.

Les travaux pratiques *notés* sont obligatoires. Ces derniers participent à la note à condition que la note à l'examen soit au moins de 7/20. Fonctionnement identique pour la deuxième session.

Thésaurus du Cnam :

  • Langage JAVA
  • Patron de conception
  • Méthode de test
  • Programmation orientée objet

Thésaurus Formacode :

  • 30802 - langage java
  • 31057 - génie logiciel
  • 31098 - programmation orientée objet

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