Skip to content

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
Step-by-step guide: how to use Project Based LearningInstall, first run, examples, tips and FAQs

How to get it

  1. 1

    See the README

    Clone the repository

    git clone https://github.com/practical-tutorials/project-based-learning
  2. 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. 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

ProjectStarsTypeLevelUpdatedBest for
project-based-learning (this)289kCurated listbeginner4 days agoBeginners who want a concrete project to build after learning the basics
cmake-examples13.1kLearning resourcebeginner2.7 years agoC++ developers who are new to CMake
awesome-go192kCurated listbeginner4 days agoDevelopers looking for a Go library for a specific task
awesome-cpp74.2kCurated listbeginner6 days agoC++ developers looking for a library for a specific task
learn-claude-code79.7kLearning resourceintermediate10 days agoDevelopers who want to understand how coding agents like Claude Code are structured
first-contributions56.7kLearning resourcebeginner4 days agoPeople 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.