Notes from Stanford CS144 Course

Siddharth Bhatnagar · March 25, 2025

I’ve decided to start dedicating each month of the year to learning/polishing a core CS area, there’s always something new to learn out there. For me particularly, there’s a lot! I whiled away my time during my undergrad for the most part, so hopefully this fixes my foundation. For areas where I’m quite confident (Algorithms), I’ll try and take on tougher challenges

For April, I’ve selected Computer Networks, this is partly motivated by my work at ELB team at AWS, and the course that I’ll be doing is Stanford CS144.

course website: https://cs144.github.io/

Unit 1

  • Important networking design principles:
    • Layering
    • Encapsulation
    • Packet Switching
  • Key concept: reliable bytestream over unreliable network
    • can be arranged in different ways to achieve different applications
    • E.g. client-server, bittorrent, skype

Twitter, Facebook