CS489 (Winter 2007): Computer Networks Syllabus

Lecture: Mon,Wed 12:00-1:30PM
Location: 1690 CSE
Credit units: 4


    Z. Morley Mao
    4629 CSE
    zmao AT umich.edu
    Office hours: Mon,Wed 1:30-2:30PM (tentative), 4629 CSE (or by appointment) , Email is the best way to get hold of me.

Discussion Section:

Time: Wed 4:30-5:30PM, Location: 1690CSE
Ying Zhang (wingying AT umich.edu) is the GSI.
Her office hours are Tues 10-11AM and Fri 4-5PM.
Location: 1637 CSE.



CS482 or undergraduate introductory class to operating system required. Background in system programming, network socket programming are helpful.


This is an undergraduate level introductory course on computer networking. Both undergraduates and graduate students are encouraged to take the class.
In this course, We attempt 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 significant amount 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 such as EECS 401, EECS 501, Math 425, Math 525, or Stat 412 is highly recommended as a co-requisite.