CS 3251
Computer Networks I

Fall 1999
Boggs (Chemistry) B6
TuTh 12:05-1:25


Description
This course provides an introduction to problems in computer networking, including errors, medium access, routing, flow control and transport. Emphasis is on current best practice, and specifically on solutions deployed in the current Internet. Includes programming of networked applications.

Instructor
Ellen Zegura
Main office: 216 GCATT (250 14th Street), 404-894-1403
Shared CoC office: 215 CCB
Office hours: After class in 215 CCB (or by appointment)
ewz@cc.gatech.edu

Teaching Assistants
Pradnya Karbhari
Office hours: MW 11am-12:30pm in CoC Picnic Area
pradnya@cc.gatech.edu

Donghua Xu
Office hours: MW 1:30-3pm in 225D
xu@cc.gatech.edu

Eugene Zhang
Office hours: MW 10:30am-noon in CoC Picnic Area
zhange@cc.gatech.edu

Newsgroup
news:git.cc.class.cs3251
The newsgroup will be used to answer clarification questions about homework assignments, answer common questions on programming, post class announcements, make corrections to assignments (if needed), etc. You should read the newsgroup regularly, especially when we get into sockets programming.


Assignments

Supplements to Assignments


Resources

Textbook
Computer Networks and Internets (2nd edition), Douglas Comer
The syllabus contains references to reading in the Comer text. The text will be supplemented with handouts and web pointers.

Sockets Information
RPI Sockets Tutorial (strongly recommended)
Jim Frost's BSD Sockets Primer (recommended; sockets by analogy to telephones)
Berkeley UNIX System Calls and Interprocess Communication, L. Besaw, with revisions by M. Solomon (recommended)
UNIX Socket FAQ


Grading and Academic Honesty

Your grade will be determined by your performance on homework assignments (which will include some programming) and exams. The weights are as follows:
Homework - 30%
Midterm exam 1 - 20%
Midterm exam 2 - 20%
Final exam - 30%
Students are expected to abide by the Georgia Tech Honor Code. Honest and ethical behavior is expected at all times. All incidents of suspected dishonesty will be reported to and handled by the office of student affairs. You are to do all assignments yourself, unless explicitly told otherwise. You may discuss the assignments with your classmates, but you may not copy any solution (or part of a solution) from a classmate.

You are encouraged to help one another via the newsgroup, with questions that deal with the language or infrastructure. For example, "how do I compile with library X" or "why does the compiler complain about a type mismatch in this fragment of code...?" or "how do I access the third byte of an int?".


Syllabus

Week of Tuesday Thursday
August 23 Introduction
  • what happens when you click on a hyperlink?
  • reading: Ch 1, 2
Introduction
  • definitions
  • network components
  • layering and services
  • reading: Ch 14
August 30 No class Internet layer
  • services
  • IP addressing
  • reading: Ch 16
September 6 Internet layer
  • routing
  • reading: Ch 12
Internet layer
  • routing
September 13 Internet layer
  • forwarding and ARP
  • fragmentation and reassembly
  • reading: Ch 18, 19
Network programming
  • client/server model
  • reading: Ch 23
September 20 Network programming
  • BSD sockets interface
  • reading: Ch 24
Network programming
  • BSD sockets interface
September 27 Network programming
  • examples
  • reading: Ch 25
Midterm Exam 1
October 4 Transport layer
  • services
  • unreliable transport (UDP)
Transport layer
  • TCP overview
  • connection setup/down
  • reading: Ch 22
October 11 Transport layer
  • data transfer
  • reliability
Transport layer
  • reliability
October 18 Transport layer
  • congestion control
Transport layer
  • congestion control
October 25 Application layer
  • DNS
  • reading: Ch 26
Application layer
  • DNS
November 1 Application layer
  • WWW/http
  • reading: Ch 29
Application layer
  • WWW/http
November 8 Application layer
  • other protocols (email, ftp, rlogin/telnet)
Midterm Exam 2
November 15 Data link layer Data link layer
November 22 Data link layer Thanksgiving. No class.
November 29 Slack Slack