⭐ Hit the project with a star if you find it useful! ⭐
This is a living roadmap for Boot.dev's free-to-audit computer science program for backend developers.
- Learn Python (Python)
- Learn Object-Oriented Programming (Python)
- Build a Local Dev Environment (Python, Git, VS Code)
- Learn Algorithms (Python)
- Learn Data Structures (Python)
- Build a Maze Solver (Python)
- Personal Project 1 (Your choice)
- Learn JavaScript (JavaScript)
- Learn HTTP (JavaScript)
- Build an SEO Link Analyzer (JavaScript, Node.js)
- Learn Functional Programming (JavaScript, PureScript)
- Personal Project 2 (Your choice)
- Learn Go (Go)
- Learn Computer Networking (Go)
- Build a Social Media Backend (Go Project)
- Learn SQL (SQL)
- Learn Cryptography (Go)
- Enhance your Social Media Backend (SQL, Go)
- Learn Distributed Systems (Go)
- Learn NoSQL Databases (???)
- Learn Performance Engineering (Go)
- Personal Project 3 (Your choice)
- Learn Docker (Docker CLI)
- Learn Kubernetes (Kubernetes)
- Learn CI/CD (GitHub Actions)
- Learn Infrastructure as Code (Terraform)
- Deploy your Social Media Backend
- Learn Logging and Telemetry (Go)
- Learn Advanced Algorithms (Python)
- Learn Clean Code (Go)
- Learn Computer Architecture and Hardware (ARM)
- Learn Discrete Math for Programmers (Go)
- Learn Operating Systems (???)
- Learn Graphics in HTML5 Canvas (JavaScript)
- Learn Compilers (Go)
- Learn Computational Theory (???)
- Learn Artificial Intelligence (Python)
- Learn Machine Learning (Python)
We believe in learning by building. We mix guided and unguided content. Every guided course is a collection of coding assignments and quizzes designed to teach a set of concepts. Every unguided project is a blueprint for students to build an entire application on their local machines.
The majority of students should have a simple and straight path to completion, without needing to make many choices about which courses to take next.
The tech stack should be fairly lean. The goal of Boot.dev is to teach the concepts of CS without forcing students to learn too many languages, frameworks and tools. For this reason, the primary languages of Boot.dev are currently:
- Python
- JavaScript
- Go
Yes you should get started - this program will always be improving and never be "complete". This curriculum will never be "complete" in the same sense the YouTube will never be "complete" - there is new content all the time. We care deeply about the quality of this program and will always be improving and adding to it.
We love help and feedback on how we can improve the curriculum! The recommended way to help is to submit issues here on Github. If you just want to talk about some ideas, use the discussions tab or contact us directly using one of the methods below.
If you would like to discuss the project feel free to contact us at Boot.dev. We're most responsive on Discord, but you can also find us on Twitter.