csce416_f20

CSCE 416: Introduction to Computer Networks

Fall 2020

Home

Schedule


Course Description:

Computer networks are one of the critical and most influential global infrastructures today. The goal of this course is to provide a fundamental view behind the general purpose computer networks: the principles upon which the Internet and most other computer networks are built; how those principles translate into deployed protocols; and hands-on experience solving challenging problems with network protocols.

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.

Course Logistics:

Lecture Time & Location: Tuesday & Thursday; 2:50 pm – 4:05 pm; 300 Main St. B103 and Virtual on Blackboard Collaborate

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

Learning Outcomes:

  • Demonstrate an understanding of the elements of a protocol and the concept of layering
  • Describe how to control access to a shared channel by multiple stations
  • Explain the concepts of error control, flow control and congestion control
  • Illustrate how a packet is routed over the Internet
  • Design, build, and describe a client-server application

Textbooks:

  • Required: Computer Networking: A Top-Down Approach, by Jim Kurose and Keith Ross, 7th Edition
  • Recommended: Computer Networks, by Andrew S. Tanenbaum
  • Recommended: Computer Networks: A Systems Approach, by Larry L. Peterson and Bruce S. Davie

Prerequisites:

  • Basic understanding of computer architecture and operating systems
  • Basic understanding of probability and statistics
  • JAVA programming (preferably in Unix)

Grading:

  • 25% In-class Quizzes: There will be five in-class quizzes; each quiz will account for 5% of the final grade. The quizzes will follow a multiple choice question and answer format and will cover topics covered in the class so far. We will try to announce the dates at least three days before the quizzes.
  • 25% Programming Assignments: There will be five programming assignments (including protocol debugging). The detailed assignment instructions will be posted on the Blackboard. All the assignments have to be done individually. Assignment reports and codes must be submitted through Blackboard.
  • 25% Midterm Exam: The midterm exam will cover topics discussed in the class till then. Date: October 13 (tentative).
  • 25% Final Exam: The final exam will be a comprehensive exam covering all the topics discussed during the semester. Date and time: December 8 at 4:00 pm.

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

Course Policies:

Assignment Submission Policy: All the assignments have to be done individually. Assignment reports and codes must be submitted through Blackboard.

Grade appeals for any assessment must be requested (via email to me) within three (3) days of my posting the assignment grade to Blackboard. While I will always answer your questions on the grading of an assessment, your score on the assignment will not be changed unless you request a grade review during the 3-day grade appeal time period.
Attendance Policy: Students are expected to regularly attend the class or view the virtual lectures, keep up with the course materials, and ask the instructor questions.

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.

schedule

CSCE 416: Introduction to Computer Networks

Fall 2020

Home

Schedule


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