Section:
Master en Architecture des systèmes informatiques
Codification:
110TH
Programmation d'applications distribuées et en réseau - Théorie
Enseignants:

Volume horaire:
30
Pondération:
50
Activité obligatoiore:
Oui
Année académique:
2018-2019

Place de l'activité d'apprentissage dans le programme
Articulation avec d'autres activités d'apprentissage
  • Activités d'apprentissage supports + acquis d'apprentissage préalables requis

    - Connaissance de base de la programmation (structures de données de base et algorithmique) et du langage Java.
    - Bonne connaissance du français (oral et écrit)
    - Bonne connaissance de l'anglais (écrit)

  • Activités d'apprentissage complémentaires

    Projet avancé en architecture des systèmes informatiques

Acquis d'apprentissage spécifiques sanctionnés par l'évaluation

L'objectif du cours est de permettre aux étudiants d'appliquer la matière vue dans le cadre du cours afin de développer
- des applications distribuées et en réseau en utilisant le langage Java. A la fin du cours, l'étudiant sera capable
- d'utiliser le système RMI spécifique à Java
- d'utiliser les sockets NIO
- de mettre ces systèmes en pratique afin de développer des programmes dont l'architecture est de type client/serveur en Java
- de réfléchir à la manière optimale d'ajouter une fonctionnalité ou de gérer les erreurs dans un programme de type client/serveur
- de maîtriser la différence entre un service "boîte noire" et un service bas niveau.

Contenu

Le cours comporte quelques exposés théoriques (8 leçons de 2 heures) et divers problèmes (dont 3 interviennent dans le calcul de la note finale) de programmation que les étudiants doivent résoudre. Les problèmes sont résolus en groupe pour les premiers projets et individuellement pour le dernier projet. Les projets sont à développer sur les machines personnelles des étudiants. Les exposés théoriques servent à présenter, aux étudiants, les outils utiles à la résolution des problèmes.

Pratiquement, l'étudiant recevra un enseignement concernant, notamment :
- Le système RMI
- Les sockets NIO
- Une introduction à différents concepts (Threads, programmation GUI, complexité spatiale et temporelle, ...)
- Les règles de bonne pratique de programmation
- La programmation défensive

(cette liste n'est pas exhausive)

Les cours théoriques se donnent en présentiel avec des slides. Le cours se donne durant le 1er quadrimestre.
Méthodes d'enseignement-apprentissage mises en oeuvre

Les cours théoriques se donnent en présentiel avec des slides.

Le cours se donne durant le 1er quadrimestre.

Modalités d'évaluation de l'activité d'apprentissagee
Septembre - JanvierSeconde Session
Travaux3 travaux de difficulté croissante. Les deux premiers sont à réaliser par groupe de 2 étudiants, le dernier projet est à réaliser seul. La pondération des projets est 30% - 30% - 40% pour les projets 1 - 2 - 3 respectivement.
Pondération : 100%
Les étudiants peuvent refaire tout ou partie des travaux donnés en première session. La pondération est identique à celle de la première session. Aucun support (réponse aux questions, aide, ...) ne sera offert aux étudiants.
Pondération : 100%

Pondération en % par rapport au total de l’activité d’apprentissage ou de l’UE si l’évaluation est intégrée.

Description éventuelle

    Pondération en % par rapport au total de l'activité d'apprentissage : 100%
    Pondération en % par rapport à l'UE : 50%

    La note finale de l’unité d'enseignement est calculée en effectuant la moyenne pondérée des évaluations des différentes activités d'apprentissage constituant l'unité d'enseignement; cependant, si une note strictement inférieure à 8/20 (ou inférieure ou égale à 7/20) est obtenue dans au moins une de ces activités d'apprentissage, les crédits de l’unité d'enseignement ne seront pas accordés, et la note de l’unité d’enseignement est égale à la note de l’activité la plus faible (sauf avis contraire du jury de délibération).

Ressources
Sources et référence

    Javadoc

 Retour