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:
Storey Engineering and Innovation Center, Room 2259 and
Virtual on Blackboard Collaborate
Office Hours:
Tuesday & Thursday; 1:30 pm – 2:30 pm
or by appointment
TA:
Matthew Sharp (mpsharp@email.sc.edu)
Office:
Virtual on Blackboard Collaborate
Office Hours:
Monday, Wednesday 2:00 pm – 3:00 pm
or by appointment
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)
Coursework and 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
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.