You can’t gaze in the crystal ball and see the future. What the Internet is going to be in the future is what society makes it.
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.
- The Big Picture: Layers of Protocols
- Lab: Parsing Captured Network Packets
- Socket Programming, and DNS
- Lab: Write a DNS client
- Web Protocols
- Lab: Writing a Caching HTTP Proxy
- Reliable Data Delivery
- Routing, and the Structure of the Internet
- Lab: Implementing Traceroute
- The Link Layer and Local Area Networks
- Network Security
- 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.
This course assumes confident programming ability in any language.
Schedule and price
Computer Networking will next run 5:00pm-6:30pm Mondays and Thursdays, 6 May - 13 Jun 2019. The total price is $1800.
Each networking class deepened my understanding of devices and tools I use daily, which made me a more capable engineer. Case in point, we’ve had an intermittent bug at work that popped up again recently. This time, however, I was able to solve it within minutes due to what I learned in Bradfield’s networking course. That’s a huge ROI.
Bradfield’s Computer Networking course has changed the way I work. Before this course, I had a notion of what was going on under the hood, and knew enough important-sounding words to keep up with my co-workers when talk turned to networking. But now I feel much more confident reasoning about latency and throughput issues, discussing pros and cons of various protocols, and in fact, my general problem-solving and debugging skills seemed to have improved dramatically. I had an aha moment nearly every class. I highly recommend this course to all my friends who think networking is some big black box of magic. Understanding this stuff feels so good!
Computers almost never operate in isolation any more. Understanding how and why they talk to each other has allowed me to write programs for the web much more confidently, and it will carry over to the next big networked platform as well.