CS 3251: Computer Networking I

Summary and Objectives

Communications networks are fundamental to our everyday lives. Whether for enabling global scale commerce or connecting long lost friends, these systems have created an unparalleled age of information. Accordingly, knowledge of such systems is critical for all scientists and engineers. This course provides an overview of networking technologies. Students satisfactorily completing this course will gain the skills necessary to analyze and design networking systems and protocols. The course will begin with the application layer, looking at design patterns present in common application layer protocols. We then move down the network stack, considering topics such as reliable transmission and congestion control at the transport layer, routing at the network layer, and multiple access protocols at the link layer. After this discussion, the latter portion of the course will include wireless and mobile networks, queuing fundamentals, security, Quality of Service (QoS), and network management.


There is one mandatory textbook for this course: James F. Kurose and Keith W. Ross, Computer Networking: A Top-Down Approach, 5th ed, ISBN: 0-136-07967-5.

Academic Honesty

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.


Grading will be based on three problem sets, two quizzes, and a semester-long project with a presentation and writeup. Participation will count for "fudge factors".

Please try your best to turn in homework assignments and projects on time. Each student is allowed a total of 4 "late days". Once you use up the quota, no late homework assingment or project will be accepted. The smallest granuality of time is a day, which means if a homework assignment or project is late for an hour, it is considered as being late for a day.


Papers will not be handed out in class. Please read them before class.
For your convenience, here is a complete reading list. Please note that this schedule is tentative and subject to change throughout the course of the term.

Lecture Date Topics Notes/Resources Preparation
Computer Networks and the Internet
1 Tue 01/12 Introduction and Course Overview
2 Thu 01/14 Networking Design Principles
3 Tue 01/19 Network Programming (sockets)
The Link Layer and Local Area Networks
4 Thu 01/21 Addressing and Forwarding
5 Tue 01/26 Error Detection, MAC
The Network Layer
6 Thu 01/28 IP Packet Switching
7 Tue 02/02 IP Addressing and Forwarding
8 Thu 02/04 Intradomain Routing
9 Tue 02/09 Interdomain Routing
10 Thu 02/11 Internet Economics and Peering
11 Tue 02/16 Broadcast and Multicast
The Transport Layer
12 Thu 02/18 Connectionless Transport
13 Tue 02/23 Connection-Oriented Transport: TCP
14 Thu 02/25 Resource Management and Congestion Control
15 Tue 03/02 TBD
16 Thu 03/04 Naming: DNS
17 Tue 03/09 Bootstrapping: DHCP and BOOTP
18 Thu 03/11 TBD
19 Tue 03/16 Midterm Review
Thu 03/18 Midterm
Tue 03/23 Spring Break
Thu 03/25 Spring Break
20 Tue 03/30 HTTP and the Web
21 Thu 04/01 Overlay Networks
22 Tue 04/06 Peer-to-Peer
23 Thu 04/08 Quiz Redux
24 Tue 04/13 Streaming
25 Thu 04/15 Network Security Overview
26 Tue 04/20 Routing Security
27 Thu 04/22 802.11 and Mobility
28 Tue 04/27 Disruption-Tolerant Networks
Thu 04/29 Final Exam

Home Reading Syllabus validate