CSCI-4964 Computer Communication Networks Syllabus

Instructor: Buster Holzbauer ()

Office Hours: by appointment

Graduate TA: Bingsheng Yao ()

Office Hours: W noon-1:30p, F 2:00p-3:30p (all in EST)

Assignments and lectures will be posted via Submitty as the course progresses. We will also use the Submitty Discussion Forum and Cisco Webex Meetings to communicate, and Mediasite (link on Submitty under "Course Materials") to host the lecture recordings. Lectures will be pre-recorded, but I will be actively watching for questions and if needed will make followup videos. I suggest that you pause and write down questions as you watch through the lectures, so that you don't have to remember a question from 45 minutes ago.

Pre-requisites: CSCI 2300 Intro to Algorithms; CSCI 2500 Computer Organization or ECSE 2660 "COCO"

Topics: Introduction to the internet / computer networks, application layer, transport layer, network layer, link layer concepts, perhaps some wireless network materials. Basics of security. Other topics may be added.

About the Course: This course is based on ECSE-4670 Computer Communication Networks, and it is quite likely you cannot receive credit for both courses (formal paperwork will be filed this Fall). There will be some adaptation specific to this semester due to the remote instruction situation.

The exams will contain quantitative problems, true/false questions and short-answer questions. The focus will be on understanding of concepts, and problem-solving skill. Exams will be open-book/notes, but will be time-constrained. Material from lecture slides, text and reading/homework assignments will be included in the scope of exams. Exams will be administered in class.


The grading scheme might change slightly but the approximate breakdown is:

Grades will use traditional cutoffs of:

Homework assignments will be submitted through Submitty and must be typed and submitted as a Portable Document Format (PDF) file with each problem starting on a new page. You are welcome to use a word processor such as Microsoft Word, LaTeX, or a solution of your choosing. There will be a 20% deduction for poorly organized submissions or PDFs consisting of scanned/photographed paper. Where applicable, show your work.

Programming assignments will be submitted through Submitty as well. Assignments will not be accepted over e-mail. While you will not be graded on programming style, we recommend trying to write readable and well-designed code to assist in partial credit. Programming Assignments 1 and 2 will use Python, while for Programming Assignment 3 you will have your choice of C++ or Python.

Late Work Policy: There are no late days in this course, all work is expected to be submitted by the deadlines provided in assignment handouts/the syllabus. If you have a legitimate excuse you should get it approved through Student Success / your class dean. Due to the online nature of the semester, excuses may have to be handled through instructor email. Try Student Success first.

Textbook: The textbook we use is the 7th edition of "Computer Networking: A Top-Down Approach " by Kurose and Ross. [Amazon] The publisher does have digital versions [Pearson] but the RPI bookstore may have other links / pricing.

Academic Integrity: Student-teacher relationships are based on trust. Acts which violate this trust undermine the educational process. Violations of academic integrity will not be tolerated. Please refer to the Rensselaer Handbook for definitions of various forms of academic dishonesty and the applicable penalties. We take cheating very seriously; you can expect to be punished for violations of academic integrity. Cheating will result in a 0 on the gradeable in question and full letter reduction of the semester grade. A second offense will result in an automatic F in the course.

Schedule: Topics and timing are subject to change:

All due dates refer to 11:59:59 PM unless otherwise specified.

May 261.1 - 1.3Syllabus, Introduction, Circuit and Packet Switching
May 291.3 - 1.5Network Structure, Delay, Loss, and Throughput, Layering ModelsHW1 Assigned
Jun 22.1.1 - 2.1.3, 2.2.1 - 2.2.4Layering Models, Transport/Application Layer, HTTP
Jun 52.2.5, 2.7, 2.3HTTP, SMTP, IMAP, POP3, Python Socket CodeHW1 due | PA1: HTTP Assigned
Jun 92.6, 2.4Streaming, DNS
Jun 122.5, 3.1, 3.2P2P, Transport Layer, Multiplex/DemuxPA1 due | HW2 Assigned
Jun 163.3, 3.4.1UDP, TCP overview, Reliable Data Transfer
Jun 193.4.2 - 3.4.4, 3.5.1 - 3.5.4Pipelining, Go Back N / Selective Repeat, TCP ReliabilityHW2 due | HW 3 Assigned
Jun 233.5.5 - 3.5.6, 3.6, 3.7TCP Flow Control / Connections, CA Principles, TCP CA
Jun 26HW3 due | EXAM 1 (Ch 1-3)
Jul 74.1 - 4.2Network Layer, RoutersPA 2: Reliable Data Transfer Assigned
Jul 104.3 - 4.4IP Datagrams / Addressing, NAT, Longest Prefix MatchingHW4 Assigned
Jul 145.1 - 5.3Exam 1 Discussion, Routing Table, Link-State, DVR, OSPF
Jul 175.4BGP, SDNHW4 due | HW5 Assigned
Jul 215.5 - 5.6, 6.1 - 6.3ICMP, Link Layer, Error Detection, Multiple Access
Jul 246.4Ethernet, Switched LANsHW5 due | HW6 Assigned
Jul 286.6 - 6.7Data Centers, "The Big Picture" review, VLSM review problemPA 2 due
Jul 31EXAM 2 (Ch 4-6)HW6 due | PA3: Routing Assigned
Aug 48.1 - 8.2EXAM 2 Discussion, Cryptography Concepts
Aug 78.3 - 8.5End-Point Authentication , PGPHW7 Assigned
Aug 118.6 -8.7, 8.9SSL, IPSec/VPN, Firewalls/IDP
Aug 14TBDHW7 due
Aug 18PA 3 workdayPA 3 due