• Structure des applications objets avec JAVA et UML
    Types primitifs, Aspects impératifs du langage
    Assert, Interfaces, Types et Classes
    Programmation évènementielle
    Généricité et Collections
    Structures de données et Patterns de conception
    Introspection et réflexivité en Java
    Programmation des Entrées/Sorties
    XML et JAVA
    Programmation par Contrat
    Validation des programmes
    UML2 et le langage OCL
    Méthodes de développement et langage UML
    Programmation concurrente
  • Informatique appliquée au traitement de données
  • Le but du cours est de présenter les automates finis à états et les formalismes logiques qui ont de nombreuses
    applications pour la spécification et la modélisation de systèmes informatiques. Ils interviennent
    notamment dans les domaines du génie logiciel, des réseaux, de la conception et du développement,
    des bases de données, des systèmes d'information et des systèmes transactionnels. A ce titre, ils sont
    utilisés dans de nombreux enseignements du cursus.
  • Présentation

    Les cours Algorithmique Programmation (NFA001, NFA002 et NFA005) ont pour objectif d'étudier les concepts de base des langages de programmation et de présenter des méthodes de programmation correspondant à des classes d'applications. Le langage utilisé est le langage Java.

    Le cours NFA001 a lieu au premier semestre et s'adresse à des débutants. Il est suivi, au second semestre, de l'UE de cours NFA002 et de l'UE de TP NFA005. L'UE de cours NFA002 s'adresse aux personnes qui ont suivi l'UE de cours NFA001 ou qui ont déjà programmé et qui souhaitent approfondir les méthodes et fondements de cette activité.

    Les ressources pédagogiques (notes de cours, exercices etc..) sont disponibles essentiellement à partir du réseau. Il est donc fortement souhaitable que l'élève qui souhaîte suivre ces cours ait un équipement informatique minimum (ordinateur et modem) lui permettant d'accéder au site du Cnam.

    Ces cours peuvent être suivi en cours du soir, en cours du jour et en enseignement à distance (FOD).


  • Public concerné et conditions d’accès

    Etre inscrit parallèlement à l'unité d'enseignement Algorithmique programmation A.

    Finalités de l’unité d’enseignement

    Objectifs pédagogiques

    Acquérir la maîtrise des concepts de base de la programmation moderne à partir de séances d'exercices sur machine. Complément essentiel à la compréhension du cours Algorithmique programmation A (NFA001 et NFA002).

    Capacité et compétences acquises

    Programmation dans un langage objet tel que Java ; utilisation d'outils de développement sous Unix et Windows. Capacité d'abstraction et de raisonnement.

    Organisation

    Nombre de crédits enseignements ECTS : 6 ECTS

    Type de la formation : Travaux pratiques

    Contenu de la formation

    Moyens
    Utilisation du langage Java sur des machines UNIX ou Windows. Le système n'est pas la priorité essentielle. Il sert de support initial pour l'accès aux compilateurs. Une séance d'initiation sert à présenter le système et les commandes principales ( éditeur de texte, listage, création de répertoire...)
    Organisation
    Séances hebdomadaires d'1h30 en salle machines pendant tout le semestre avec encadrement. Des accès aux machines en libre service en dehors des séances sont vivement recommandés.
    Structure
    Les sujets d'exercices sont disponibles au fur et à mesure sur le serveur Web de la valeur de cours Algorithmique programmation. L'évaluation des connaissances est faite à travers différentes évaluations en séance (voir dates sur le site Web) et par la réalisation d'un ou deux projets en cours d'année.
    Programme
    Le programme suit l'évolution du cours NFA002 et permet d'appliquer les concepts étudiés

    Bibliographie

    http://cours.cofares.info/TpJava

    Auteur

    Titre

    site web CNAM des valeurs APA

    http://deptinfo.cnam.fr/Enseignement/CycleA/APA/


  • Public concerné et conditions d’accès

    Avoir suivi NFA001.

    Finalités de l’unité d’enseignement

    Objectifs pédagogiques

    Acquérir à l'issue du cours certains concepts évolués essentiels dans la programmation moderne tels que le concept objet et la programmation par réutilisation.

    Capacité et compétences acquises

    Programmation dans un langage moderne à objet tel que Java. Utilisation d'outils de développement sous Unix et Windows. Capacité d'abstraction et de raisonnement.

    Organisation

    Nombre de crédits enseignements ECTS

    6 ECTS

    Type de la formation

    Cours

    Contenu de la formation

    Retour (rapide) sur la notion de programme et de langage informatique. Etude de la notion de classe et d'objets.
    Héritage et programmation par extension, redéfinition ou spécialisation. Généralisation, réutilisation, polymorphisme et généricité. Concepts méthodologiques et programmation agile.

    Bibliographie

    http://deptinfo.cnam.fr/Enseignement/CycleA/APA/

    Auteur

    Titre

    site web des valeurs APA