Computer Networks


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


  • 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





Responsible teacher

Pedro Abílio Duarte de Medeiros


Weekly - 5

Total - 70

Teaching language



Good acquaintance with programming and operating systems.


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.

Programming assignments 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

Available soon

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 where the course is taught: