CS 352 Fall 2023 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, three modest programming projects using Python3, two mid-terms and a final exam.

Instructors:

Sections 01-05 Richard Martin, rmartin AT scarletmail.rutgers.edu

Selected Textbook Chapters will be from::
Computer Networks, Andrew S. Tanenbaum, first edition.

Computer Networking, James Kurose and Keith Ross, sixth edition.


Course Times:

Sections 01-04: Lectures: Tuesday and Fridays 12:10-1:30PM, Beck Auditorium, Livingston
Recitations:

Teaching Assistants:

Negin Dehghanchakestori nd798@scarletmail.rutgers.edu
Alborz Jelvani alborz.jelvani@rutgers.edu
Vishwas Gowdihalli Mahalingappa vg421@scarletmail.rutgers.edu

Office Hours

Richard Martin: Tuesdays, 2-3PM, Tillett hall, room 111L

Alborz Jelvani
Thursdays 11AM - 12PM
https://rutgers.zoom.us/my/aj654?pwd=MkRqVW0yalc4Tis1cmVCLzh0d3p2UT09

Negin Dehghanchaleshtori
Tuesdays 11AM-12PM
https://rutgers.zoom.us/j/93550797386?pwd=RXNHNVhvSjRDT0IrSkNoSTJyUURXQT09
Meeting ID: 935 5079 7386
Password: CS352

Vishwas Gowdihalli Mahalingappa
Office Hours: Fridays 11AM - 12PM
Zoom Link: https://rutgers.zoom.us/j/8653878407?pwd=NVVTZVBMZjJZSVVLMEx1a1Y3OFhhUT09

Grading

On-Line Homeworks (20%)

1.      12 possible on-line weekly on-line home works, 10 selected for grading: 20% total, 2% each, no late home works will get credit.

In-Person Exams (40%)

There are 3 in-person exams. The top 2 will be selected for the final grade.

1.      In-Person Midterm 1: 20%

2.      In-Person Midterm 2: 20%

3.      In-Person Midterm 3: 20%

Programming Assignments (40%)

There are 4 programming projects in Python3. Programming assignments can be up to 2 weeks late. Late assignments get 50% credit.

1.      NTP Client: 8%, a late assignment gets a 50% point reduction.

2.      Simple TCP Client-Server: 10%, a late assignment gets a 50% point reduction.

2.      HTTP Server: 12%, a late assignment gets a 50% point reduction.

3.      Wireshark Packet Analysis: 10%, a late assignment gets a 50% point reduction.

Extra Credit

1.      Class Attendence: up to 10% extra, 0.5% each lecture, missed classes are not eligible for extra credit.

 Click here to goto the main Canvas Site



Week

Dates

Topics

Book Chapters from
Kurose & Ross

Python
Readings

Homework See: Canvas

Tests & Quizzes

Assignments:

See the Canvas site

Assignments

Exam

1

Sept. 3-9

Introduction
Layering

1.1-1.3,1.5

Loops,Arrays
Dictionaries

Homework 1



2

Sept. 10-16

Sockets
Switching

1.4,1.6-1.8


Homework 2



3

Sept. 17-23

Application Layer
DNS

2.1-2.5

UDP Sockets

Homework 3



4

Sept. 24-30

Transport Algorithms

3.1-3.4


TCP Sockets

Homework 4


NTP Client


5

Oct. 1-7

UDP and TCP

3.5-3.8

Threads

Homework 5

Midterm 1
Fri., Oct. 6th

6

Oct. 8-14

Queuing Theory
M/M/1 queues

Handout


Homework 6

Simple TCP
Client-Server

7

Oct. 15-21

Queue management

7.5.1, 7.5.2


Homework 7


8

Oct. 22-28

Routing
Internet Protocol

4.1-4.4


Homework 8



9

Oct.29 - Nov.4

Routing Algorithms

4.5-4.6


Homework 9


Midterm 2
Fri.,Nov.3rd

10

Nov. 5-11

Peer-2-Peer

2.6, slides


Homework 10

HTTP Server


11

Nov. 12-18

Link Layer part 1

5.1-5.4


Homework 11



12

Nov. 19-25

Link Layer part 2
Wireless

5.5-5.8
6.1-6.4

Pcap Libraries

No Homework


13

Nov. 26-Dec.2

Security Part 1

8.1-8.4


Homework 12



14

Dec. 3-Dec. 9

Security Part 2

8.5-8.10





15

Dec. 10-13

Slack



No Homework

Wireshark Analysis


16

Dec. 22






Midterm 3
Final Slot