Grading Policy
  Drop Box
  1. Netimg
  2. A Peer Node
  3. ImageDB
  4. DHT O(N) Case
  5. BE Netimg
  6. FEC
  7. TBF
  8. WFQ
  1. P2P Search
  2. DHT Search
  3. RDP+FEC
  4. Virtualization

Don't see the menu?

Welcome to Winter 2016 EECS 489!

Course Info:
Lecture: MWF 9:30 - 10:30 in 1500 EECS
Discussion/Lab: W 12:30 - 1:30 in 2166 DOW or W 4:30 - 5:30 in 1014 DOW
The discussion sessions will mostly be used as lab sessions.

Pre-requisite: EECS 482

Course page: http://web.eecs.umich.edu/~sugih/courses/eecs489/
Faculty: Sugih Jamin
Office: 4737 BBB
Office Hours: Wed. 11:30 - 12:30, Thu. 12:00 - 1:00, and by appt.
Tel: +1 734 763 1583

IA and GSI:
Charles Barto (bartoc)
Office Hours: Tue and Fri 11 am - 12 noon, and by appt.

Xianghan Pei (xhpei)
Office Hours: Mon 5-6 pm, Tue 12:30-1:30 pm, and by appt.

GSI office hours will be held in the BBB Learning Center (across from the CAEN Lab in 1620 BBB)

Required Textbook:

  • Kurose and Ross, Computer Networking: A Top-Down Approach, 6th. or earlier editions, Pearson, 2012. ISBN 978-0132856201.

Recommended Reference Books:

  • W.R. Stevens, UNIX Network Programming, Networking APIs: Sockets and XTI Volume 1, any edition, Prentice Hall, 1998. ISBN-13 978-0134900124. Check the Errata page. (The syllabus refers to materials in the 3rd. ed.)
  • W. Gay, Linux Socket Programming by Example, Que Publishing, 2000. ISBN-13 978-0789722416 (available free online from UM hosts).

If you want to learn how to design way-cool Web pages, how to build and maintain a killer Web site, or how to setup, administer, and engineer an enterprise network or a data center, this course is not for you. In this course we do not study how modem works, nor do we study how to set up and manage a network.

Instead we learn how networks operate and how network applications are written. We study the workings of the Ethernet and the Internet: how packets are routed, how packets are transmitted, and what to do when there is network congestion. We look at packet headers and routing and transmission protocols. We learn what sockets are and how to use them. And we write code. We write code to implement various routing and transmission protocols. We write code to build client-server and peer-to-peer applications. There will be a lot of programming.

You should know what processes and threads are and be familiar with concurrency and interprocess communication. EECS 482 (Introduction to Operating Systems) is a strict pre-requisite. You must also have a good working knowledge of C/C++ and UNIX. An introduction to probability course is highly recommended as a co-requisite.