Computer Networking

Next running

15 Oct - 22 Nov
7:00pm-8:30pm Tue/Fri


San Francisco



Apply for this course

Given that so much of software engineering is on web servers and clients, one of the most immediately valuable areas of computer science is computer networking.

Our course is scoped to provide the working web or infrastructure engineer with the networking fundamentals required to excel at their roles. It is structured around a simplified five layer version of the OSI seven layer model of computer networks.

Our self-taught students who methodically study networking find that they finally understand terms, concepts and protocols that they’d been surrounded by for years.


  1. The Big Picture: Layers of Protocols
  2. Lab: Parsing Captured Network Packets
  3. The Domain Name System
  4. Lab: Write a DNS client
  5. Web Protocols
  6. Lab: Writing a Caching HTTP Proxy
  7. Reliable Data Delivery
  8. Routing, and the Structure of the Internet
  9. Lab: Implementing Traceroute
  10. The Link Layer and Local Area Networks
  11. Network Security
  12. Future Network Protocols

Projects and exercises

The practical component of this course involves a number of small exercises, such as parsing a packet capture file, writing a small load balancer and designing a reliable delivery protocol.

Assumed knowledge

This course assumes confident programming ability in any language.

Available sessions

15 Oct - 22 Nov
7:00pm-8:30pm Tue/Fri
San Francisco
18 Feb - 27 Mar 2020
5:00pm-6:30pm PT Tue/Fri
Live online

This course will next be taught by

Oz Nova

Oz is the lead instructor at Bradfield, and most frequently teaches Algorithms and Data Structures, Computer Architecture, Databases, Operating Systems and Distributed Systems. Prior to co-founding Bradfield, he worked for a decade as a software engineer and engineering manager, including as CTO and Co-founder of Topguest (acquired by Switchfly) and