Appearance
Computer Science
A broad field hub for learning computing through university courses, books, references, lectures, practice and projects.
Start with a balanced set
- CS50x — Harvard University · course · free — broad introduction to computer science and programming.
- MIT OpenCourseWare — MIT · university archive · free — large collection of university course material.
- The Missing Semester — MIT · practical course · free — shell, editors, debugging, command-line tools and developer workflows.
- Crafting Interpreters — Robert Nystrom · open book/course project — build a programming language to understand interpreters.
- Exercism — independent · practice · free — exercises and mentoring across many languages.
Courses
Universities & institutions
- Harvard CS50 — Harvard University — computer science, programming and related CS courses.
- MIT OpenCourseWare — MIT — lecture notes, assignments, exams and course material.
- OpenLearn — The Open University — free courses across computing and many other subjects.
- Saylor Academy — Saylor Academy — open, self-paced courses.
Independent & project-based
- The Odin Project — nonprofit curriculum — project-based web development and programming.
- Full Stack Open — University of Helsinki — modern full-stack development.
- freeCodeCamp — freeCodeCamp — interactive programming and web-development practice.
Books & textbooks
- Open Data Structures — open textbook covering fundamental data structures.
- Crafting Interpreters — practical implementation of interpreters.
- Nand2Tetris — build a computer system from first principles.
- Structure and Interpretation of Computer Programs — classic material on abstraction and programming.
Websites & references
- MDN Web Docs — web platform documentation and guides.
- JavaScript.info — JavaScript tutorial and reference.
- roadmap.sh — roadmaps across software and technology.
- The Missing Semester — practical computing workflows and tools.
YouTube & lectures
- MIT OpenCourseWare — university lectures.
- freeCodeCamp.org — long-form programming courses.
- Computerphile — accessible explanations of computing concepts.
- Ben Eater — computer architecture and electronics by building systems.
Tools & practice
- Exercism — programming exercises across languages.
- Project Euler — mathematical programming problems.
- Compiler Explorer — inspect compiler output interactively.
- SQLBolt — interactive SQL lessons.
- Regex101 — test and understand regular expressions.
Useful collections
- MIT OpenCourseWare — university course archive.
- OpenLearn — broad free-course catalog.
- OpenStax — open textbooks and educational material.
Pairing ideas
Broad foundation
CS50x → MIT OpenCourseWare → The Missing Semester → Exercism.
Use CS50x for the broad foundation, MIT for depth, Missing Semester for working habits, and Exercism for repetition.
Learn by building
Nand2Tetris → Crafting Interpreters → Project Euler.
A build-heavy route through hardware, language implementation and algorithmic problem solving.
Already programming; deepen fundamentals
Open Data Structures → SICP → MIT OpenCourseWare.
Use the books as the persistent references and add full university courses where a subject needs lectures and assignments.