Computer Networks

Course info:

Semester: 3

General Foundation

ECTS: 6

Hours per week: 4

Professor: T.B.D.

Teaching style: Face to face

Grading: Written exams (40%), Essays / Projects (60%)

Activity Workload
Lectures 36
Tutorials 12
Lab Projects 20
Project 40
Independent study 42
Course total 150

Learning Results

The course aims to provide a deeper understanding of the basic concepts and techniques used in modern computer networks and data communications. The computer networking involves many principles, protocols and technologies that are interconnected in a complex way. Computer networking teaching is usually organized around “layers of network architecture” to understand the principles and protocols of each layer while presenting the overall picture of how all layers work together. Because the traditional bottom-up teaching approach has proven to be not the best approach for a modern computer networking lesson, the Computer Networks lesson adopts a the bottom-up approach focusing in Internet applications, teaching from the application level and going down to the physical level.

Upon successful completion of this course the student will be able to:

  • Understand the theoretical and practical aspects of computer networking and data communications in general.
  • Describe the basic functionalities of the network protocols as well as basic Internet network services.
  • Use the tools and techniques required to install and operate modern data networks.
  • Design and manage networks based on IP addressing (addressing, subnets, network interconnection, etc.).
  • Understand the differences between the IPv4 and IPv6 routing.
  • Use TCP, UDP transport technologies and be able to select between them based on each application requirements
  • Understand the concepts of flow control, congestion, performance, quality of service, transport reliability
  • Use and configure basic network equipment (network cards, switches, etc.).

Skills acquired

  • Retrieve, analyze and synthesize data and information, with the use of necessary technologies
  • Decision-making
  • Team work
  • Be critical and self-critical
  • Working in an international environment
  • Introduction to computer Networks and the Internet
    • Network protocols
    • Access Networks
    • Physical Media
    • Packet/circuit switching
    • Delay, Loss and Throughput in Packer-Switched Networks
    • OSI Model
    • History of Computer Networking and the Internet
  • Application Layer
    • Network Application Architectures
    • Transport Services Provided by the Internet (socket programming)
    • Processes Communicating
    • Application-Layer Protocols (HTTP, FTP, SNMP, POP3, IMAP, DNS)
  • Transport Layer
    • Transport Layer in the Internet
    • UDP Segment Structure
    • Reliable Data Transfer Protocol
    • Go-Back-N (GBN)/ Selective Repeat (SR)
    • The TCP Connection
    • Flow and Congestion Control
    • Introduction to network programming
    • Web Client-Server Interaction: TCP and HTTP
  • Network Layer
    • Forwarding and Routing
    • The Internet Protocol (IP): IPv4, Addressing, Fragmentation, IPv6
    • Network design (Subnetting, super netting, VLSM, CIDR)
    • Routing Algorithms (Link state/Distance Vector)
    • Routing in the Internet: OSPF, BGP, RIP
    • Network Address Translation (NAT, ICMP, DHCP)
    • Innovative routing approaches (SDN)
  • Link Layer
    • Link-Layer Addressing and ARP
    • Ethernet
    • Link-Layer Switches
    • Virtual Local Area Networks (VLANs)
    • DHCP, UDP, IP, and Ethernet
  1. Kurose, J. F., & Ross, K. W. (2021). Computer networking: A top-down approach featuring the Internet. Pearson
  2. Douglas E. Comer. (2015). Computer Networks and Internets (6th. ed.). Pearson.
Learning Results - Skills acquired

Learning Results

The course aims to provide a deeper understanding of the basic concepts and techniques used in modern computer networks and data communications. The computer networking involves many principles, protocols and technologies that are interconnected in a complex way. Computer networking teaching is usually organized around “layers of network architecture” to understand the principles and protocols of each layer while presenting the overall picture of how all layers work together. Because the traditional bottom-up teaching approach has proven to be not the best approach for a modern computer networking lesson, the Computer Networks lesson adopts a the bottom-up approach focusing in Internet applications, teaching from the application level and going down to the physical level.

Upon successful completion of this course the student will be able to:

  • Understand the theoretical and practical aspects of computer networking and data communications in general.
  • Describe the basic functionalities of the network protocols as well as basic Internet network services.
  • Use the tools and techniques required to install and operate modern data networks.
  • Design and manage networks based on IP addressing (addressing, subnets, network interconnection, etc.).
  • Understand the differences between the IPv4 and IPv6 routing.
  • Use TCP, UDP transport technologies and be able to select between them based on each application requirements
  • Understand the concepts of flow control, congestion, performance, quality of service, transport reliability
  • Use and configure basic network equipment (network cards, switches, etc.).

Skills acquired

  • Retrieve, analyze and synthesize data and information, with the use of necessary technologies
  • Decision-making
  • Team work
  • Be critical and self-critical
  • Working in an international environment
Course content
  • Introduction to computer Networks and the Internet
    • Network protocols
    • Access Networks
    • Physical Media
    • Packet/circuit switching
    • Delay, Loss and Throughput in Packer-Switched Networks
    • OSI Model
    • History of Computer Networking and the Internet
  • Application Layer
    • Network Application Architectures
    • Transport Services Provided by the Internet (socket programming)
    • Processes Communicating
    • Application-Layer Protocols (HTTP, FTP, SNMP, POP3, IMAP, DNS)
  • Transport Layer
    • Transport Layer in the Internet
    • UDP Segment Structure
    • Reliable Data Transfer Protocol
    • Go-Back-N (GBN)/ Selective Repeat (SR)
    • The TCP Connection
    • Flow and Congestion Control
    • Introduction to network programming
    • Web Client-Server Interaction: TCP and HTTP
  • Network Layer
    • Forwarding and Routing
    • The Internet Protocol (IP): IPv4, Addressing, Fragmentation, IPv6
    • Network design (Subnetting, super netting, VLSM, CIDR)
    • Routing Algorithms (Link state/Distance Vector)
    • Routing in the Internet: OSPF, BGP, RIP
    • Network Address Translation (NAT, ICMP, DHCP)
    • Innovative routing approaches (SDN)
  • Link Layer
    • Link-Layer Addressing and ARP
    • Ethernet
    • Link-Layer Switches
    • Virtual Local Area Networks (VLANs)
    • DHCP, UDP, IP, and Ethernet
Recommended bibliography
  1. Kurose, J. F., & Ross, K. W. (2021). Computer networking: A top-down approach featuring the Internet. Pearson
  2. Douglas E. Comer. (2015). Computer Networks and Internets (6th. ed.). Pearson.