A curated Markdown list of English-speaking YouTube channels that teach programming, web, ML, DevOps, security and more.
practical-tutorials/project-based-learning
A curated, language-organized list of tutorials where developers build complete applications from scratch.
- Stars
- 287,151
- Forks
- 36,633
- Open issues
- 236
- Last commit
- 7 days ago
What is it?
Project Based Learning is a curated collection of programming tutorials in which readers build a working application from scratch rather than only reading about concepts. The entries are grouped by primary language, including C/C++, Go, Python, JavaScript, Rust, Java and many others, and some tutorials span several technologies at once.
The projects range from small exercises such as a shell, a text editor, a key-value store, a hash table or a Lisp interpreter, to larger builds like a chat app, a Redis clone, a TCP/IP stack or a compiler written in stages. Most entries link to external blog posts, video series or course pages hosted by their original authors.
The list is maintained as a community resource, with contribution guidelines for adding or updating tutorials and a scheduled link-checking workflow to catch broken links.
Key features
- 01Tutorials grouped by programming language, from C/C++ to Swift
- 02Step-by-step builds such as shells, interpreters, compilers and databases
- 03Coverage of web, networking, game, OpenGL, data science and machine learning projects
- 04Links to external blog posts, videos and courses from original authors
- 05Scheduled link-rot checks to keep resources current
Use cases
- Learning a new language by building a small but complete project in it
- Finding a project idea to practice a framework such as React, Flask or Spring Boot
- Studying how systems like shells, compilers or key-value stores are built internally
- Preparing hands-on portfolio projects after reading introductory material
Topics
FAQ
- What is project-based-learning?
- A curated, language-organized list of tutorials where developers build complete applications from scratch. Project Based Learning is a curated collection of programming tutorials in which readers build a working application from scratch rather than only reading about concepts. The entries are grouped by primary language, including C/C++, Go, Python, JavaScript, Rust, Java and many others, and some tutorials span several technologies at once.
- Is project-based-learning free to use? What license does it have?
- project-based-learning is open source under the MIT license. Check the license terms before using it in commercial products.
- Is project-based-learning still maintained?
- Actively maintained. The last commit to project-based-learning was on Oct 12, 2026.
- What can I use project-based-learning for?
- Learning a new language by building a small but complete project in it Finding a project idea to practice a framework such as React, Flask or Spring Boot Studying how systems like shells, compilers or key-value stores are built internally Preparing hands-on portfolio projects after reading introductory material
- Where can I get project-based-learning?
- The source code and installation instructions are on GitHub: https://github.com/practical-tutorials/project-based-learning
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A hands-on tutorial series for building AI agents from scratch with local LLMs via node-llama-cpp, without using frameworks.
An open-source framework for building universal native apps with React that run on Android, iOS, and the web.
CasaOS is an open-source personal cloud system for home servers that adds a web UI for managing files, storage and Docker apps.
Qt-based desktop client that displays and controls Android devices over USB or Wi-Fi without requiring root.
Swagger UI generates interactive API documentation in the browser from an OpenAPI specification file.