ABOUT THIS COURSE
This is a self-paced introductory course on computer networking, specifically the Internet. It focuses on explaining how the Internet works, ranging from how bits are modulated on wires and in wireless to application-level protocols like BitTorrent and HTTP. It also explains the principles of how to design networks and network protocols. Students gain experience reading and understanding RFCs (Internet protocol specifications) as statements of what a system should do. The course grounds many of the concepts in current practice and recent developments, such as net neutrality and DNS security. A textbook is recommended, but not required: you can use either Peterson and Davie or Kurose and Ross, any version in the past 5 years will do.
PREREQUISITES
Students need an introductory course in probability, a strong understanding of binary numbers, bits and bytes, and knowledge of how computers lay out data in memory. They should also be comfortable with algebra. At Stanford, this course is typically taken by undergraduate seniors and first or second year masters students.