 |  |  |
| INFO0951-2 | Programmation d'applications distribuées et en réseau
|

 |
| Durée : | 15h Th, 45h Labo., 10h Proj. |
 |
| Nombre de crédits : |
|
 |
| Nom du professeur : | Samuel Hiard, Laurent Mathy |
 |
Langue(s) du cours :
 |
| Langue française |
 |
Organisation et évaluation :
 |
| Enseignement au premier quadrimestre, examen en janvier |
 |
Contenus du cours :
 |
| Le cours comporte quelques exposés théoriques (8 leçons de 2 heures) et divers problèmes (typiquement 6, 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
- Les règles de bonne pratique de programmation
- La programmation défensive
(cette liste n'est pas exhausive) |
 |
Acquis d'apprentissage (objectifs d'apprentissage) du cours :
 |
| 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
|
 |
Prérequis et corequis / Modules de cours optionnels recommandés :
 |
|
- 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 prévues et méthodes d'enseignement :
 |
| Apprentissage par la pratique (i.e., résolution de problèmes) |
 |
Mode d'enseignement (présentiel ; enseignement à distance) :
 |
| Les cours théoriques se donnent en présentiel avec des slides.
Les projets peuvent être réalisés pendant les heures de laboratoire ou à son domicile.
Le cours se donne durant le 1er quadrimestre. |
 |
Lectures recommandées ou obligatoires et notes de cours :
 |
| Les notes de cours ainsi que les énoncés des projets seront mis à disposition des étudiants sur un site web dont l'adresse sera communiquée pendant le cours théorique.
La lecture de tout ou partie de la documentation java (javadoc) ainsi que les tutoriels, fournis par Oracle/Sun est recommandée. |
 |
Modalités d'évaluation et critères :
 |
| Les étudiants sont évalués sur base des projets à rendre. La pondération des projets est la suivante :
- 30% pour le premier projet
- 30% pour le second projet
- 40% pour le dernier projet
Il n'y a pas d'examen.
En cas d'échec en première session, tous les projets doivent être refaits par l'étudiant durant l'été. Durant la seconde session, aucun support (réponse aux questions, aide, ...) ne sera offert aux étudiants. |
 |
Stage(s) :
 |
| |
 |
Remarques organisationnelles :
 |
| Samuel Hiard donnera les leçons théoriques ainsi que les 4 premières heures d'encadrement de labo.
Jean-François Wauthy et Arnaud Ligot se partageront les 40h d'encadrement de labo restantes. |
 |
Contacts :
 |
| Co-titulaires : Laurent Mathy (ULg) et Samuel Hiard (Ulg)Suppléance : Jean-François Wauthy (Hénallux) et Arnaud Ligot (Hénallux) |
 |