CS 3251 - Computer Networks I
Spring 2007
- TuTh 9:35-10:55 - Russ Clark - Klaus 2447
This Page Last Updated:
Online Help Session is Wednesday, May 2 from 9 to 10 PM. Go to the CS3251
class area of buzzport.
I recommend that you first go to the buzzport preferences and increase your
inactivity timeout setting to 60 minutes. You'll have to log out and back in
for this to take effect.
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
Teaching Assistant and Office Hours
- Ikpeme Erete - ierete3@mail.gatech.edu -
Office Hours Monday and Wednesday 1-2 in CoC Commons area.
All TA office hours will be held in the CoC commons area.
TA's are available to answer your questions regarding class
material and assignments.
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
We will be doing four to five written assignments and
two network programming assignments in this course.
The programs will be written in C, using Sockets, on a Unix system.
Students often ask about doing their programs on some
other platform. In order to simplify life for the TAs,
your programs will be graded on Solaris or Linux systems. If you develop
them elsewhere, be sure to test them well on Solaris or Linux.
We will give you specific reference machines for testing.
You should strive to turn your assignments in on time.
The late homework policy uses a time-credit system.
You are allowed up to 3 "late days" over the course of
the semester. You may use them whenever you like.
For instance, you may use them all on a single assignment or
spread them out over 3 assignments. However, once you
have used your alloted days, additional late assignments
will not be accepted. Also, note that you cannot use less
than a day. If an assignment is 1 hour late it will be
considered a full day.
Here is the planned homework schedule. Check back frequently
for links to the assignments and updates.
-
Homework 1
(due Thursday, January 25)
Assignment,
Solution
-
Programming Assignment 1
(due Sunday, February 11)
Assignment
-
Homework 2
(due Friday, February 16)
Assignment,
Corrected Solution
-
Homework 3
(due Thursday, March 15)
Assignment,
Solution
-
Programming Assignment 2
(due Thursday, April 12)
Assignment
-
Homework 4
(due Sunday, April 22)
Assignment,
Solution
Exams
Exam dates will not change. Make sure you can be here for these dates.
- MidTerm Exam - Thursday, February 22; closed book and notes
- Final Exam - Thursday, May 3 - 9:00-10:50;
closed book and notes
Resources
Textbooks
Other Sockets Information
Other Resources
Watch this space for other supplements!
Grading and Academic Honesty
Your grade will be determined by your performance on programming assignments
and exams. The weights are as follows:
- Written Assignments - 25%
- Programming Assignments - 25%
- Midterm Exam - 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 not copy any solution (or part of a solution) from a
classmate or previous student of this class.
Specifically, the following is not allowed:
- Copying, with or without modification, someone else's work when
this work is not meant to be publicly accessible
(e.g., a classmate's program or solution).
- Submission of material that is wholly or substantially identical
to that created or published by another person or persons,
without adequate credit notations indicating authorship (plagiarism).
You are encouraged to discuss problems and papers with others as long
as this does not involve copying of code or solutions.
Any public material that you use (open-source software, help
from a text, material you find on the web, material from a paper,
substantial help from a friend, etc...) should be acknowledged
explicitly in anything you submit to us.
Course Outline (updated weekly, dates subject to change)
KR = Kurose and Ross; DC = Donahoo and Calvert
- Introduction (Jan 8-12)
- what happens when you click www.papajohns.com (KR Ch 1, 2.1; DC Ch 1)
- Data Link Layer (Jan 15-19)
- MAC Protocols (KR Ch 5.3, 5.5, 5.6, 5.7)
- Client-Server Programming (2 weeks; DC Ch 2-5)
- TCP Client (Jan 23; DC Ch 2)
- TCP Server (Jan 25; DC Ch 2 and 5.1-5.4)
- Application Issues: Data Framing (Jan 30; DC Ch 3)
- UDP Client/Server, Server Architectures (Feb 1; DC Ch 4)
- Internet Protocol (2 weeks)
- Introduction, network interconnection (Feb 6; KR Ch
4.1,4.2,5.6)
- Addressing (Feb 8; KR Ch 4.4)
- Routing (Feb 13-15; KR Ch 4.3,4.5,4.6)
- ARP, DHCP (Feb 20; KR Ch 5.4, 4.4.6, 4.7)
- Transport Protocols (2 weeks - Feb 27 to March 8)
- introduction, service definitions, multiplexing (KR Ch 3.1,3.2)
- UDP (KR Ch 3.3)
- reliable transport (KR Ch 3.4, 3.5)
- connection management (KR Ch 3.5)
- flow control, congestion control (KR Ch 3.6, 3.7)
- Wireless and Mobility (2 weeks - March 13 to March 29)
- Naming and Addressing (1 week - April 3 to April 5)
- Domain Name System (Apr 3; KR Ch 2.5)
- NAT (Apr 24; KR pp. 339-342)
- Network Security (Apr 11-13; KR Ch 4.4.2, 8.6,
RFC 2663)
- Network Applications (2 weeks - April 17 to April 26)
- E-Mail Application Protocols (SMTP,POP,IMAP,MIME) (KR Ch 2.4)
- The Web and HTTP (KR Ch 2.2)
- Streaming and Multimedia Applications (KR Ch 7.4)
- Peer-to-Peer (not covered this semester)
Russell J. Clark
Created: Jan 8, 2007