CS23300/33300 : Networks (Spring 2004)
Instructor
Name: David Beazley
Office : Hinds 032
Phone : (773) 702-9111
email : beazley@cs.uchicago.edu
Office hours: By appointment.
Class Information
Overview
This class covers topics related to the design and implementation of
network software. Topics include, but are not limited to, network
protocols (TCP/IP), protocol implementation, programming with sockets,
data encoding, security, remote procedure calls, and distributed
computing. The primary focus on this class is on operating systems
and software--namely issues that arise when writing programs that
utilize the network. The class is not going to focus on the
low-level details of network hardware (cables, switches, routers, etc.) or how to configure
the network on your PC.
Prerequisites
- Operating Systems (CS 33000)
- C Programming.
It will be assumed that all students have completed the daytime
operating systems course (CS33000). Moreover, I will assume that you
are fully proficient at ANSI C programming. This is a not an
introductory programming course.
Textbooks
Required
- Unix Network Programming, Vol. 1, by W. Richard Stevens.
- TCP/IP Illustrated, Vol. 1, by W. Richard Stevens.
The above books are primarily for reference. The first book is the definitive reference
for writing Internet application on UNIX systems.
The course may involve a certain amount of programming in scripting languages such as
Python or Perl. Go to a bookstore and pick up a reference if you think you'll need it.
Grading Structure
- Homework (50%)
- Class project (50%)
Grading Scale
- 90-100 : A
- 80-89 : B
- 70-79 : C
- 60-69 : D
- < 60 : F
Academic Dishonesty
You are encouraged to interact with your classmates and to discuss
various design aspects of the projects and assignments. However, the
work you hand in must be your own. Blatant copying or sharing of
solutions or source code will result in an F in the course and
referral to the college administration.