curriculum
curriculum copied to clipboard
An open roadmap for Boot.dev's backend development curriculum
Boot.dev's Computer Science Curriculum for Backend Developers
⭐ 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.
FAQ
Where is the HTML, CSS & React?
This is not a front-end program. That said, we've had front-end engineers who still complete soem of the courses and projects for the sake of learning the computer science content. We have no immediate plans for purely front-end technologies in this curriculum.
Can I skip ahead?
You shouldn't skip ahead unless you really know what you are doing. Some people are comfortable skipping the first course, "Learn Python" because it is for beginners. Almost nothing else should be skipped because the rest of the content builds upon itself.
Do I need to take the courses in the Python, JavaScript and Go languages?
For now, yes. Learning several programming languages is critical to your success. It's not nearly as hard to pick up a second programming language after you're familiar with your first one, yet it offers many benefits. You can read more here if you're skeptical.
Should I get started even though the program is not "complete"?
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.
Will Boot.dev help me find my first job?
We help you prepare for your first development job, but we won't match you with a company. We go one step further than universities. We provide education that teaches you how to become a backend developer and education about how to find a job. That said, we don't actually do the "finding" for you.
Is Boot.dev free?
The first two chapters of every course are completely free, and the entire curriculum is free to read. We call this read-only mode "sandbox mode". In sandbox mode, you won't be able to pass off assignments without becoming a patron to support ongoing development.
The Roadmap of Courses and Projects
1. Learn programming and CS basics
- 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)
2. Learn web basics
- Learn JavaScript (JavaScript)
- Learn HTTP (JavaScript)
- Build an SEO Link Analyzer (JavaScript, Node.js)
- Learn Functional Programming (JavaScript, PureScript)
- Personal Project 2 (Your choice)
3. Laern backend web development
- 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)
4. Learn DevOps
- Learn Infrastructure as Code (Terraform)
- Containerize your Social Media Backend (Docker & Kubernetes)
- Learn CI/CD (GitHub Actions)
- Deploy your Social Media Backend
- Learn Logging and Telemetry (Go)
5. Learn advanced computer science
- Learn Advanced Algorithms (Python)
- Learn Clean Code (Go)
- Learn Computer Architecture and Hardware (ARM)
- Learn Discrete Math for Programmers (Go)
- Learn Operating Systems (???)
6. Final capstone project
7. Continued learning
- Learn Graphics in HTML5 Canvas (JavaScript)
- Learn Compilers (Go)
- Learn Computational Theory (???)
- Learn Artificial Intelligence (Python)
- Learn Machine Learning (Python)
💡 Features and goals
Hands-on, project based
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.
Linear curriculum
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.
Modern tech stack
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
👏 Contribute
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.
💬 Contact
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.