/blog @bhaprayan   ·  


Last Update: 2022-03-18

“You must not fool yourself, and you are the easiest person to fool.” — Richard P. Feynman

I was recently asked by a younger (science & engineering inclined) student about fundamental concepts they should learn about over the course of their education. I was unsure whether there existed an objective (and widely accepted) process by which to figure out which concepts should be classified as fundamental or not. So instead I decided to share concepts that I observed appeared more frequently in my personal “dependencies graph”.

I came up with the following list of books, articles, videos, and courses, that I thought would be useful to share more broadly1.

Start Here


Calling Bullshit.

Mental Models


Linear Algebra

Prerequisite: 3b1b - Linear Algebra

Core: MIT 18.06 (OCW) - Linear Algebra

Differential Equations

Prerequisite: 3b1b - Differential Equations

Core: MIT 18.03 (OCW) - Differential Equations

Probability + Statistics

Prerequisite: 3b1b - Probability

Core: Harvard Stat 110 - Probability

(Single Variable) Calculus

Prerequisite: 3b1b - Calculus

Core: MIT 18.01 (OCW) - Single Variable Calculus



Surely You’re Joking, Mr.Feynman!

Teach Yourself Physics

The Feynman Lectures on Physics

Classical Mechanics

Prerequisite: Linear Algebra, Differential Equations, (Single Variable) Calculus

Core: Theoretical Minimum - Classical Mechanics

Book: The Theoretical Minimum: What You Need to Know to Start Doing Physics

Quantum Mechanics

Prerequisite: Linear Algebra, Differential Equations, (Single Variable) Calculus, Probability + Statistics

Core: Theoretical Minimum - Quantum Mechanics

Book: Quantum Mechanics: The Theoretical Minimum

Computer Science


Core: Stanford CS161 (Coursera) - Design and Analysis of Algorithms

Book: Algorithms Illuminated

Computer Systems

Core: CMU 15213 - Intro to Computer Systems

Book: Computer Systems: A Programmer’s Perspective

Theoretical CS

Core: CMU 15251 - Great Ideas in Theoretical Computer Science)


The New Hacker’s Dictionary (aka Jargon File)

Tech Model Railroad Club

Hackers: Heroes of the Computer Revolution

Paul Graham’s Essays

Humanities + Social Sciences


MIT 9.00 (OCW) - Intro to Psychology


MIT 24.09 (Open Learning) - Minds and Machines


MIT 14.01 (OCW) - Principles of Microeconomics


Yale Econ 252 - Financial Markets


  1. I do believe autodidacticism is the future (and interestingly enough was also the distant past)! My observation is that programming is easier to pick up through self-learning, likely due to having an interactive system to help out (e.g. the compiler / interpreter). MOOCs are great, but have a drop out rate close to 90% (see this)! Figuring out more structured learning mechanisms for non interactive (and rigorous) material is an important problem to solve. ↩︎

Written March 18, 2022. Send feedback to @bhaprayan.

← Worldcoin: How the Launch Works  Strategy & Criteria Decision Matrix — A Framework for Decision Making →