finds.dev← search

// the find

PKUFlyingPig/CS144-Computer-Network

★ 499 · C++ · updated Jun 2021

Learning materials for Stanford Computer Network course : CS144

One developer's completed solutions to Stanford's CS144 networking labs, where you build a working TCP stack from scratch in C++. This is a student's personal repo, not an official Stanford resource — you're looking at someone else's homework, not a teaching kit.

The lab progression is genuinely well-structured: you build stream reassembly, then TCP receiver, sender, and connection, then a network interface and IP router, and finally wire it all together over real TUN devices. The README's inline implementation notes for the trickier labs (especially the window-size-zero edge case in Lab 3) are honest and save hours of debugging. The build system is solid — CMake with ASan/TSan/UBSan targets baked in, plus clang-tidy and clang-format integration. Having the actual exam PDFs (midterm + final with solutions) in the repo is a meaningful addition that most similar repos skip.

This is a snapshot from June 2021 and hasn't been touched since — CS144 has since migrated to a newer lab framework (minnow), so these solutions target an older codebase that the official course no longer uses. The implementation notes in the README are surface-level ('it took me 5 hours to debug') rather than explaining the actual invariants, so they're more motivational than instructional. There's no discussion of correctness tradeoffs or where the implementation cuts corners relative to RFC 793. If you're following the current CS144 offering, this repo will actively mislead you about what skeleton code you're working with.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →