2017-2018 / INFO0010-4

Introduction to computer networking

Durée

35h Th, 2h Pr, 12h Labo., 40h Proj.

Nombre de crédits

 Bachelier en sciences de l'ingénieur, orientation ingénieur civil5 crédits 
 Bachelier en sciences informatiques5 crédits 
 Master en science des données, à finalité5 crédits 
 Master : ingénieur civil en informatique, à finalité5 crédits 
 Master : ingénieur civil en science des données, à finalité5 crédits 
 Master en sciences informatiques, à finalité5 crédits 
 Master en sciences informatiques6 crédits 
 Master en ingénieur de gestion, à finalité5 crédits 

Enseignant

Guy Leduc

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 :