CS 352 Fall 2020 Overview
Summary:
This course covers the technology and theortical foundations underlying the Internet and computer networks. The course follows a top down approach; we begin with higher layer protocols and follow the networking stack down to the lower layers. Topics in the theory of computer networking are covered, including queuing theory and management. Securing communications is reviewed at the end of the course.
The course work consists of weekly homeworks, a serial programming project building a small web server in Java, two assigments where network traffic is analyized, and a final exam.
Instructors:
Sections 01,02 and H1: Richard Martin, rmartin AT scarletmail.rutgers.edu
Sections 03,04 and 05: John-Austen Francisco, deymious AT yahoo.com
Textbook: Computer Networking, James Kurose and Keith Ross, sixth edition.
Course
Times:
Sections 01 and 02: Asynchronous Remote, by arraignment, see the Sakai Site.
Sections
03,04 and 05:
Lecture Time: Tuesday and Thursday, 8:10PM-9:30PM
Recitations:
Section 03: Wed. 6:55–7:50 PM
Section
04: Mon. 6:55–7:50 PM
Section 05: Tue. 5:15–6:10 PM
H1: (Honors Section): Wed. 1:55PM-2:50PM
Office
hours: On Piazza, see the
Sakai Site
Honors Section: Section H1 is open to students in the various honors programs as well as advanced students by special permission. The programming project will be different from the main sections. The programming project will have students build a networking function of their choice in the Go language. The code will be synthesized and run on an FPGA as well as a CPU. The recitation will be synchronous, (Wed. 1:55-2:50PM )and taught by Prof. Martin. Advanced students interested in this section should contact Prof. Martin.
Programming Project: The programming project will build a small web server in Java in 3 parts. The first part will build a sub-set of the HTTP protocol. The second part will entend the first part by adding the POST method and MIME types to the messages. The final part will add encryption and the Common Gateway Interface to the server.
Wireshark Labs: Students will use the Java pcap libraries to analyze logged network traffic at various level of the stack, including layers 2,3 and 4.
Teaching Assistants: TBA
Grading:
1. 12 on-line weekly home works: 36% total, 3% each, no late home works
2. 2 Wireshark labs: 20% total, 10% each, no late labs
4. 3 Programming assignments (3): 36%, 10%, 12%, 14%, late assignments get a 50% point reduction.
5. On-line final exam: 8%
Click here to goto the main Sakai Site
Week |
Dates |
Topics |
Book Chapters from |
Java |
Homework See: Sakai Tests & Quizzes |
Assignments: See Sakai Assignments |
Exam |
1 |
Aug. 30-Sept. 5 |
Introduction |
1.1-1.3,1.5 |
Sockets |
Homework 1 |
|
|
2 |
Sept. 6-12 |
Sockets |
1.4,1.6-1.8 |
|
Homework 2 |
|
|
3 |
Sept. 13-19 |
Application Layer |
2.1-2.5 |
Pcap libraries |
Homework 3 |
|
|
4 |
Sept. 20-26 |
Transport Algorithms |
3.1-3.4 |
|
|
HTTP v0.8 |
|
5 |
Sept. 27-Oct. 3 |
UDP and TCP |
3.5-3.8 |
Mime libraries |
Homework 4 |
|
|
6 |
Oct. 4-10 |
Queuing Theory |
Handout |
|
Homework 5 |
|
|
7 |
Oct. 11-17 |
Queue management |
7.5.1, 7.5.2 |
|
Homework 6 |
Wireshark Lab 1 |
|
8 |
Oct. 18-24 |
Routing |
4.1-4.4 |
|
Homework 7 |
|
|
9 |
Oct. 25-31 |
Routing Algorithms |
4.5-4.6 |
|
Homework 8 |
|
|
10 |
Nov. 1-7 |
Peer-2-Peer |
2.6, slides |
|
|
HTTP 1.0+MIME |
|
11 |
Nov. 8-14 |
Link Layer part 1 |
5.1-5.4 |
|
Homework 9 |
|
|
12 |
Nov. 15-21 |
Link Layer part 2 |
5.5-5.8 |
HTTPS+CGI |
Homework 10 |
Wireshark Lab 2 |
|
13 |
Nov. 22-28 |
Security Part 1 |
8.1-8.4 |
|
Homework 11 |
|
|
14 |
Nov. 29-Dec. 5 |
Security Part 2 |
8.5-8.10 |
|
|
|
|
15 |
Dec. 6-12 |
Slack |
|
|
Homework 12 |
HTTPS+CGI |
|
16 |
Dec. 13 |
|
|
|
|
|
Final |