About the course
This is an introductory course on computer networks. The course covers some of the key protocols in each layer of the protocol stack in a top-down fashion. This is a hands-on, programming-heavy course. The course is structured with a series of programming assignments, a mid-term exam, and a final exam. Please look at the complete syllabus.
- Discussion forum, programming assignments, slides, videos: Piazza
- Syllabus, schedule, readings: this page
- Graded exams: Gradescope
- Grades: Blackboard, gradescope
Textbook
Computer Networking: A Top-Down Approach by Kurose and Ross (8th edition)
Exam schedule
- Midterm exam: October XX (Monday)
- Final exam: See the general schedule here
Topics covered (tentative)
- TCP/IP layering model of the Internet
- HTTP, SMTP, P2P
- Domain Name Service (DNS), Video Streaming
- Socket API
- UDP, TCP
- Reliable data transfer and congestion control
- IP protocol
- Intra domain routing: OSPF, RIP
- Inter domain routing: BGP
- Architecture of routers
- Link layer: media access control
- Address learning, spanning tree protocol
- Wireless networks
- Cellular networks
- Network security: cryptography, TLS, IPsec, firewalls
Reading list
Tutorials
- Socket programming: Socket programming primer
- GIT: Git primer
- Python: Learn Python in 10 minutes