Overview - CS 168 / Fall 2014


This is an undergraduate level course covering the fundamental concepts of networking as embodied in the Internet. The course will cover a wide range of topics; see the lecture schedule for more details. While the class has a textbook, we will not follow its order of presentation but will instead use the text as a reference when covering each individual topic. The course will also have several projects that involve programming (in Python).


Required: CS 61A, 61B, Math 53 or 54.

You should know programming, data structures, and software engineering. In terms of mathematics, your algebra should be very solid, you need to know basic probability, and you should be comfortable with thinking abstractly. The TAs will spend very little time reviewing material that is not specific to networking. We assume that you either know the material covered in those courses, or are willing to learn the material as necessary. We won't cover any of this material in lecture.

The projects will be programmed in Python, but we expect that it will be easy for students to learn enough Python on-the-fly to complete the assignments.

Textbooks Book
[source: Keen 1]


Computing Facilities Keycard A
[source: Keen 1]

Students enrolled in the class will be given an instructional account, cs168-??@cory. Account information will be emailed to your berkeley.edu account (limit one per student). Most of the Unix systems have cross-mounted file systems, so you can generally work on other EECS Unix systems. Your final run for each assignment must be done under that account, and must run on x86 Solaris machines.