
This course provides an introduction to fundamental concepts in the design and implementation of computer networks, their protocols, and applications. Topics to be covered include: layered network architectures, applications, network programming interfaces (e.g., sockets), transport, physical media, data link protocols, local area networks and network routing. Examples will be drawn primarily from the Internet (e.g., TCP, UDP, and IP) protocol suite.
Instructor: Sanjib Sur (sur@cse.sc.edu)
Office Hours: Tuesday & Thursday; 1:30 pm – 2:30 pm or by appointment at Storey Engineering and Innovation Center, Room 2259 and Virtual on Blackboard Collaborate
TA: Matthew Sharp (mpsharp@email.sc.edu)
Office Hours: Monday, Wednesday 2:00 pm – 3:00 pm or by appointment at Blackboard Collaborate
Quizzes, midterm exam, and final exam will be held online via Blackboard.
Grading scale: 90 – 100 = A; 87 – 89 = B+; 80 – 86 = B; 77 – 79 = C+; 70 – 76 = C; 67 – 69 = D+; 60 – 66 = D; ≤ 59 = F
Assignment Submission Policy: All the assignments have to be done individually. Assignment reports and codes must be submitted through Blackboard.
Academic Integrity: University policies and procedures regarding academic integrity are defined in the policy STAF 6.25, Academic Responsibility — The Honor Code. Prohibited behaviors include plagiarism, cheating, falsification, and complicity. All potential Honor Code violations will be reported to the Office of Academic Integrity, which has the authority to implement non-academic penalties as described in STAF 6.25. Academic penalties for Honor Code violations include failure of this course.
Student Disability Resource Center: The University of South Carolina is committed to providing access to programs and services for qualified students with disabilities. If you are a student with a disability and require an accommodation to participate and complete requirements for this class, then notify me immediately and contact the Office of Student Disability Services (1523 Greene Street, LeConte College Room 112A, 803-777-6142, sasds@mailbox.sc.edu) for verification of eligibility and determination of specific accommodations. In addition, please provide me the required accommodation letter from the Office of Student Disability Services. All course materials are available in alternative format upon request.

| Date | Topics | Notes |
|---|---|---|
| Aug. 20 | Introduction: Course overview & logistics; Basic concepts of network structure | Course syllabus, lecture 1 slides and recording are available at the Blackboard. Programming assignment 1 is posted on Blackboard. |
| Aug. 25 | Introduction: Basic concepts: Network edge, Network core, Delay, Loss, and Throughput | Lecture 2 slides and recording are posted at the Blackboard; Virtual machine tutorial video is posted; |
| Aug. 27 | Application layer: Architectures; Socket communication; | Lecture 3 slides and recording are posted at the Blackboard |
| Sep. 1 | Application layer: Web and HTTP; | Lecture 4 slides are posted |
| Sep. 3 | Application layer: HTTP; Cookies; Caches; | Programming assignment 1 is due now; Programming assignment 2 is posted; Sample quiz is posted today; |
| Sep. 8 | Application layer: DNS; Revisit application layer; | |
| Sep. 10 | Transport layer: Services; Multiplexing and De-multiplexing; | Quiz 1 is posted; |
| Sep. 15 | Transport layer: UDP; Checksum; | |
| Sep. 17 | Transport layer: Principles of reliable data transfer; TCP introduction; | Programming assignment 2 is due now; Programming assignment 3 is posted; |
| Sep. 22 | Transport layer: TCP handshake; TCP flow control; TCP connection termination; | |
| Sep. 24 | Transport layer: TCP congestion control; | Quiz 2 is posted; |
| Sep. 29 | Transport layer: Revisit UDP and TCP; | |
| Oct. 1 | Network layer: Router architecture; input/output queuing and relationship; | |
| Oct. 6 | Network layer: IP addressing; Subnets; DHCP; | |
| Oct. 8 | Journey down the three layers of protocol stack; Mid-term thoughts; | Quiz 3 is posted; |
| Oct. 13 | Link layer: Services; MAC and ARP; | |
| Oct. 15 | Exam: Mid-term | Online on Blackboard |
| Oct. 20 | Link layer: Error and redundancy check; Synthesis for a web request | |
| Oct. 22 | Link layer: Overview of multiple access protocol; ALOHA; CSMA; Token ring; | Programming assignment 3 is due now; Quiz 4 is posted; |
| Oct. 27 | Link layer: Ethernet and switches; | |
| Oct. 29 | Transport layer: Revisit UDP and TCP; Principles of reliable data transfer; Revisit TCP congestion control; Application layer: Revisit application and transport layer; | Bonus Quiz is posted; |
| Nov. 3 | Network layer: Network control plane; graph abstraction; | Asynchronous Remote Class |
| Nov. 5 | Network layer: Network control plane; graph abstraction; Link routing; Distance vector routing; | Quiz 5 is posted; |
| Nov. 10 | Network layer: Compare LS and DV; Scalable routing; OSPF; BGP; | |
| Nov. 12 | Network layer: Revisit routing algorithm; | Quiz 6 is posted; |
| Nov. 17 | Wireless networks: Overview; Architecture; Channel characteristics; | |
| Nov. 19 | Physical layer: Overview; chracteristics; | Quiz 7 is posted; |
| Nov. 24 | Physical layer: | Face-to-Face Instruction Ends |
| Nov. 26 | Thanksgiving Day (No Classes) | Happy Thanksgiving! |
| Dec. 1 | Transport layer: Revisit transport layer protocols; Glimpses to the future of computer networks; | Asynchronous Remote Class |
| Dec. 3 | Course overview; Final exam thoughts; | Asynchronous Remote Class |
| Dec. 4 - 8 | Exam: Final | Time: 4:00 pm – 6:30 pm; Place: Online on Blackboard |