EECS 557 develops the mathematical foundations needed to model, analyze, and design communication networks, connecting Internet protocols with optimization, queueing, routing, switching, scheduling, congestion control, and resource allocation.

Lectures: MoWe, 6-7:30pm Labs:
Venue: EECS TBD Contact: vyl@umich.edu

Announcements

Schedule

DayLecture Topic/LabHomework Project
Week 1
Mon Aug 31
1. Internet Overview HW1
Wed Sep 2 2. Application Layers HW2
Week 2
Mon Sep 7
Labor Day Holiday
Wed Sep 9 3. Transport Layers HW3
Week 3
Mon Sep 14
4. Convex Optimization HW4
Wed Sep 16 5. Lagrangian Duality HW5
Week 4
Mon Sep 21
6. Resource allocation as utility maximization HW6 Project 1 - Internet Mockup
Wed Sep 23 7. Primal Solution for Utility Maximization HW7
Week 5
Mon Sep 28
8. Dual Solution for Utility Maximization HW8
Wed Sep 30 9. TCP Reno and Primal Solution HW9
Week 6
Mon Oct 5
10. TCP Vegas and Dual Solution HW10
Wed Oct 7 11. Network Layer - Data Plane Exam 1 (6-8pm)
Week 7
Mon Oct 12
12. Routing Algorithms HW12
Wed Oct 14 13. Markov Chains HW13
Week 8
Mon Oct 19
Fall Study Break
Wed Oct 21 14. Discrete-Time Queues 1 HW14
Week 9
Mon Oct 26
15. Discrete-Time Queues 2 HW15
Wed Oct 28 16. Fair Queues HW16
Week 10
Mon Nov 2
17. Switching Algorithms HW17
Wed Nov 4 18. Low Complexity Switch Scheduling Algorithms HW18
Week 11
Mon Nov 9
19. Link Layer HW19
Wed Nov 11 20. Scheduling in Wireless Networks HW20
Week 12
Mon Nov 16
21. Scheduling in Wireless Networks 2 HW21
Wed Nov 18 22. Scheduling in Wireless Networks 3 HW22
Week 13
Mon Nov 23
23. A Joint Formulation of the Transport, Network and MAC Problems HW23
Wed Nov 25 Thanksgiving Holiday
Week 14
Mon Nov 30
24. Continuous-Time Markov Chains HW24
Wed Dec 2 25. Continuous-Time Queues HW25
Week 15
Mon Dec 7
26. Network Calculus HW26
Final Exam: TBD, 4-6PM

Logistics

Recordings

Admin Requests

  • Exam 1 ConflictReport a conflict and request alternate scheduling for the first exam.
  • Exam 2 ConflictReport a conflict and request alternate scheduling for the second exam.

If there is something not on these forms, contact vyl@umich.edu.

Instructors

Victor Liu

Victor Liu

Instructor

vyl@umich.edu, web

Platforms: Linux, Vim, Emacs, VS Code

Interests: swimming, running, skiing, coffee

TBD

TBD

Lab TA

TBD

Platforms: Mac, Linux, VS Code

Interests: croissant, black_nib, airplane

TBD

TBD

Grader

TBD

Platforms: Mac, Linux, VS Code

Interests: croissant, black_nib, airplane

Syllabus

EECS 557 studies communication networks through the mathematical principles that govern their design, performance, and control. The course connects Internet protocols with the models used to reason about congestion, routing, scheduling, queueing, switching, and resource allocation.

The first part of the course introduces Internet architecture, protocol layers, TCP, adaptive window flow control, routing, and network planning. The second part develops the analytical foundations needed to study network behavior, including convex optimization, utility maximization, Markov chains, queueing theory, packet switching, fair queueing, wireless scheduling, and network calculus. The course also discusses modern networked systems such as peer-to-peer networks, data-center load balancing, and cross-layer resource optimization.

By the end of the course, students should be able to model communication networks mathematically, analyze their performance, conduct simulation and measurement for verification, and understand how protocol and algorithmic choices shape efficiency, fairness, stability, and scalability.

Course Topics
  • Internet architecture and protocol layers,
  • Adaptive window flows control and TCP protocols,
  • Routing algorithms and network planning,
  • Queueing theory and Markov chains
  • Network calculus,
  • Fair queueing,
  • Scheduling in wireless networks,
  • Peer-to-peer networks,
  • Load balancing in data centers,
  • Convex optimization and resource optimization
Textbooks
  • R. Srikant and Lei Ying, Communication Networks, An Optimization, Control, and Stochastic Networks Perspective, Cambridge University Press (February 17, 2014).

    • Slides and pdf files of some of the chapters can be found on the book website.
    • Ebook is available at UM library here
  • Jim Kurose and Keith Ross, Computer Networking - A Top-Down Approach, 9th Ed. Pearson, 2025.

  • Additional materials for convex optimization
  • Lecture recordings from Winter 2021 can be found under Media Gallery
Projects

You will complete a set of projects through the semester. In these projects, you will design and implement various communication network scenarios to understand the concepts discussed in the lectures. The projects should be independent to each other. For further details on the projects, please refer to the Projects Overview page.

Grading

Your final grade will be determined based on the following components: The 5 lowest quizzes will be dropped from your final grade calculation. The 2 lowest lab grades will also be dropped.

ComponentWeight
Attendance and Quizzes20%
Homework40%
Exam 120%
Exam 220%

Your final letter grade will be determined based on your overall percentage in the course, according to the following scale:

PercentageLetter Grade
100% - 95%A+
95% - 90%A
90% - 85%A-
85% - 80%B+
80% - 75%B
75% - 70%B-
70% - 60%C
below 60%E
Academic Integrity

We encourage collaboration, especially on concepts, tools, specifications, and strategies. However, all submitted work must be your own. If you are unsure about what constitutes collaboration versus copying, please ask a member of the teaching staff for clarification.

Encouraged CollaborationUnacceptable Collaboration
Sharing high-level design strategies, e.g., module organizationWalking through a design or module step-by-step, sharing pseudocode, sharing comments
Helping others understand the spec or project nuancesProviding your code as a reference
Helping someone debugDebugging someone's code for them
Explaining a synthesis error to someoneFixing a synthesis error for someone
Discussing test strategiesSharing test code to verify someone else's design, even if test cases are not submitted
Brainstorming edge cases for testingDiscussing specifics about what tests exposed instructor bugs on the autograder
Using starter code provided with a project or based on examples shown in lectureCopying code in whole or in part, even if the code is modified \n Writing original code for someone else, or paying someone to write your project
Sharing your code in a way that could be copied, e.g., sending code over email or taking a picture of code

Code Reuse

Reusing code (your own or other students') from previous semesters is not permitted.

Publishing Code

Any code you write for this course must not be published in any way or form, including posting on public repositories (e.g., GitHub, GitLab) or personal websites.

Generative AI Policy

The use of generative AI tools is not permitted for writing code or completing assignments in this course.

Attendance Policy

In-person attendance is highly encouraged. If you must miss class for any reason, recordings of the lectures can be accessed through this link no later than a few hours after the lecture. Lectures cannot be attended remotely via Zoom. Lab sessions require attendance, and labs are graded.

Pop quiz policy

You receive zero point if missing 50% or more pop quizzes. You are not allowed to take the quiz if you are not present when the quiz is distributed. You have five free absences (medical and non-medical) and will receive no penalty for missing a quiz if the instructor receives the absence note by 10am on the lecture day. You have unlimited excused absences for traveling due to university business. These absences need to be preapproved before you travel. The final grade of attendance and pop quizzes is based on the average.