Overview

Description

This is an undergraduate level course on computer networking. The goal of the course is to teach the fundamental concepts and principles in today's networks and how to apply those concepts. The course will present various aspects of computer networking, with an emphasis on (1) flow and congestion control, (2) routing, (3) quality of service, and (4) application level protocols such as peer-to-peer networks and overlay networks.

Prerequisites

Math 53 or 54 is required. CS 61A, 61B, and 61C are highly recommended. You should know C, data structures, series and products, logarithms, advanced algebra, some calculus, and basic probability (means, standard deviations, etc.). The TAs will spend very little time reviewing material that is not specific to networking. We  assume that you either know the material that is supposed to be covered in those courses, or that you are willing to learn the material as necessary. We will not cover any of this material in lecture.

Textbooks

Required textbook: Optional textbooks:

Computing Facilities

All students enrolled in the class will be given an instructional account, ee122-??@cory. Account forms will be handed out at the end of the first lecture (if you did not receive an account form, see your TA). Most of the Unix systems should have cross-mounted file systems, so you should actually be able to work on most of the EECS Unix systems. Your final run for each assignment must be done under that account, and must run on x86 Solaris machines.