CSCI 4760/6760 - Computer Networks
|Instructor||Prof. Roberto Perdisci|
|Location||M,T,R: Boyd GSRC - Room 208
|Time||M: 11:15am-12:05pm, TR: 11am-12:15pm (also
see course calendar)
|Prerequisites||Programming Languages: Java/Python/C,
Familiarity with Linux
|Office Hours||Tuesdays, 3:15pm-5pm (Boyd GSRC, Room 423)
- Office hours: TBD
|NOTE: The course syllabus is a general plan
for the course; deviations announced to the class by the
instructor may be necessary.
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 Mobile Networks and Network Security.
Prerequisites: The class projects will require a good knowledge of the Java programming language. Most projects and assignments will be based on Linux-based systems, and therefore familiarity with Linux is also required.
Students will be evaluated using the following criteria (U=undergrads, G=grads):
Class Participation: U,G = 5%
Homework Assignments: U=15%,G=10%
Development Projects: U=20%,G=15%
Paper Review and Presentations: U=N/A,G=10%
Midterm Exam: U,G=30%
Final Exam: U,G=30%
The lectures will include topics that are not necessarily covered in the textbook. This topics will be part of the midterm and final evaluations, therefore class participation is highly recommended. In addition, because class participation is worth 10% of the final grade, students will be required to sign an attendance log.
Development Projects and Assignments
Throughout the course, students will be required to complete a number of development projects and other assignments. Some development projects must be conducted individually, while others may be conducted in pairs (I will indicate which ones in class). The projects will focus on network programming in Linux using Java. Other assignments will focus on the analysis of live network traffic traces and pencil-and-paper homework. Each successfully completed assignment will be attributed X points, where X will vary depending on assignment difficulty.
IMPORTANT: Most development projects will 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).
Paper Reviews and Presentations (Grads Only)
Graduate students will be required to read, review, and present one or more academic papers during the course. Presentations will be given to the entire class, and must consist of a conference-like high quality description of technical paper content.
Midterm and Final Exams
The midterm exams will include topics covered up to the exam date. The final exam may include all the topics studied during the entire course, although the main focus will be on topics covered during the second half of the term.
|Academic Integrity and
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.