Grading Policy
  Lecture Notes
  PA1 Virtual Network
  PA2 Virtual Routing
  PA3 Open Project

Don't see the menu?

Welcome to Winter 2010 EECS 489!

Time: MW 9:00 - 10:30AM
Place: 1690 CSE
Prerequisite: EECS 482

Course page: http://www.eecs.umich.edu/courses/eecs489/
Faculty: Z. Morley Mao
Office: 4629 CSE
Office Hours: Mon: 10:30-11:30AM, Wed 10:30-11:30AM and by appt.
email: zmao AT eecs dot umich dot edu
Tel: +1 734 763 5407

Discussion Session:
Time: Fri 9:00-10:00AM
Place: 1690 CSE
GSI: Zhiyun Qian
uniqname: zhiyunq
Office: CSE 1637 - Learning Center (Tue: table1, Fri: table2) OR CSE 4917
Office Hours: Tue 4:30-5:30PM, Fri 10-11AM, and by appt.
Additional Office Hours: Mon and Wed: 5:00-6:00PM, Fri: 12:30-1:30 pm. (Table 4 of the Learning Center: CSE 1637)

  • Required (earlier editions are okay): Kurose and Ross, Computer Networking: A Top-Down Approach, 5th. ed, Addison-Wesley, 2010. ISBN 0-13-607967-9.
  • Recommended: W.R. Stevens, et al., UNIX Network Programming, vol. 1: Networking APIs: The Sockets Networking API, 3rd. ed., Addison-Wesley, 2004. ISBN 0-13-141155-1. Check the Errata page. (This book is on reserve at 2nd floor of the Art, Architecture, & Engineering Library.)

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 a LAN, 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 data center.

We do try to understand 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 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 good working knowledge of C and UNIX. An introduction to probability course is highly recommended as a co-requisite.