Ask HN: What are some essential side projects that make you better at CS?

  • Here are a few I’d consider useful:

    - Writing some programs in an Assembly language

    - building a boot loader

    - Implementing some neural network

    - Implement some common protocols (DNS client, HTTP server, IMAP server, etc)

    - Conway’s Game of Life

  • implementing a web server from scratch out of tcp socket got me better at understanding http protocols and multi-threaded programming.