Table of contents
    A rough view of roadmap
    Resources I'll go through
    Current
    Teaching myself CS

    Teaching myself CS

    Building a computer science curriculum for myself
    .08 May, 2025

    I study things randomly as they interest me. I've picked up useful skills as a result, but haven't gotten a chance to remain under a constant contextual deep study state where I go into the depths of a subject over the course of several months. To rectify that, I need to design a self-made curriculum and stick to it.

    Current things I'm highly motivated to do:

    1. Read Programming from the Ground Up
    2. Learn C
    3. Learn Go
    4. Read Writing an Interpreter in Go
    5. Read Writing a Compiler in Go
    6. Read Structure and Interpretation of Computer Programs

    Keep picking stuff from here and adding to this list.

    A rough view of roadmap

    Loading svg

    Excited newbie: let’s do all the things!!

    Grizzled veteran: we have limited time, energy, morale, goodwill. Keeping this in mind, let’s pick one demonstrably good thing we’re confident we can achieve, and get it done decisively so we unlock more resources to do more things

    Keeping the above quote in mind, I'll not try to do all the things at once. I need to recognize that I'm highly motivated rn, and therefore more susceptible to make that newbie mistake.

    Current goal: only read first 4 chapters of pftgu to build some momentum. That'll be my only focus area. Everyday make some progress on pftgu that's it, even if it's just two lines. The best way to accomplish that is pick it up first thing in the morning. Once I gain momentum, I'll pick up C programming by K&R.

    I'll be posting daily updates about my progress on my stream

    Resources I'll go through

    • Programming from the ground up
    • C programming by kernighan and richie
    • Nand to tetris - Building a modern computer from first principles
    • Computer systems: a programmer's perspective
    • Structure and interpretation of computer programs

    I've seen many programmers write a raytracer for having fun. I don't even know what that is. Therefore, I want to read Computer graphics from scratch, where we'll build a ray-tracer and rasterization engine from scratch. I don't even know what these terms even mean, but am so excited to get started with these.

    Few areas of computer science provide the kind of instant gratification offered by computer graphics. The sense of accomplishment you get when your SQL query runs just right is nothing compared to what you feel the first time you get raytraced reflections right

    Current

    As of today (15 december, 23), I am on 7th chapter of pftgu. I think I should pick up C programming now because I'm incredibly excited to go through build your own lisp in c.

    Abhimanyu
    Keep reading  programming from  the ground upKeep reading  programming from  the ground uptimetimeLearn cLearn cread computer systems: a  programmer's perspectiveread computer systems: a  programmer's perspectiveLearn goLearn goread writing an  interpreter in goread writing an  interpreter in goread writing a  compiler in goread writing a  compiler in goJosh's css for js  devs courseJosh's css for js  devs coursekeep reading SICP  slowly but steadilykeep reading SICP  slowly but steadilykeep reading algorithms  by Jeff eriksonkeep reading algorithms  by Jeff erikson
    roadmap