Master software engineering through playful hands-on exploration and deep scientific and philosophical insight. Discover, create and learn for learning's sake.
Learn software design principles by building real-world tools in Rust. Each project illuminates timeless design patterns and engineering trade-offs. You'll gain deep insights into how software tools work while mastering Rust's powerful type system and memory safety guarantees.
A collection of essential developer tools including a build system, package manager, test framework, debugger, and more—each built from scratch to deeply understand their design principles.
Our community is made up of curious minds who share these core values about learning.
Learn from content authored by the best, focused on first-principles thinking like experts and inventors in the field. We believe you're here to challenge yourself, knowing that true understanding comes from wrestling with difficult concepts.
The best way to learn is by building. Inspired by constructionist learning, we encourage playful experimentation and hands-on creation. As Richard Feynman said, "What I cannot create, I cannot understand".
Curiosity, not curriculum. Our courses grow from questions that spark wonder—not trending job skills and standardized texts, but timeless methods and deep insights. If it lights you up inside, we're going there. Embrace the explorer in you.
Our learning philosophy appreciates human needs and motivations, while incorporating the latest learning techniques.
Meet a community of learners like you—curious minds eager to understand deeply and build meaningfully. Share insights, collaborate on projects, and even go on retreats together!
Explorable, our in-house pedagogic IDE integrates scientific learning techniques like spaced repetition and use LLMs to apply cognitive learning tools so you learn how to learn. AI to help you grow, not replace you.
Our empathetic human-powered system adapts to your interests and learning style for personalized motivation and guidance. Get custom project suggestions, targeted feedback, and dynamic content.
A challenging curriculum designed to build deep understanding through hands-on learning.
Discover the soul of programming. This legendary course uses simple tools to uncover deep truths. You'll explore how programs shape thought, how abstractions are built, and how computation itself can be a medium for expression and reasoning. A philosophical and technical journey into what it means to program.
Elegant recursive programs, interpreters, evaluators, and a meta-circular Lisp interpreter—all from scratch. By the end, you'll have built a miniature universe of computation using just a few core ideas.
Build a computer from the ground up—starting with nothing but electronic circuits. Along the way, you'll build logic gates, a CPU, an operating system, a programming language. But more than building, you'll understand: How can logic emerge from electricity? What physical laws make computation possible?
A complete computer system—including a working ALU, CPU, assembler, compiler, OS, and a Tetris game—entirely from first principles.
Richard Hamming didn't just solve hard problems—he asked the right questions. This course distills his timeless advice on creativity, rigor, and impact. You'll learn how great engineers think, work, and choose problems worth solving—sharpening not just your skills, but your purpose.
A personal engineering philosophy and system for thinking—through reflection exercises, habit design, and an "Engineering Notebook" where you track your ideas, goals, and problem-solving approaches.
Learn software design principles by building real-world tools in Rust. From text editors to testing frameworks, each project illuminates timeless design patterns and engineering trade-offs. You'll gain deep insights into how software tools work while mastering Rust's powerful type system and memory safety guarantees.
A collection of essential developer tools including a build system, package manager, test framework, debugger, and more—each built from scratch to deeply understand their design principles.
How do systems think at scale? This rigorous course from MIT takes you deep into the principles that power the internet, cloud platforms, and global-scale software. You'll build mental models of concurrency, consistency, and fault tolerance—exploring how distributed systems maintain order in a chaotic world.
Key components of distributed infrastructure, including a replicated key-value store, Raft consensus implementation, MapReduce framework, and fault-tolerant services that could run at planetary scale.
Every great programmer started as a beginner. Here's a fun look at the journey from writing your first "Hello World" to accidentally creating AGI while making breakfast.
First steps into coding
Building with confidence
Understanding the machinery
Mastering complexity
Seeing the whole picture
Mastering the arcane
The final form
Remember: This is just for fun! Every developer's journey is unique, and there's no single path to mastery.
Start Your JourneyHear from students who have transformed their understanding and careers through our hands-on learning approach.
Head of Engineering at Shuttle
"Coming from a physics background, the SICP course was magical. I loved how it connected computing to fundamental physics and philosophy in some places. The meta-circular evaluator was mindblowing."
Technical Fellow at CERN
"The Elements of Computing Systems was a fun course because I knew some electronics, and I always wanted to know how basic electronics converted into the computing that we have and the different stacks and layers."
Software Engineer at AWS
"I really loved the Distributed Systems course. I've learned a lot of theory about the Raft and Paxos consensus protocols, but it was great to try and implement it hands-on."
Find answers to common questions about our courses, approach, and learning experience.
Our team is ready to help you find the right learning path for your goals.
Contact UsWe curate our community carefully to keep it fun and lively. Tell us about yourself and why you'd be a great fit, and we'll reach out to you with next steps.
By applying, you agree to our Terms of Service and Privacy Policy. We'll occasionally send you account related emails.