CSCI 6760 - Computer Networks

Fall 2020


Instructor Prof. Roberto Perdisci (email: perdisci [at] uga.edu)
Credits 4
Location All classes will be in Boyd GSRC 222
Time 2:20pm-3:35pm TR, 3pm-3:50pm W -- (see the official schedule)
Prerequisite Knowledge Programming Languages/OS: good knowledge of Python and Linux.
Office Hours Tuesdays and Thursdays, 3:35-4:35pm (online only, by appointment)

NOTE: The course syllabus is a general plan for the course; deviations announced to the class by the instructor may be necessary.

Course Overview

The Internet has become a fundamental component of modern life. An increasingly large number of people rely on the Internet to communicate with one another, search for information on the most diverse topics, do business, find and purchase goods, etc. This course focuses on how the Internet works. We will start by viewing the Internet for what it really is, namely a large number of interconnected computer networks, and analyze how devices connect to the Internet to exchange information. We will first analyze some of the most important application protocols such as HTTP, SMTP, DNS, etc., that enable Internet nodes to request and offer services (e.g., access web pages, send emails, etc.). We will then move down the OSI model to consider the transport and network layers, with focus on understanding the UDP and TCP protocols, flow and congestion control, and the IP and routing protocols. Next we will consider the link and physical layers. Finally, we will discuss topics related to Network Security, such as spoofing, poisoning, Firewalls, etc. 

Prerequisite Knowledge: The class projects will require a good knowledge of the Python programming language. Furthermore, most projects will be based on code written mainly for Linux systems, therefore good familiarity with Linux is also required.

Books:
  • Textbook: Computer Networking: A Top-Down Approach, 7/e
    James F. Kurose and Keith W. Ross
    Pearson

  • Recommended Readings: TCP/IP Illustrated, Volume 1: The Protocols
    W. Richard Stevens
    Addition Wesley

  • Recommended Readings: Network Security: Private Communication in a Public World, 2/e
    Charile Kaufman, Radia Perlman, Mike Speciner
    Prentice Hall

  • Other resourcesThe TCP/IP Guide
    Charles M. Kozierok
    Available online at: http://www.tcpipguide.com/free/index.htm

Grading

Students will be evaluated using the following criteria:

Paper Presentations = 15%
Assignments and Development Projects = 35%
Exams = 50%

Paper Presentations
Students will be required to read one or more academic papers, RFCs, and other network protocol documentation, as assigned by the instructor, and present the topic to class.
NOTE: some of the topics discussed in the assigned papers and RFCs will be part of the midterm and final exams.

Assignments and Development Projects
Throughout the course, students will be required to complete a number of development projects. Some development projects must be conducted individually, while others may be conducted in pairs (the instructor will indicate which ones in class). The projects will focus on network programming in Linux using Python. Other assignments will focus on the analysis of network traffic traces. Each successfully completed assignment will be attributed X points, where X will vary depending on assignment difficulty.

IMPORTANT: development projects may be evaluated using a binary criteria: "program works correctly" = max points; "program does not work according to specifications" = 0 points. Possible exceptions to this rule will be announced during class.

LATENESS POLICY: Students are allowed at most one late submission throughout the semester, and the late submission must be received no more than 3 days past the deadline. If this threshold is exceeded, all late assignments will be penalized 100% (i.e., 0 points).

Midterm and Final Exams
The midterm exam will include topics covered up to the exam date. The final exam may include all the topics studied during the entire course, with more emphasis on topics covered during the second half of the term. Both the midterm and final exams may include topics from the academic papers assigned for review.

Adjustments due to Covid-19
The course will be conducted mostly synchronously, with hybrid in-person and online streaming lectures (via Zoom). Asynchronous lectures may also be used if/when necessary.
Projects and other assignments will be submitted via eLC. Exams will be conducted exclusively online. More information related to the technical details of how exams are to be conducted will be provided during the course.

Academic Integrity and Ethics

As a University of Georgia student, you have agreed to abide by the University’s academic honesty policy, “A Culture of Honesty,” and the Student Honor Code. All academic work must meet the standards described in “A Culture of Honesty” found at: www.uga.edu/honesty. Lack of knowledge of the academic honesty policy is not a reasonable explanation for a violation. Questions related to course assignments and the academic honesty policy should be directed to the instructor.

Covid-19 Response

Students are responsible for following the latest guidelines on Covid-19 response, including wearing face coverings and self-monitoring.

For updated information about Covid-19 response please visit the UGA Coronavirus Information and Resources website

Mental Health and Wellness Resources

If you or someone you know needs assistance, you are encouraged to contact Student Care and Outreach in the Division of Student Affairs at 706-542-7774 or visit https://sco.uga.edu.
They will help you navigate any difficult circumstances you may be facing by connecting you with the appropriate resources or services. UGA has several resources for a student seeking mental health services or crisis support.
If you need help managing stress anxiety, relationships, etc., please visit BeWellUGA for a list of FREE workshops, classes, mentoring, and health coaching led by licensed clinicians and health educators in the University Health Center.
Additional resources can be accessed through the UGA App.