Durée
15h Th, 45h Labo., 10h Proj.
Nombre de crédits
| Master en architecture des systèmes informatiques | 5 crédits |
Enseignant
Langue(s) de l'unité d'enseignement
Langue française
Organisation et évaluation
Enseignement au premier quadrimestre, examen en janvier
Horaire
Unités d'enseignement prérequises et corequises
Les unités prérequises ou corequises sont présentées au sein de chaque programme
Contenus de l'unité d'enseignement
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
Acquis d'apprentissage (objectifs d'apprentissage) de l'unité d'enseignement
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 matrisier la différence entre un service "boîte noire" et un service bas niveau.
Savoirs et compétences pré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 prévues et méthodes d'enseignement
Apprentissage par la pratique (i.e., résolution de problèmes)
Mode d'enseignement (présentiel, à distance, hybride)
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.
Adaptations organisationnelles liées au contexte sanitaire
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 la plate-forme Chamilo.
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
Vous trouverez ci-dessous les modalités d'évaluation envisagées pour les examens en présentiel et à distance ainsi que celle souhaitée en cas de session hybride. En fonction de l'évolution sanitaire, la modalité choisie vous sera communiquée au plus tard un mois avant le début de la session d'examen.
Les étudiants sont évalués sur base des projets à rendre. La note finale sera calculée à l'aide d'une moyenne arithmétique pondérée. La pondération des projets est la suivante :
- 10% pour le premier projet
- 30% pour le second projet
- 60% pour le dernier projet
En cas d'échec en première session, les projets obtenant un note inférieure à 10/20 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 quelques heures d'encadrement de labo. Des partenaires MASI se partageront les heures d'encadrement de labo restantes.
Contacts
Co-titulaires : Laurent Mathy (ULg) et Samuel Hiard (Ulg)
Suppléance : Arnaud Tillieux (Hénallux)
Notes en ligne
Chamilo
Les supports de cours et les énoncés des projets seront mis à disposition dans la section "Documents" du cours correspondant sur la plate-forme Chamilo.