Computer Networks 2025-2026#

Welcome to the course page of the Computer Networks course at Vrije Universiteit Amsterdam (VU Amsterdam).

The Internet has evolved in the past decades to be the most relied-upon computer infrastructure globally. Technologies such as distributed computing, the cloud, and real-time systems depend on fast and reliable networks to perform their operations. In our day-to-day life we rely on long-distance computer interactions to solve problems, connect with others, or access the Internet. In short, devices nowadays lose most of their functionality when disconnected from other devices.

Computer networks are responsible for reliable, high-throughput, and low-latency communication between many classes of devices. But how do these important technologies that connect us work? What are the different layers needed to build our modern, reliable infrastructure? How to analyze our existing networks and improve their performance? Matching the requirements of the IEEE/ACM CS Curricula 2023, BSc Computer Networks includes the five different layers needed to build networking infrastructure, Local Area Networks (LAN), including Ethernet and MAC, the Internet Protocol (IP), the most important transport protocols (TCP, UDP), the socket abstraction, and relevant application layer protocols (such as HTTP, DNS).

Study Goals#

Although the name of the course is a reasonable indication of its goal (teaching you about computer networks), there is much more to learn about computer networks than is possible in seven weeks. Instead of trying to teach you everything there is to know, we focus on the study goals below.

  1. Explain the history of computer networking and its impact on society.
  2. Explain the basic concepts underlying computer networks.
  3. Explain the concept of a layered architecture.
  4. Explain the design, function, and protocols of the various layers from the computer networks reference model and the TCP/IP model.
  5. Analyze which (kinds of) network protocols work well with certain network properties and application requirements.
  6. Analyze trade-offs between networking algorithms such as distance vector routing and link-state routing.
  7. Analyze networking algorithms in use today such as link-state routing, backwards learning, and others.
  8. Perform network-related computations such as CRC, hamming distance, and bit-rate required stream video or audio files.
  9. Implement network applications using socket programming.

Alignment with IEEE/ACM CS curricula 2023 and CS curriculum at VU Amsterdam#

This course follows the IEEE/ACM1 Computer Science Curricula 2023 (final version), covering the body of knowledge of networking and communication (NC), specifically:

  • NC1 Fundamentals [core]
  • NC2 Networked Applications [core]
  • NC3 Reliability Support [core]
  • NC4 Routing And Forwarding [core]
  • NC5 Single-Hop Communication [core]
  • NC6 Emerging Topics [elective]

This course sets up the basic knowledge required for several Computer Systems courses in the VU Computer Science curriculum:

  • BSc Operating Systems
  • BSc Advanced Systems Programming
  • BSc Secure Programming
  • MSc Distributed Systems
  • MSc Systems Security

Most importantly, we envision the knowledge gained in this course to benefit students in all aspects of their careers. Networking infrastructure is the cornerstone of 21st century computing; the socket abstraction is one of the most used abstraction in software engineering, and the Internet Protocol is the foundation of the long-distance communication that powers the cloud. Understanding these basic concepts stands as the foundation of many other skills in computer science, not necessarily in the field of computer systems.


  1. IEEE, the Institute of Electrical and Electronics Engineers, is the world’s largest technical professional organization dedicated to advancing technology for the benefit of humanity. ACM, the Association for Computing Machinery, is the world’s largest educational and scientific computing society. ↩︎