This is a living roadmap for Boot.dev's free-to-read computer science and programming curriculum.
⭐ Hit this repo with a star if you find the roadmap useful! ⭐
Course Name | Links |
---|---|
Learn Coding Basics | Python |
Learn Linux | Bash/Zsh |
Learn Git | Git |
Build a Bookbot | Python |
Learn Object Oriented Programming | Python |
Build an Asteroids Game | Python |
Learn Functional Programming | Python |
Build a Static Site Generator | Python |
Learn Data Structures and Algorithms | Python |
Build a Maze Solver | Python |
Learn Memory Management | C |
Personal Project 1 | Your choice |
Learn Language 2 | Go, JavaScript |
Learn Language 3 | skip, TypeScript |
Learn HTTP Clients | Go, TypeScript |
Build a Pokedex | Go, TypeScript |
Learn SQL | SQL |
Build a Blog Aggregator | Go, TypeScript |
Learn HTTP Servers | Go, TypeScript |
Learn File Storage and CDNs | Go + S3 + CloudFront, TypeScript + S3 + CloudFront |
Learn Docker | Docker |
Learn CI/CD | Docker + GitHub + Go, Docker + GitHub + TS |
Learn Web Security | Go |
Capstone Project | Your choice |
Learn to Find a Job | Job Search |
Optional Deeper Learning:
Course Name | Links |
---|---|
Learn Git 2 | Git 2 |
Learn the HTTP Protocol | Go |
Learn Kubernetes | Kubernetes |
Learn PubSub Architectures | Go |
Learn Algorithms 2 | Python |
Learn Cryptography | Go |
Build a Web Crawler | Go |
wip/planned
Course Name | Option Link |
---|---|
Learn Coding Basics | Python |
Learn Linux | Bash/Zsh |
Learn Git | Git |
Build a Bookbot | Python |
Learn Shell Scripting | Bash |
Personal Project 1 | Your choice |
Learn DevOps Best Practices | none |
Learn Language 2 | Go, JavaScript |
Learn Language 3 | skip, TypeScript |
Learn HTTP Clients | Go, TypeScript |
Learn SQL | SQL |
Learn DNS | none |
Learn Server Administration | none |
Learn Docker | Docker |
Learn Kubernetes | Kubernetes |
Learn Cloud Infrastructure | none |
Learn CI/CD | Docker + GitHub Actions + Go, Docker + GitHub Actions + TS |
Learn Logging and Telemetry | none |
Learn Web Security | Go |
Capstone Project | Your choice |
Learn to Find a Job | Job Search |
Optional Deeper Learning:
Course Name | Primary Language Link |
---|---|
Learn Git 2 | Git 2 |
Learn PubSub Architectures | Go |
wip/planned
Course Name | Option Link |
---|---|
Learn Coding Basics | Python |
Learn Linux | Bash/Zsh |
Learn Git | Git |
Build a Bookbot | Python |
Learn SQL | SQL |
Learn Object Oriented Programming | Python |
Build an Asteroids Game | Python |
Learn HTTP Clients | Python |
Learn Data Collection | Python |
Build a Web Crawler | Python |
Learn Data Cleaning | Python |
Learn Statistics for Programmers | Python |
Learn Data Visualization and BI Tools | Python |
Capstone Project | Your choice |
Learn to Find a Job | Job Search |
Likely next candidates include:
- Data Engineering / AI Stuff
- Embedded
- Game Dev
- Cyber Security
- Front End (lol jk)
- Learn Functional Programming 2 (OCaml/Elixir)
- Learn Computer Architecture and Hardware (ARM)
- Learn Distributed Systems (Go)
- Learn Computer Networking (Go)
- Learn NoSQL Databases (???)
- Learn Performance Engineering (Go)
- Learn Clean Code (Go)
- Learn Discrete Math for Programmers (Go)
- Learn Operating Systems (???)
- Learn Compilers (Go)
- Learn Computational Theory (???)
- Learn Artificial Intelligence (Python)
- Learn Machine Learning (Python)
- Learn GraphQL
- Learn AWS/GCP/Azure
- Learn NLP
You can read about our approach to learning here.
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 that 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.
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.