Hands on approach to computer networking

  • This course provides a broad overview of computer networking, covering the application layer, transport layer, network layer, and link layers.
  • It covers basic concepts in computer networking as well as the prominent Internet protocols.
  • It is intended for students who have had no previous course in computer networking.

Teaching and Learning Methods : Lectures and Lab sessions (group of 2-3 students)

Course Policies : Attendance to Lab session is mandatory.


Computer Networking: A Top-Down Approach (6th Edition) 6th Edition, by James F. Kurose, Keith W. Ross. Publisher: Pearson.


Basic networking knowledge (TCP/IP, routing, CSMA/CD, Dijkstra, etc.)

  • Overview of computer networks : Packet switching, delay and loss concepts, physical media, protocol layering, Internet peering structure.
  • Application layer : Web, E-mail, DNS, introduction to socket programming
  • Transport layer : Principles of reliable transport : UDP and TCP, principles of congestion control
  • Network layer and routing : Link-state routing theory, distance-vector routing theory, hierarchical routing, IPv4, addressing and CIDR, RIP
  • Link layer : Error detection and correction techniques, multiple access protocols, LAN addressing and ARP, Ethernet

 Learning outcomes: 

  •  Being able to use main concepts of networking in an hands-on manner thanks to a GNS3 based living lab approach. 
  • Understanding of networking challenges and consequences (security, performance).
  •  Analysis of IP traces (including experimental know-how with Wireshark in a GNS3 environment). Network programming (client servers) in Python and Scapy

Nb hours : 42 with 3 lab sessions (9h)

Grading Policy :·Written exam (60%), Graded labs (40%)