Computer Networks

Objectives

Learning goals:

  • Introduction to computer networks: terminology, organization, services, components and structuring principles
  • Reliable data transmission
  • Quality of service
  • Information diffusion
  • Names and addresses
  • Routing: principles and algorithms
  • Fundamentals of TCP/IP networks
  • Fundamentals of communication channels in general and Ethernet switched networks

Know-how

  • Understand the architecture and the internals of computer networks
  • Performance indicators and their estimation and measurement
  • Understand the transport and network layers impact in networked applications
  • Understand how content is diffused
  • Transport interfaces and their usage
  • Analyze, structure and implement protocols and distributed applications

General characterization

Code

8149

Credits

6.0

Responsible teacher

José Augusto Legatheaux Martins

Hours

Weekly - 5

Total - 70

Teaching language

Português

Prerequisites

Good acquaintance with programming and operating systems.

Bibliography

José Legatheaux Marins, "Fundamentos de Redes de Computadores - Ilustrado com base na Internet e nos Protocolos TCP/IP," FCT da Universidade Nova de Lisboa, 2018

James F. Kurose and Keith W. Ross, "Computer Networking - A Top-Down Approach," Addison Wesley — Pearson Education, 2012, ISBN-10: 0136079679, 6th Edition


Teaching method

Lectures are intended to support the instructor’s presentation of fundamental issues, as well as discussion of such topics with students. In some lectures, standard problems are solved and discussed and protocols are analyzed.

Laboratory sessions take place in a computer laboratory and their aim is to solve problems and learn how to build network applications and protocols. These exercises, protocols and applications use the principles presented during lectures. 

Evaluation method

Two intermediate tests (closed book and with the weight of 35% each in the final grade) or a final exam on all the theoretical material (closed book and with a weight of 70% on the final grade). And also several laboratory projects (with the total weight of 30% in the final grade). These projects are performed in groups of up to 2 students. The grade of each project is individualized, through the accomplishment of a mini-test of evaluation of each student and of each project. All intermediate grades are rounded to the nearest tenth.

Specific rules on the laboratory projects: 1) work done by more than two students, or delivered after the date of their respective evaluation, are rated individually 0 grades; 2) If a project has individual evaluation, and a student misses that evaluation, his or her maximum grade in the project will be at most 5 grades; 3) If a project is delivered after the deadline, its final grading is penalized in 1 grade per day of delay.

Specific rules for success in the course: 1) The laboratory project evaluations must have an average ≥ 8 grades and the achievement of this average gives "frequency" to the laboratory part of the course; 2) The average of the scores of the two intermediate tests, or the final exam, must be ≥ 9,5 grades. 

Rules for students who have obtained "frequency" in previous years do not apply to Erasmus students.

Subject matter

Computer networks: terminology, organization, services, components and structuring principles (what is a network, application structuring and application protocols: applications and transport requirements, channels, statistical multiplexing, store & forward, packet switching, layered structure, …)

Reliable transmission of information: specific requirements and techniques (Stop & Wait, Quality of service, TCP, Diffusion and FEC - Forward Error Correction)

Names and addresses (designation layers, DNS, IP addresses, MAC addresses). Diffusion of information (HTTP, performance and scalability, ...). HTTP and video content distribution networks

Routing: principles, addressing and most common algorithms. TCP / IP networks and protocols: DHCP, ARP, NAT, IP, IP forwarding

Programs

Programs where the course is taught: