Programme des cours 2015-2016
INFO0010-4  
Introduction to computer networking
Durée :
35h Th, 15h Pr, 40h Proj.
Nombre de crédits :
Bachelier en sciences de l'ingénieur, orientation ingénieur civil5
Bachelier en sciences de l'ingénieur, orientation ingénieur civil5
Bachelier en sciences informatiques6
Bachelier en sciences informatiques6
Master en ingénieur civil en informatique, à finalité 5
Master en sciences informatiques, à finalité6
Nom du professeur :
Guy Leduc
Langue(s) du cours :
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 du cours :
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) du cours :
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 (30 heures) consacrés à la description détaillée des concepts théoriques et pratiques du cours.
  • Séances de laboratoire (12 heures) consacrées à l'approfondissement de certains concepts 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 25%), les laboratoires (25%) 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. La seconde session est identique à la première, avec la même pondération. Les étudiants sont autorisés à améliorer leur projet.
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 :