CS/ECE 4457: Computer Networks

Spring 2024

Course description:

Today’s Internet is a marvel of humankind. It is one of the largest systems ever engineered and created by us. Billions of users communicate with each other via their devices through globally deployed network switches and routers interconnected by wired and wireless links.

We use the Internet every day. Indeed, it makes sense to learn and study it. What’s more interesting about the Internet is that it evolves over time, especially how we use it (e.g., email, online gaming, video conferencing, flying drones).

After this course, you will gain a deep understanding on: What is a computer network? What is the Internet? How does the Internet work? How do end-points send and receive information between each other, and how does this communication traverse a computer network or the Internet?

We will take a top-down approach. We will first learn about the application layer (e.g., web, email), transport layer, network layer, link layer, and finally, the physical layer (copper, optical, wireless mediums). We will also briefly learn about network security and cellular networks (4G/5G).


Must have completed CS 3130 or CS 3330 or CS 2501 topic “Computer Organization and Architecture (COA) 2” or ECE 3430 or ECE 4435 or ECE 3502 topic “Embedded Computing & Robotics (ECR) 2.” Must have completed CS courses with a grade of C- or better.


Course Type

This is a Computer Science Elective course. Cross-listed as ECE 4457.


Computer Networking: A Top-down Approach (8th edition) by Kurose, James F. and Ross, Keith W. But the 7th edition should be fine, too.

Class Information

  • Time: Mon, Wed, Fri 1:00pm - 1:50pm
  • Location: Olsson Hall 120
  • Instructor: Hyojoon Kim
    • Email: hyojoonkim@virginia.edu
    • Office: Rice Hall 501

Grading (Tentative. Subject to change)

  • Midterm 1:         20%
  • Midterm 2:         20%
  • Assignments:      30%
  • Pop quizzes:       10%
  • Final:               20%