CS 144: Introduction to Computer Networking
Principles and practice. Structure and components of computer networks, with focus on the Internet. Packet switching, layering, and routing. Transport and TCP: reliable delivery over an unreliable network, flow control, congestion control. Network names, addresses and ethernet switching. Includes significant programming component in C/C++; students build portions of the internet TCP/IP software. Prerequisite:
CS110.
Terms: Aut
| Units: 3-4
| UG Reqs: GER:DB-EngrAppSci
Instructors:
Winstein, K. (PI)
;
Bell, T. (TA)
;
Raghavan, D. (TA)
...
more instructors for CS 144 »
Instructors:
Winstein, K. (PI)
;
Bell, T. (TA)
;
Raghavan, D. (TA)
;
Rossman, T. (TA)
;
Shah, P. (TA)
;
Zhao, J. (TA)
CS 344: Topics in Computer Networks
This class could also be called "Build an Internet Router": Students work in teams of two to build a fully functioning Internet router, gaining hands-on experience building the hardware and software of a high-performance network system. Students design the control plane in C on a linux host and design the data plane in the new P4 language on both a software switch and a high-speed hardware switch (e.g., Intel Tofino). For the midterm milestone, teams must demonstrate that their routers can interoperate with the other teams by building a small scale datacenter topology. In the final 3-4 weeks of the class, teams will participate in an open-ended design challenge. Prerequisites: At least one student in each team must have taken CS144 at Stanford and completed Lab 3 (static router). No Verilog or FPGA programming experience is required. May be repeated for credit.
Last offered: Spring 2021
| Repeatable
3 times
(up to 9 units total)
Filter Results: