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/mobile networks and devices, queuing fundamentals, security,
and network management.
The majority of readings for this course will come from the following
two mandatory books:
James F. Kurose and Keith W. Ross, Computer Networking, 6th Edition,
Pearson Addison-Wesley, 2013.
Michael J. Donahoo and Kenneth L. Calvert, TCP/IP Sockets in C: A
Practical Guide for Programmers, 2nd Edition, Morgan Kaufmann,
A detailed list of lectures, readings, homeworks, due dates (subject
to change as the semester evolves) is available on the
Students will be evaluated based on the following breakdown:
- 15% Homeworks
- 20% Projects
- 25% Midterm
- 35% Final
- 5% Class Participation
The course will include one midterm and one final exam. Students
will be responsible for material covered both in the text AND lectures.
Attendance is therefore recommended as not all class discussions will
be covered in the text.
Homeworks and Projects
This course will consist of three homeworks and four programming
projects. Hard copies of assignments or digital copies turned
in via T-Square are due at the beginning of class. Projects
must be written in the C programming language (except when specified by
Professor Traynor) and submitted to T-Square as a single tarfile by
5:00 on the due date. See the lateness policy below.
Note that this is a systems course - successfully completing coding
assignments is a necessary condition for earning a desirable grade.
To do well in this course, students must take active and regular roles
in discussion and demonstrate comprehension of the reading and lecture
themes. Students are required to do the assigned reading before
class. This will be closely monitored by Professor Traynor.
Assignments and project milestones are assessed a 15% per-day late
penalty, with a maximum of 3 days. Unless the problem is apocalyptic,
don't give me excuses. Students with legitimate reasons who contact
the professor before the deadline may apply for an extension.
Academic Integrity Policy
Students are required to follow the university guidelines on academic
conduct at all times. Students failing to meet these standards will
be reported to the Office of Student Integrity, which
can result in the student receiving an 'F' for the semester and
potential separation from Georgia Tech. Note that students are
explicitly forbidden from copying anything off of the Internet (e.g.,
source code, text, slides), using anything from an answer guide, or
copying code/answers from each other for the purposes of completing
any assignment or a course project. Source code will be checked using
automated tools to detect cheating. Dishonest behavior will absolutely
not be tolerated. If you have a question regarding this policy, please
consult with Professor Traynor.