Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/bootdotdev/curriculum
An open roadmap for Boot.dev's backend development curriculum
https://github.com/bootdotdev/curriculum
algorithms computer-science curriculum educational golang javascript python students
Last synced: 25 days ago
JSON representation
An open roadmap for Boot.dev's backend development curriculum
- Host: GitHub
- URL: https://github.com/bootdotdev/curriculum
- Owner: bootdotdev
- Created: 2021-01-26T03:36:38.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2024-09-29T15:07:42.000Z (about 1 month ago)
- Last Synced: 2024-10-02T00:01:26.657Z (about 1 month ago)
- Topics: algorithms, computer-science, curriculum, educational, golang, javascript, python, students
- Homepage: https://boot.dev
- Size: 155 KB
- Stars: 1,631
- Watchers: 76
- Forks: 72
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Boot.dev's Backend Developer Learning Path
⭐ Hit this repo with a star if you find the roadmap useful! ⭐
This is a living roadmap for [Boot.dev's free-to-read computer science program for backend developers.](https://boot.dev)
### Section 1: Programming and CS Fundamentals (Python)
| Course Name | Python Option Link |
| ----------------------------- | ------------------------------------------------------------------------ |
| Learn Coding Basics | [Python](https://www.boot.dev/courses/learn-python) |
| Learn Shells and Terminals | [Bash/Zsh](https://www.boot.dev/courses/learn-shells-and-terminals) |
| Learn Git | [Git](https://www.boot.dev/courses/learn-git) |
| Build a Bookbot | [Python](https://www.boot.dev/courses/build-bookbot) |
| Learn OOP | [Python](https://www.boot.dev/courses/learn-object-oriented-programming) |
| Build an Asteroids Game | [Python](https://www.boot.dev/courses/build-asteroids) |
| Learn Functional Programming | [Python](https://www.boot.dev/courses/learn-functional-programming) |
| Build a Static Site Generator | [Python](https://www.boot.dev/courses/build-static-site-generator) |
| Learn Algorithms | [Python](https://www.boot.dev/courses/learn-algorithms) |
| Learn Data Structures | [Python](https://www.boot.dev/courses/learn-data-structures) |
| Build a Maze Solver | [Python](https://www.boot.dev/courses/build-maze-solver-python) |
| Learn Memory Management | [C](https://www.boot.dev/courses/learn-memory-management) |
| Personal Project 1 | [Your choice](https://www.boot.dev/courses/build-personal-project-1) |### Section 2: Backend Web Development (Go or JS/TS)
| Course Name | Go Option Link | JS/TS Option Link |
| ----------------------- | --------------------------------------------------------------- | ------------------------------------------------------- |
| Learn Language 2 | [Go](https://boot.dev/courses/learn-golang) | [JavaScript](https://boot.dev/courses/learn-javascript) |
| Learn Language 3 | _skip_ | TypeScript |
| Build an X | Go | TypeScript |
| Learn HTTP Clients | [Go](https://boot.dev/courses/learn-http-clients-golang) | TypeScript |
| Build a Pokedex | [Go](https://boot.dev/courses/build-pokedex-cli) | TypeScript |
| Learn SQL | [SQL](https://boot.dev/courses/learn-sql) | _same_ |
| Build a Blog Aggregator | [Go](https://boot.dev/courses/build-blog-aggregator) | TypeScript |
| Learn HTTP Servers | [Go](https://boot.dev/courses/learn-http-servers) | TypeScript |
| Learn Buckets and CDNs | Go + S3 + Cloudfront | TypeScript |
| Learn Docker | [Docker](https://boot.dev/courses/learn-docker) | _same_ |
| Learn CI/CD | [Docker + GitHub Actions](https://boot.dev/courses/learn-ci-cd) | _same_ |
| Learn Web Security | Go | TypeScript |
| Capstone Project | [Your choice](https://boot.dev/courses/build-capstone-project) | _same_ |
| Learn to Find a Job | [Job Search](https://www.boot.dev/courses/learn-job-search) | _same_ |### Section 3: Going Deeper (optional)
| Course Name | Primary Language Link | Secondary Language Link |
| --------------------------- | ------------------------------------------------------------ | ----------------------- |
| Learn Git 2 | [Git 2](https://www.boot.dev/courses/learn-git-2) | _same_ |
| Learn the HTTP Protocol | Go | TypeScript |
| Learn Kubernetes | [Kubernetes](https://www.boot.dev/courses/learn-kubernetes) | _same_ |
| Learn PubSub Architectures | [Go](https://www.boot.dev/courses/learn-pub-sub) | _none_ |
| Learn Algorithms 2 | [Python](https://boot.dev/courses/learn-advanced-algorithms) | _none_ |
| Learn Cryptography | [Go](https://boot.dev/courses/learn-cryptography) | _none_ |
| Learn Server Administration | Linux/Standard VPS | _none_ |
| Build a Web Crawler | Go | TypeScript |### Courses we're thinking about adding
- Learn Functional Programming 2 (OCaml)
- Learn Computer Architecture and Hardware (ARM)
- Learn Distributed Systems (Go)
- Learn Computer Networking (Go)
- Learn NoSQL Databases (???)
- Learn Performance Engineering (Go)
- Learn Infrastructure as Code (Terraform)
- Learn Logging and Telemetry (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 Cyber Security
- Learn AWS/GCP/Azure
- Learn NLP## Will you teach anything besides backend?
Yes. For now, we're still focused on having the absolute best curriculum and platform for budding backend developers. And we're prioritizing making it available in more languages, but we plan to then branch out to other career goals. Likely next candidates include:
1. Data Engineering
2. DevOps / Infrastructure
3. Embedded
4. Game Dev
5. Cyber Security
6. Front End (lol jk)## Philosophy
You can read about our [approach to learning here](https://blog.boot.dev/about/).
## Should I start learning 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.
## 👏 Contribute
We love 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, 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](https://blog.boot.dev/contact/). We're most responsive on Discord, but you can also find us on Twitter.
- [Twitter](https://twitter.com/bootdotdev)
- [Discord](https://boot.dev/community)