Purdue University · West Lafayette · Spring 2021
Lecture (Section 001): Mon, Wed, Fri, 1:30–2:20pm in ME 1061
Lecture (Section OL1, EPE, OXE): Asynchronous Online
Instructor
Vishal Shrivastav
Assistant Professor
Office: EE 334B
vshriva@purdue.edu
Office Hours
Wed 4–5pm on Zoom
The goal of this course is to provide students with a proper grounding in the fundamentals of computer networking. The course will cover classic concepts such as Internet architecture, naming and addressing, routing, forwarding, reliability, flow control, congestion control, and socket programming. The later part of the course will introduce students to more recent developments in computer networking, such as software-defined network, programmable data plane, and datacenter network. The course will also provide students a hands-on experience of building practical and efficient networked systems and applications through various programming assignments.
All course materials and grades will be posted on Brightspace. We will use Piazza as the discussion forum to post and discuss questions regarding the course.
This course has four sections — 001 (in-person lecture), and OL1, EPE, OXE (asynchronous online). All in-person lectures will be live-recorded in class and the videos will be made available on Brightspace to the online sections. All sections will be managed similarly in terms of assignments, exams, and grading.
1. | Internet Architecture Principles |
2. | Data Link Layer – MAC Addressing, ARP, CSMA/CD, Switched Ethernet, MAC Learning, STP |
3. | Network Layer – IP Addressing, NAT, IP Forwarding, Distance Vector, Link State, BGP, DNS |
4. | Transport Layer – UDP, TCP Reliability, TCP Flow Control, TCP Congestion Control |
5. | Application Layer – Web, HTTP, TLS, HTTPS, HTTP/2, QUIC |
6. | Socket Programming |
7. | Network Security |
8. | Router Architecture |
9. | Software-defined Network |
10. | Programmable Network |
11. | Datacenter Network |
Computer Networks: A Systems Approach (5th edition), by Peterson and Davie, Morgan Kaufmann, 2011, Hardcover ISBN: 9780123850591, eBook ISBN: 9780123850607. The eBook is available for free through Purdue's online library—at this webpage click "Safari" and search for the book title. Note that while the class has a textbook, we will not follow its order of presentation; instead, we will use the textbook as a reference when covering each topic. The primary learning resource for this class will be the lecture slides posted on Brightspace.
70% — Programming Assignments
30% — Final Exam
Final exam will be closed-book with no collaboration allowed. The exam will cover the entire syllabus.
Students who are most active and helpful in answering questions on Piazza may receive bonus points.
● |
Thomas J Agnello Undergraduate Grader tagnello@purdue.edu |
Unless expressly allowed, students are expected to complete all the exams and programming assignments by themselves. However, students are allowed to discuss general issues with other students (programming techniques, clearing up confusion about requirements, etc.). Students may discuss particular algorithmic issues on Piazza (but they must not post or copy code!). If there is any doubt, students should contact the instructor.
Course staff will be using software designed to catch plagiarism in programming assignments and copying on exams. A student is considered in violation of the academic honesty policy regardless of whether they are the one "copying" or the one "being copied from".
Punishments for academic dishonesty are severe, including receiving a failing grade in the course or being expelled from the university. By departmental rules, all instances of cheating will be reported to the Dean of Students. On the first instance of cheating on a programming assignment or exam, students involved will receive a 0; the second instance of cheating will result in a failing grade in the course.
Use of Copyrighted Materials. All course materials, including lecture slides, videos and lecture recordings, programming assignments, examinations, and solutions are subject to Purdue's copyright policies. Students must not share, distribute, or post any material on an online web site without checking with the instructor.