lmammino

awesome-learn-by-playing: Find Games That Teach Tech Skills

A curated directory of games and interactive resources for learning programming and other technology skills. Browse by topic to find a hands-on way to practice, from CSS and JavaScript to Git, SQL, and security.

View on GitHub Compare
Stars
890
Forks
62
Stars, last 30 days
+1

Our take

Health score

25/100

How it is scored
Activity
19
Community
41
Issues
21
Pull requests
20

+1 stars in the last 30 days

Project history

Daily GitHub snapshots since Oct 7, 2026. History covers stars and forks; health signals are not tracked historically.

Selected snapshot

Stars

895

Forks

63

Change since Nov 12, 2026: 0 stars·0 forks

Overview

awesome-learn-by-playing is a curated list of games and interactive resources that teach technology skills through play. It helps learners find practical, game-based alternatives to more conventional tutorials.

The collection spans programming languages, web technologies, security, and computing concepts. It is useful as a discovery guide rather than a course: each entry links to an external resource, so learners can choose an activity suited to their interests and experience.

Key Features

  • Groups resources into subject areas including CSS, JavaScript, Git, SQL, Python, regex, and security.
  • Covers both programming practice and broader computing topics such as hardware design, computer architecture, and machine learning.
  • Includes puzzles, coding challenges, strategy games, interactive lessons, and capture-the-flag exercises.
  • Marks many entries as free or paid, helping readers assess options before visiting them.
  • Includes activities aimed at children as well as resources for general learners.
  • Links directly to each listed resource so readers can explore it independently.

Use Cases

  • A beginner looking for a playful introduction to CSS, JavaScript, Git, or SQL can choose an activity focused on one topic.
  • An instructor or mentor can use the list to find supplementary exercises for learners who benefit from hands-on practice.
  • A developer wanting a short challenge or a way to refresh a specific skill can browse the relevant category.
  • A security learner can discover interactive hacking missions and capture-the-flag exercises for practice.
  • A parent or educator can explore the entries in the kids section for game-based coding activities.

Getting Started

No installation is required. Browse the repository README and follow a resource link that matches your interests.

Alternatives

  • Become-A-Full-Stack-Web-Developer: Offers a broad, structured collection of web-development learning resources rather than focusing on games and interactive practice.
  • awesome-python-books: Curates Python books for learning and reference, while awesome-learn-by-playing focuses on hands-on games across technology topics.
ProjectLanguageLicenseStarsStatus
awesome-learn-by-playing–MIT890Not checked yet
Become-A-Full-Stack-Web-Developer–MIT18.4kInactive
awesome-python-booksNot specifiedOther4.3kInactive

Considerations

This repository is a directory, not a unified learning platform. The linked activities are independently maintained, may differ in teaching style and difficulty, and can change or become unavailable. Some are paid, and the free or paid labels in the list may not reflect current access terms.

Found this useful?

Share it with someone who would like awesome-learn-by-playing.

Comparisons