Durée
35h Th, 2h Pr, 12h Labo., 40h Proj.
Nombre de crédits
Enseignant
Langue(s) de l'unité d'enseignement
Langue anglaise
Organisation et évaluation
Enseignement au deuxième quadrimestre
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
Les réseaux informatiques sont étudiés selon une approche "top-down", en partant des applications et en descendant vers la couche physique. Il comporte les chapitres suivants :
- Architecture de l'Internet : périphérie/coeur/accès, les couches de protocole, historique.
- Couche application : web et HTTP, DNS, programmation socket.
- Couche de transport : (de)multiplexage, transport sans connexion (UDP), transfert fiable de données, transport avec connexion (TCP), contrôle de flux et de congestion
- Couche de réseau : circuits virtuels et datagrammes, architecture d'un routeur, Internet Protocol (IP), adressage et acheminement, algorithmes de routage (RIP, OSPF, BGP).
- Couche de liaison de données et réseaux locaux : détection d'erreurs, méthodes d'accès dans les réseaux locaux (Aloha, CSMA/CD, Ethernet), adressage, hubs/commutateurs, ponts transparents
Acquis d'apprentissage (objectifs d'apprentissage) de l'unité d'enseignement
Au terme du cours, l'étudiant connaîtra bien les principes des réseaux d'ordinateurs, leur architecture en couches (modèles OSI et TCP/IP), les mécanismes fondamentaux des protocoles des différentes couches, et quelques exemples de protocoles existants. Il sera aussi capable de développer une application distribuée en Java en utilisant l'API socket.
Le projet développe les capacités d'auto-apprentissage, de travail en équipe, et de rédaction d'un rapport sur une réalisation.
L'enseignement, ainsi que tous les supports, en anglais, permettent d'améliorer les connaissances et aptitudes des étudiants dans cette langue.
Savoirs et compétences prérequis
Deux années de bachelier en informatique, ou équivalent. Ce prérequis est essentiellement justifié par la présence d'un travail de programmation réseau assez substantiel, qui requiert une bonne maîtrise du langage Java.
Activités d'apprentissage prévues et méthodes d'enseignement
- Cours magistraux (35 heures) consacrés à la description détaillée des concepts théoriques et pratiques du cours.
- Des séances de laboratoire (12 heures) consacrées à l'approfondissement de certains concepts à l'aide de l'émulateur Netkit, afin d'en améliorer la compréhension.
- Projet de conception et de développement en Java d'une application distribuée fonctionnant en réseau. La première partie est individuelle et suivie d'une séance de correction et de questions/réponses pour corriger les erreurs les plus classiques. La seconde partie est réalisée en groupe de 2 étudiants.
Mode d'enseignement (présentiel ; enseignement à distance)
En presentiel pour la théorie, les laboratoires et le débriefing des projets à mi-parcours. Les projets sont principalement effectués de façon autonome.
Lectures recommandées ou obligatoires et notes de cours
Ouvrage(s) de référence: James F. Kurose and Keith W. Ross. Computer Networking - A Top-Down Approach (Sixth Edition). Addison-Wesley, 2012. Autre version identique publiée chez Pearson (ISBN 978-0-273-76896-8)
Transparents du cours : http://www.montefiore.ulg.ac.be/~leduc/cours/reseaux-informatiques.html
Modalités d'évaluation et critères
L'évaluation est basée sur les trois aspects suivants : le projet (pondération 30%), les laboratoires (20%) et l'examen oral de théorie (50%).
A l'oral, l'étudiant devra être capable d'exposer clairement et de manière synthétique un aspect du cours, et de prouver par ses réponses à des sous-questions qu'il l'a compris en profondeur et qu'il fait les liaisons avec le reste du cours. L'étudiant qui n'a pas réalisé son projet ne sera pas admis à l'examen oral.
Les séances de laboratoire sont obligatoires. L'étudiant devra rendre un petit rapport à la fin de chaque séance. Chaque rapport sera noté.
L'évaluation du projet portera sur (1) la complétude du logiciel qui sera soumis à une batterie de tests de fonctionnalité, (2) la qualité de la programmation, et (3) la qualité du rapport.
Les étudiants sont autorisés à améliorer leur projet pour la seconde session, mais ne pourront pas refaire les laboratoires. Si la note des laboratoire est favorable à l'étudiant, la seconde session est identique à la première, avec la même pondération. En revanche, si la note de laboratoire est défavorable, cette dernière ne sera plus prise en compte en deuxième session.
Stage(s)
Remarques organisationnelles
Le cours est organisé au 2è quadrimestre, les vendredis de 9h00 à 13h00. Les assistants sont : - Simon Liénardy, pour les séances de laboratoire, - Samuel Hiard, pour le projet.
Contacts
Enseignant : Guy Leduc, Guy.Leduc@ulg.ac.be
Assistants :
- Simon Liénardy, simon.lienardy@ulg.ac.be
- Samuel Hiard, S.Hiard@ulg.ac.be