Course Aims

This is a basic course which offers an introductory presentation of data communication and computer networks, including parts of data communication that practicing engineers normally will encounter in their daily work. After completion of this course, the student should be able to distinguish the different network layers, their services and the related protocols. In particular, students will be able to:

Moreover, via the course assignments students will be trained in solving network-related problems, as well as in implementing simple network protocols and building up a small network from scratch, the students will have gained experience by doing practical work in applying the knowledge offered by the course in realistic situations.

In the study of protocols, we start with application level protocols enabling students to start with more familiar paradigms in the context of applications that we use regularly. Moving to lower layers later on, we have the possibility to gradually uncover network services, their functionality and the ease/difficulty for achieving them.

Topics covered include: networking applications, content distribution, HTTP, SMTP, TCP, UDP, performance and congestion analysis, IP, switching, routing, mobile IP, local area networks, multiple access protocols (IEEE 802.X and others), wireless networks, bridges, physical media, error-detection and correction, and network security.

As the subject is rich and there is a lot of material to discuss and grasp of diverse character: algo+math-oriented; comp-architecture-oriented; 3-5-letter-initials-oriented Some advice: to be able to put things in perspective: