
Project Based Learning
A curated list of links to tutorials that walk you through building real projects from scratch.
- Stars
- 289k
- Forks
- 36.8k
- Licence
- MIT
- Language
- Python
- Last update
- 4 days ago
- Type
- Curated list
What it is
This is a list of programming tutorials where you build an application step by step, organized by programming language such as C/C++, Go, Python, JavaScript and many others. The entries are links to tutorials hosted elsewhere, not software you install. People use it to find a hands-on project to work through when they want to learn by building.
- Pick a language from the table of contents and choose a tutorial to build a small application
- Work through a multi-part series such as writing a compiler or a TCP/IP stack
- Find beginner-friendly projects to add to a portfolio
- Browse network programming or C/C++ sections for more advanced builds
Great for
- Beginners who want a concrete project to build after learning the basics
- Developers exploring a new language and looking for a guided build
- Students looking for project ideas to practice programming
- Self-learners who prefer following written tutorials
Not ideal for
- People who want installable software or a tool to use day to day, since this is only a list of links
- Readers who need a single consistent course, because the tutorials are written by different authors with different styles and quality
- Anyone expecting every link to be current, since the README mentions a link-rot check but the list spans many older posts
How to get it
- 1
See the README
Clone the repository
git clone https://github.com/practical-tutorials/project-based-learning - 2
Run it
- Open the README on GitHub
- Pick a language section from the table of contents
- Click a tutorial link and follow its steps
- 3
Get the most out of it
- Read CONTRIBUTING.md if you want to add or fix a tutorial link
- Follow a multi-part series in order for the best progression
- Use the Gitter community linked in the README to ask questions
Downloads
Strengths
- Covers many languages and topics in one place
- Each entry points to a complete build-from-scratch guide
- Free to use under the MIT license
Trade-offs
- Entries are external links, so availability and quality depend on the original sites
- The README is truncated here, so the full list of languages and tutorials could not be verified
- It offers no unified structure, progression, or support across tutorials
How it compares
| Project | Stars | Type | Level | Updated | Best for |
|---|---|---|---|---|---|
| project-based-learning (this) | 289k | Curated list | beginner | 4 days ago | Beginners who want a concrete project to build after learning the basics |
| cmake-examples | 13.1k | Learning resource | beginner | 2.7 years ago | C++ developers who are new to CMake |
| awesome-go | 192k | Curated list | beginner | 4 days ago | Developers looking for a Go library for a specific task |
| awesome-cpp | 74.2k | Curated list | beginner | 6 days ago | C++ developers looking for a library for a specific task |
| learn-claude-code | 79.7k | Learning resource | intermediate | 10 days ago | Developers who want to understand how coding agents like Claude Code are structured |
| first-contributions | 56.7k | Learning resource | beginner | 4 days ago | People who have never submitted a pull request to an open source project |
Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.