The online courses programmers recommend most on Hacker News
1,376 courses · sorted by best ranked.

Machine Learning (Andrew Ng)
Coursera · beginner · free
Commenters call it a great introduction that avoids heavy math while still conveying real understanding of the topic, and many say it was their starting point.

6.001 Structure and Interpretation of Computer Programs
MIT OpenCourseWare · intermediate · free
Commenters repeatedly describe it as eye-opening and foundational, calling the lectures and book a must-study for anyone wanting to think more deeply about programming.

The Elements of Computing Systems (Nand2Tetris)
nand2tetris.org · intermediate · free
Commenters call it a fantastic, practical way to understand how computers work from first principles, with one saying it is probably the best course they have taken.

Practical Deep Learning for Coders
fast.ai · beginner · free
Commenters repeatedly call it the best practical entry point into deep learning for programmers, praising its focus on building working models quickly without requiring a heavy math background.

18.06 Linear Algebra (Gilbert Strang)
MIT OpenCourseWare · beginner · free
Commenters call it the best linear algebra resource available, praising Strang's intuitive, unassuming lecturing style and how it clarifies concepts like the SVD and the four fundamental subspaces.

CS50: Introduction to Computer Science
Harvard University · beginner · free
Commenters repeatedly call it an excellent, high-production-value intro that builds a strong foundation, with David Malan's lecturing singled out as a major strength.

Learning How to Learn: Powerful mental tools to help you master tough subjects
Coursera · beginner · free
Commenters call it a fundamental, quick course that improves study habits and helps with procrastination and retention, and often recommend it before other learning.

Cryptography I
Coursera · intermediate · free
Commenters repeatedly call it one of the best courses they have taken, praising its clear, thorough explanations of crypto fundamentals and its hands-on attack exercises.

Functional Programming Principles in Scala
Coursera · beginner · freemium
Commenters call it an excellent, well-taught introduction to functional programming, praising Odersky as a lecturer and the course's automated grader and assignments.
CS193P Developing Applications for iOS using SwiftUI
Stanford University · beginner · free
Commenters repeatedly call the Stanford iOS lectures excellent and free, saying they give a structured, conceptual foundation that tutorials and sample code do not.

Algorithms, Part I
Coursera · beginner · free
Commenters call it an engaging, well-organized free introduction to algorithms and data structures, with visualizations and assignments that teach practical implementation and interview-relevant skills.
CS61A: Structure and Interpretation of Computer Programs
UC Berkeley · beginner · free
Commenters call it the best introductory CS course and praise its SICP-based approach and Brian Harvey's lectures.

CS231n: Convolutional Neural Networks for Visual Recognition
Stanford University · intermediate · free
Commenters repeatedly call it an excellent, hands-on introduction to deep learning and neural networks, praising the course notes, assignments, and Karpathy's teaching.

6.006 Introduction to Algorithms
MIT OpenCourseWare · intermediate · free
Commenters call it a good intro to data structures and algorithms that helped with complexity intuition and technical interviews, and say it pairs well with CLRS.

Programming Languages (Dan Grossman)
Coursera · intermediate · free
Commenters call it an excellent, well-structured introduction to programming language concepts and functional programming, and several say it changed how they approach learning new languages.

Deep Learning Specialization (Andrew Ng)
Coursera · intermediate · paid
Commenters call it excellent and phenomenal, praise its theory-first approach that builds understanding of what happens under the hood, and say the assignments help clarify concepts.

Introduction to Computer Science and Programming in Python
MIT OpenCourseWare · beginner · free
Commenters repeatedly call it a very good, free introduction to CS and programming that teaches concepts transferable to any language, and several say it was the course that gave them real programming ability.

Human Behavioral Biology (Robert Sapolsky)
Stanford University · beginner · free
Commenters call it accessible, engaging, and deep, and several say it changed how they think about behavior, aggression, and depression.
Neural Networks for Machine Learning (Geoffrey Hinton)
Coursera · advanced · free
Commenters call it an excellent, challenging introduction to neural networks taught by a pioneer, and several say it changed the course of their careers.
CS229 Machine Learning
Stanford University · advanced · free
Commenters call it one of the best ML courses out there, praised for deriving algorithms from the math and for its clear, rigorous treatment compared with the lighter Coursera version.
Learning From Data
Caltech · intermediate · free
Commenters call it an outstanding, rigorous introduction to the theory behind machine learning, more mathematical than Andrew Ng's Coursera class and taught with exceptional clarity.

15-445/645 Intro to Database Systems
Carnegie Mellon University · intermediate · free
Commenters repeatedly call it top-notch and praise Andy Pavlo's clear, free video lectures on how databases work internally.
Introduction to Databases
Stanford University · beginner · free
Commenters call it one of the best MOOCs they've taken, praising its well-planned exercises and its blend of database theory with real-world examples.
6.824 Distributed Systems
MIT OpenCourseWare · advanced · free
Commenters call it an excellent, hands-on introduction to distributed systems, valuable because the labs force you to implement and debug real designs.
Algorithms: Design and Analysis, Part 1
Coursera · intermediate · free
Commenters call it a challenging, well-taught course with practical implementation assignments that work in any language, and recommend it for interview prep and for learning algorithms.
Stat 110: Probability
Harvard University · beginner · free
Commenters call it an excellent, clear introduction to probability with strong intuition and well-regarded lectures from Prof. Blitzstein.
CS188 Introduction to Artificial Intelligence
UC Berkeley · intermediate · free
Commenters call it one of the best online courses they've taken, praising instructor Dan Klein and the Pacman programming assignments.

The Theoretical Minimum (Leonard Susskind)
YouTube · beginner · free
Commenters call it an accessible route into real physics for non-specialists, with lectures that are free and paired with problems to work through.

Probabilistic Graphical Models
Coursera · advanced · free
Commenters call it a very good, rigorous deep dive into graphical models, with several saying it is worth the effort despite rough edges in the first run.
15-213 Introduction to Computer Systems
Carnegie Mellon University · intermediate · free
Commenters call it one of the best-taught courses they've taken, praise its labs and online lecture presentation, and recommend it as a foundation in systems programming and x86 assembly.

6.042J Mathematics for Computer Science
MIT OpenCourseWare · intermediate · free
Commenters call it an excellent, intuition-first course for the math behind algorithms and theory, and a strong way to build logic and proof-writing skills.

Algorithms, Part II
Coursera · intermediate · free
Commenters call Sedgewick's Algorithms I/II courses top-notch and very useful for interview prep, praising the assignments and the instructor's clarity.

Model Thinking
Coursera · beginner · free
Commenters call it insanely useful, the best course on Coursera, and a great introduction to thinking in models, often recommending it as a free course.
Neural Networks: Zero to Hero
YouTube · beginner · free
Commenters call it a clear, hands-on way to understand backpropagation and transformers, with Karpathy's explanations of attention singled out as especially accessible.

15-721 Advanced Database Systems
Carnegie Mellon University · advanced · free
Commenters call it a top-notch, very detailed guide to database internals and design tradeoffs, and praise Andy Pavlo's clear teaching style.

Discrete Optimization
Coursera · intermediate · free
Commenters call it an engaging, problem-driven introduction to discrete optimization with an enthusiastic instructor and a clear practical focus.

Design of Computer Programs
Udacity · intermediate · free
Commenters call it an excellent, rewarding course in problem solving and programming taste, taught clearly by Peter Norvig.

Introduction to Biology - The Secret of Life
edX · beginner · free
Commenters call it one of the best MOOCs they have taken, praising Eric Lander's lectures and its clear, well-explained approach to how biology's discoveries were made.

Intro to Artificial Intelligence
Udacity · beginner · free
Commenters call it an excellent, clear introduction to AI, praising Peter Norvig's teaching, though some note errors and a lack of polish.
Compilers
Coursera · intermediate · free
Commenters call it excellent and say it made building a compiler feel achievable, with several saying it dispelled the idea that only wizards can write one.

Economics of Money and Banking
Coursera · intermediate · free
Commenters call it a great, real-world introduction to how the monetary system works, with one calling it the best online course they've taken.

How to Code: Simple Data
edX · beginner · free
Commenters call it a very solid, learner-friendly introduction to programming based on How to Design Programs, and say it is free to take as individual course.
Artificial Intelligence for Robotics
Udacity · intermediate · free
Commenters call it an accessible, hands-on introduction to probabilistic methods like Kalman filters, with Thrun praised for explaining intuition clearly.

Essence of Linear Algebra
YouTube · beginner · free
Commenters call it second to none for visual intuition, say it made linear algebra click, and describe its insights as the kind they wish they had been given in college.

6.004 Computation Structures
MIT OpenCourseWare · intermediate · free
Commenters call it an excellent, clear walk through abstraction layers from 1s and 0s up to a CPU, and say it shaped their careers in systems work.

An Introduction to Interactive Programming in Python
Coursera · beginner · free
Commenters call it a fun, beginner-friendly, hands-on introduction that teaches by building games, with one calling it superb and very entertaining.

Self-Driving Car Engineer Nanodegree
Udacity · intermediate · paid
Commenters call it the best hands-on course they have taken and say it lets you build real self-driving software, including a TensorFlow project.
CS253 Web Development
Udacity · beginner · free
Commenters call it an excellent, high-quality course that explains the theory and reasoning behind web development rather than just tools, and say it made the broader picture of how web parts fit together clear.

6.828 Operating System Engineering
MIT OpenCourseWare · advanced · free
Commenters call it one of the best OS courses and say the labs are very hard and very rewarding, with the xv6 codebase praised as small enough to understand fully.
CS106A Programming Methodology
Stanford University · beginner · free
Commenters call it a fun, well-structured introduction to programming and computer science, with a lecturer who is easy to learn from and assignments that give quick, rewarding results.
Reinforcement Learning (David Silver)
YouTube · intermediate · free
Commenters call it excellent and great, praise Silver as an amazing teacher whose visual explanations make the Bellman equation click, and often pair it with Sutton and Barto.
6.002x Circuits and Electronics
edX · beginner · free
Commenters call it one of the best online courses they've taken, praising the lectures, the interactive exercises, and how well it explains how electronics and computers work.
Automata
Coursera · intermediate · free
Commenters call it excellent and hard but rewarding, praising Ullman's relaxed teaching style and active participation in forums.
CS169.1x Software as a Service
edX · beginner · free
Commenters call it a free, practical introduction to Ruby on Rails and modern software engineering practices, with one saying it works well as a first step for beginners.
CIS 194: Introduction to Haskell
University of Pennsylvania · beginner · free
Commenters call it a great introduction to Haskell and say that working through the lecture notes and exercises is far more effective than books like Learn You a Haskell.
CS224N: Natural Language Processing with Deep Learning
Stanford University · advanced · free
Commenters point to it as the go-to deep-learning-focused NLP course, with one calling it a good high-level grounding and another praising its historical perspective and lectures on word vectors.
The Missing Semester of Your CS Education
MIT CSAIL · beginner · free
Commenters call it a godsend and highly recommend it regardless of level, for filling the gap of practical tooling that classes don't teach.

The Science of Well-Being
Coursera · beginner · free
Commenters call it an amazing, highly recommended course that covers a lot of happiness research and is free on Coursera.
CS101 Introduction to Computer Science
Coursera · beginner · free
Most commenters name Udacity's CS101 as the best free intro to CS for beginners, so this Coursera entry is mainly a pointer to a similar course; only one comment directly recommends the Coursera version.
Algorithms
Coursera · beginner · free
Commenters call it an excellent, useful introduction that fills gaps in algorithm knowledge for people without a formal CS education.
Arrow keys move between courses, Enter opens one, S saves it.