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 15 cursus.

CC11400A

Certificat de compétence Intégrateur d'applications mobiles

LG02500B

Licence Sciences technologies santé mention informatique En alternance

LG02501A

Licence Sciences technologies santé mention informatique parcours Informatique générale

LP15701A

Licence professionnelle Métiers de l'informatique : conception, développement et test de logiciels parcours Chef de Projet Développement, Sécurité et Exploitation en HTT

CYC9101A

Diplôme d'ingénieur Spécialité informatique parcours Architecture et ingénierie des systèmes et des logiciels (AISL)

CYC9102A

Diplôme d'ingénieur Spécialité informatique parcours Informatique modélisation optimisation

CYC9104A

Diplôme d'ingénieur Spécialité informatique parcours Informatique, réseaux, systèmes et multimédia

CYC9105A

Diplôme d'ingénieur Spécialité informatique parcours Informatique systèmes d'information

CYC9106A

Diplôme d'ingénieur Spécialité informatique parcours Cybersécurité

CRN0801A

Titre RNCP Niveau 6 Concepteur intégrateur d'infrastructures informatiques (systèmes et réseaux, applicatives, ou de sécurité) parcours Systèmes et réseaux

CRN0802A

Titre RNCP Niveau 6 Concepteur intégrateur d'infrastructures informatiques (systèmes et réseaux, applicatives, ou de sécurité) parcours Systèmes d'information

CRN0803A

Titre RNCP Niveau 6 Concepteur intégrateur d'infrastructures informatiques (systèmes et réseaux, applicatives, ou de sécurité) parcours Cybersécurité

CRN0801A

Titre RNCP Niveau 6 Concepteur intégrateur d'infrastructures informatiques (systèmes et réseaux, applicatives, ou de sécurité) parcours Systèmes et réseaux

CRN0802A

Titre RNCP Niveau 6 Concepteur intégrateur d'infrastructures informatiques (systèmes et réseaux, applicatives, ou de sécurité) parcours Systèmes d'information

CRN0803A

Titre RNCP Niveau 6 Concepteur intégrateur d'infrastructures informatiques (systèmes et réseaux, applicatives, ou de sécurité) parcours Cybersécurité

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
  • 31098 - programmation orientée objet
  • 31057 - génie logiciel

Secrétariat

Libellé
EPN05 - Informatique
Nom du contact
Jean-mathieu Codassé
Numéros de téléphone
Aucun numéro de téléphone
Adresse postale
2 rue Conté
Paris 75003