2018-2019 / INFO0010-4

Introduction to computer networking

Partim A

Partim B

Durée

Partim A : 30h Th, 2h Pr, 8h Labo., 40h Proj.
Partim B : 5h Th, 4h Labo.

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 ingénieur de gestion, à finalité5 crédits 

Enseignant

Partim A : Guy Leduc
Partim B : Guy Leduc

Coordinateur(s)

Guy Leduc

Langue(s) de l'unité d'enseignement

Langue anglaise

Organisation et évaluation

Enseignement au deuxième quadrimestre

Horaire

Horaire en ligne

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 : plans de données et de contrôle, 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

Partim A

Les réseaux informatiques sont étudiés selon une approche "top-down", en partant des applications et en descendant vers la couche de réseau. 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 : plans de données et de contrôle, architecture d'un routeur, Internet Protocol (IP), adressage et acheminement, algorithmes de routage (RIP, OSPF, BGP).

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.

Partim A

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 web simple 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.

Partim A

Des connaissances de base en structure des ordinateurs et en systèmes d'exploitation. Une connaissance et une pratique 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.

Partim A

  • Cours magistraux (30 heures) consacrés à la description détaillée des concepts théoriques et pratiques du cours.
  • Des séances de laboratoire (8 heures) consacrées à l'approfondissement de certains concepts à l'aide de l'émulateur Netkit, afin d'en améliorer la compréhension.
  • Petit projet de conception et de développement en Java d'une application web fonctionnant en réseau, par groupe de 2 ou 3 étudiants. Une séance de correction et de questions/réponses est organisée à mi-parcours pour corriger les erreurs les plus classiques.

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. 

Partim A

En presentiel pour la théorie et le débriefing des projets à mi-parcours. Les projets sont principalement effectués à distance.

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 (7th Edition). Addison-Wesley, 2016. Version identique publiée chez Pearson Education, ainsi qu'une version numérique pour étudiants. 
Transparents du cours : http://www.montefiore.ulg.ac.be/~leduc/cours/reseaux-informatiques.html

Partim A

Ouvrage(s) de référence: James F. Kurose and Keith W. Ross. Computer Networking - A Top-Down Approach (7th Edition), Addison-Wesley, 2016. Autre version identique publiée chez Pearson Education (2017), ainsi qu'une version numérique pour étudiants.
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. Les rapports des laboratoires 2 à 5 seront notés.
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 et la pondération sera alors 30% pour les projets et 70% pour l'examen.

Partim A

L'évaluation est basée sur les trois aspects suivants : le projet (pondération 20%), les laboratoires (pondération : 15%) et l'examen oral de théorie (65%).
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.
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, et la pondération sera alors 20% pour le projet et 80% pour l'examen.

Stage(s)

Remarques organisationnelles

Le cours est organisé au 2è quadrimestre, les vendredis de 8h30 à 12h30. Les assistants sont : - Simon Liénardy, pour les séances de laboratoire, - Samuel Hiard, pour le projet.

Partim A

Deuxième quadrimestre, les vendredis de 8h30 à 12h30.

Contacts

Enseignant : Guy Leduc, Guy.Leduc@uliege.be
Assistants :

  • Simon Liénardy, simon.lienardy@uliege.be
  • Samuel Hiard, S.Hiard@uliege.be

Partim A

Enseignant: Guy Leduc, Guy.Leduc@ulg.ac.be
Assistants :