Mindket

Project Based Learning 项目式学习

新上架第 2 版 · 更新于
星标289k

概览

practical-tutorials 组织整理的项目式教程清单,按编程语言分类,从用 C 写一个 shell 到用 Go 做一条区块链。安装说明涵盖阅读方式、向 Claude Code、Codex 或 Cursor 提问,以及维护者对 README 的检查。

Project Based Learning 项目式学习 是一款 GitHub 上的开源项目,属于教育类,由 Mindket 上架。可免费获取。当前为第 2 版,最近更新于 。按它的 README 从 GitHub 安装。Mindket 的设置说明可在你的 Mindket 账户获取,以 zip 压缩包下载。

速览

用在
  • GitHub:README,目录里有指向每门语言栏目的链接
  • Fork:README 写道“To get started, simply fork this repo”,意思是:想上手,直接 fork 这个仓库
  • 本地副本:克隆仓库,然后手动阅读或搜索 README.md,也可以交给你的编程智能体
  • Python 3:维护者的 lint 和链接检查都是对 README.md 运行的
先运行
git clone https://github.com/practical-tutorials/project-based-learning.git

平台

Any coding agent编程智能体
Claude Code编程智能体
Codex编程智能体
Cursor代码编辑器

关于

它是什么

Project Based Learning 是一份编程教程清单,由 practical-tutorials 组织放在同一个 README 里维护。每个教程都让你亲手做出一样东西,比如一个 shell、一个聊天应用或一条区块链。清单本身不含课程内容。每一行是一个标题加一个链接,指向别人网站上的教程:博客文章、GitHub 仓库、视频或课程页面。README 按主要编程语言分类,较大的语言下面还有子栏目。CONTRIBUTING.md 要求教程免费、开放,并且照着做完能得到一个完整、能运行的项目。

  1. 你选一门语言
  2. 在 README 里打开它的栏目
  3. 按教程要做出什么来挑一个
  4. 点链接去作者的页面
  5. 一部分一部分地把项目做出来

适合谁

对一门语言略懂一些、想跟着做一个真实项目而不是再做一组练习题的学习者。老师和导师可以给每个学习者发一个链接。正在学第二门语言的开发者,可以用它重做一个熟悉的东西。任何人都可以通过拉取请求提议添加教程,前提是符合 CONTRIBUTING.md 的要求,并通过维护者的 lint 检查。

谁在用,怎么用
谁在用怎么用例子
自学者选一门语言,把一个教程做到底懂一点 Python 的人打开 Python 栏目,从 Bots 或 Data Science 子栏目里挑一个项目。
课程里的学生在课程所教的语言里找一个动手做的项目系统课上的学生打开 C/C++ 栏目,里面有写一个 shell 和实现一个键值存储的条目。
老师和导师按语言给每个学习者选一个教程导师让学 Go 的人去做多篇的 Building Blockchain in Go 系列。
学另一门语言的开发者用新语言重做自己已经会的东西想试试 Rust 的网页开发者打开它的栏目,从 A Simple Web App in Rust 开始。
贡献者添加自己知道的教程,先跑维护者的 lint有人在对应语言下加一行维护者规定格式的条目,并为这一个教程单独开一个拉取请求。

如果你想要一门带练习和反馈的完整课程,就不必用它。清单链接的是许多不同作者各自写的教程,彼此独立。

用在哪里

这份清单在任何能打开网页或 Markdown 文件的地方都能用。

  • GitHub:README,目录里有指向每门语言栏目的链接
  • Fork:README 写道“To get started, simply fork this repo”,意思是:想上手,直接 fork 这个仓库
  • 本地副本:克隆仓库,然后手动阅读或搜索 README.md,也可以交给你的编程智能体
  • Python 3:维护者的 lint 和链接检查都是对 README.md 运行的
  • 每个教程自己的网站:每个链接打开的是一篇博客、一个仓库、一个视频或一个课程页面

README 没有给任何编程智能体写步骤。Mindket 给 Claude Code、Codex 和 Cursor 写的说明,只是把一个文件交给智能体去读的普通步骤,说明里也这样写明了。

如何设置

点“获取”会把一个装有 Mindket 安装说明的 zip 压缩包存进你的下载文件夹。清单本身不需要安装,README 也没有给出安装命令。

先准备好这些
需要说明
什么都不用在 GitHub 上阅读清单
GitHub 账号只有 fork 时需要,README 建议这样上手。fork 是 GitHub 的功能,不是 README 里的一行
Git只有保留本地副本时需要。GitHub 给出了克隆地址,git clone 是普通的 Git 用法,不是 README 里的一行
Python 3只有跑维护者的 lint 时需要。CONTRIBUTING.md 运行的是 python3,脚本自己说只用标准库
每个教程自己要求的东西每个教程会在它自己的页面上写明要用的工具、语言和账号
  1. 在 GitHub 上阅读 README。
  2. 克隆仓库留一份副本。用下面这行克隆,然后在编辑器或编程智能体里打开这个文件夹。
  3. 想找某门语言,就搜它的名字。每个语言栏目从一行标题开始,工具包的 read-and-search 说明里有一条能把这些标题都列出来的搜索。
  4. 想贡献就先跑 lint。先安装 Python 3,再在仓库根目录运行它。
git clone https://github.com/practical-tutorials/project-based-learning.git

克隆那一行是在 GitHub 报告的仓库地址上运行的普通 Git 命令。下面这一行抄自 CONTRIBUTING.md,在仓库根目录运行,必须以状态 0 退出。

python3 scripts/check_readme.py lint

如何使用

打开目录,选一门语言,再打开它的栏目。每个教程占一行。有些行标着 (video),一个系列则是一行标题,下面缩进列出它的各个部分,常见的写法是 Part 1、Part 2。点链接去教程自己的页面,因为 README 里除了标题和地址,几乎没有别的内容。

用智能体的话,说明文件、栏目和你想做出什么。

Open README.md in this folder. List the tutorials in the Go section that build a server or a network client, with their links.

示例

你会 Go,想做一个跟网络有关的项目。你打开 Go 栏目,或者把上面的提示词交给智能体。在 2026 年 11 月 3 日读到的 README 里,这个栏目有这些,下面只列其中几条:

- [Building a TCP Chat in Go(video)](https://www.youtube.com/watch?v=Sphme0BqJiY)
- [Building a BitTorrent client from the ground up in Go](https://blog.jse.li/posts/torrent/)

你选了 BitTorrent 那个。README 只给了你标题和链接。步骤、代码和要求都在链接背后的页面上,所以先读一下那个页面的开头,再决定做不做。

新手与专家

新手:项目式学习指的是通过做出一个完整的程序来学,而不是做一些小练习。这份清单里没有课程内容,它指向别人写的课程。从你略懂的一门语言开始,打开它的栏目,挑一个标题能告诉你最后会做出什么的教程。每个教程在不同的网站上,所以这个适合你,下一个不一定适合。

专家:README 是格式固定的纯 Markdown。维护者的脚本 scripts/check_readme.py 把它当数据来解析:由锚点组成的目录、每个都必须出现在目录里的 ## 栏目、### 和 #### 子栏目、条目行,以及带嵌套子项的系列。lint 的错误包括重复的 URL、短链接服务和无法解析的行。在拉取请求里,新增的 http:// 链接也算错误。

每周的链接检查把每个链接归为 OK、HARD_DEAD、SUSPECT 或 BLOCKED,并在 .github/link-rot-state.json 里按“两次失败”的规则记录结果。一个条目连续两次检查都失效,就会有拉取请求把它删掉。scripts/linkcheck-domains.txt 里列出的网站(medium.com 及其子域名、towardsdatascience.com、reddit.com、twitter.com、x.com、linkedin.com、udemy.com 和 quora.com)失败时算 BLOCKED,因为这个文件说它们会拦截或质询自动化检查。除 medium.com 外,列出的域名只做精确匹配,所以 www.udemy.com 不在其中。脚本开头说,README 内容和拉取请求的 diff 都是不可信的输入,并定下规则:绝不 eval/exec 它,绝不交给 shell,也绝不用它拼命令行。

注意事项

清单只是文本,所以除非你运行维护者的脚本 scripts/check_readme.py(它的 lint,或者会发出网络请求的链接检查),这里没有任何东西会在你的电脑上运行。要问的是它所链接的内容。

  • 许可证:MIT,“Copyright (c) 2021 practical-tutorials”,在 LICENSE.md 里。它覆盖的是仓库自己的文件:README 清单、CONTRIBUTING.md、检查脚本和工作流。每个被链接的教程各有自己的作者、许可证和条款
  • 别人的页面:README 里只有标题和地址。教程、它们的代码和建议都在别的网站上,可能会变,也可能消失
  • 时效:维护者把一个 Haskell 条目标为过时,每周的检查还会提议删掉一直打不开的链接。一个链接能打开也可能是旧的,因为检查只看页面有没有响应,不看内容是否最新
  • 是否免费:CONTRIBUTING.md 要求教程免费、开放。链接检查不会测试页面现在是否仍然免费,所以开始之前先看一眼
  • 对外连接:在 GitHub 上阅读会加载 GitHub,每个链接会加载它自己的网站。lint 不发出任何网络请求。链接检查会给它检查的每个链接至少发一个请求(先 HEAD,失败时再 GET,还会重试和跟随跳转),带着一个写明仓库地址的 User-Agent 头
  • 删除:删掉本地副本的文件夹,或者在 GitHub 上到 fork 的设置里删掉 fork(Mindket 的说明,GitHub 的功能,不是 README 里的一行)。没有安装别的东西

README 和文件

README

Project Based Learning:安装说明

这个工具包里只有安装说明,由 Mindket 编写。清单本身就是 practical-tutorials 仓库的 README,地址是 https://github.com/practical-tutorials/project-based-learning

这些说明不是 practical-tutorials 的维护者写的,也没有得到他们的认可。这个仓库在 GitHub 上的描述是“Curated list of project-based tutorials”,意思是:一份精选的项目式教程清单。README 说它是“A list of programming tutorials in which aspiring software developers learn how to build an application from scratch.”,意思是:一份编程教程清单,有志于做开发的人在里面学会从零做出一个应用。来源见 https://github.com/practical-tutorials/project-based-learning/blob/master/README.md

许可证:MIT。GitHub 的仓库信息写的是“MIT License”,许可证文件 LICENSE.md(https://github.com/practical-tutorials/project-based-learning/blob/master/LICENSE.md)写的是“Copyright (c) 2021 practical-tutorials”。许可证覆盖的是仓库自己的文件:README 清单、CONTRIBUTING.md、检查脚本和工作流。清单链接到的每个教程都有自己的作者和条款。

它是什么

是一份清单,不是程序。README 里有:

  • 一小段介绍和一个目录,每门语言一个链接
  • 每门主要编程语言一个栏目,比如 C/C++、Go、Python、Rust 和 Swift,较大的栏目里还有子栏目(例如 C/C++ 下面的 Network programming,Python 下面的 Web Scraping、Bots 和 Data Science)
  • 每个栏目下面,每个教程一行:- [Title](link)。一个系列是一行标题,下面嵌套着它的各个部分,常见的是 - [Part 1](link) 这样的行
  • 最后一个 Additional Resources 栏目,列的是整个网站,而不是单个教程

README 写道“Tutorials may involve multiple technologies and languages.”,意思是:教程可能涉及多种技术和语言。有些条目标明是视频。维护者把一个 Haskell 条目标为过时。

仓库里还有 CONTRIBUTING.md、一个放着维护者对 README 运行的 Python 检查脚本的 scripts/ 文件夹,以及 .github/workflows/ 里的三个工作流文件。来源见仓库的文件树(https://github.com/practical-tutorials/project-based-learning)和 README。

会安装什么

阅读清单的话,什么都不装。README 没有给出安装命令。可选的检查只用 Python 3,别的都不需要:脚本自己的开头写着“Python 3 stdlib only”,意思是:只用 Python 3 标准库。来源见 https://github.com/practical-tutorials/project-based-learning/blob/master/scripts/check_readme.py

需要先准备什么

  • 阅读清单:一个浏览器,或者任何能打开 Markdown 文件的程序。
  • 想 fork:一个 GitHub 账号。README 写道“To get started, simply fork this repo.”,意思是:想上手,直接 fork 这个仓库。fork 是 GitHub 的功能(Mindket 的说明,不是 README 里的一行)。
  • 想保留本地副本:Git。README 没有给出克隆命令。GitHub 的仓库信息报告的克隆地址是 https://github.com/practical-tutorials/project-based-learning.git,对它运行 git clone 是普通的 Git 用法(Mindket 的说明)。
  • 想运行维护者的 lint:Python 3,因为 CONTRIBUTING.md 运行的是 python3。
  • 做某个教程:它自己写明的东西。每个教程都在自己的网站上,会说明它需要什么。

各平台的说明

  • setup/read-and-search.md:在 GitHub 上读 README、fork、本地副本,以及怎样在里面找到一个教程
  • setup/ai-agents.md:把这份清单交给 Claude Code、Codex、Cursor 和其他智能体(Mindket 的说明,因为维护者没有写任何智能体的步骤)
  • setup/contribute-and-check.md:条目格式、拉取请求的规则、lint 和链接检查

更新或删除

本地副本就是一个 Git 文件夹。要更新,在里面运行 git pull(Mindket 的说明,普通的 Git 用法)。要删除,删掉这个文件夹。fork 在 GitHub 上、在这个 fork 的设置里删除(Mindket 的说明,GitHub 的功能,不是 README 里的一行)。README 没有给出卸载步骤,也没有安装别的东西。

对外连接

  • 在 GitHub 上阅读 README 会加载 GitHub。清单里的每个链接会加载教程自己的网站:博客、GitHub 仓库、YouTube 视频和课程页面。这些网站不是 Mindket 的,也不是维护者的。
  • python3 scripts/check_readme.py lint 读取 README.md,不发出任何网络请求。check-links 会给它检查的每个链接发一个网络请求。来源见 https://github.com/practical-tutorials/project-based-learning/blob/master/scripts/check_readme.py
  • 维护者的工作流每周在 GitHub 的服务器上运行一次链接检查。见 setup/contribute-and-check.md。

来源

  • README:https://github.com/practical-tutorials/project-based-learning/blob/master/README.md
  • LICENSE.md:https://github.com/practical-tutorials/project-based-learning/blob/master/LICENSE.md
  • CONTRIBUTING.md:https://github.com/practical-tutorials/project-based-learning/blob/master/CONTRIBUTING.md
  • 拉取请求模板:https://github.com/practical-tutorials/project-based-learning/blob/master/.github/PULL_REQUEST_TEMPLATE.md
  • 检查脚本:https://github.com/practical-tutorials/project-based-learning/blob/master/scripts/check_readme.py
  • 工作流:https://github.com/practical-tutorials/project-based-learning/tree/master/.github/workflows
  • GitHub 的仓库信息:https://api.github.com/repos/practical-tutorials/project-based-learning
文件
README.md  5 KB
setup/ai-agents.md  2 KB
setup/contribute-and-check.md  6 KB
setup/read-and-search.md  4 KB

4 个文件,共 17 KB,以 zip 压缩包下载。

更新内容

  • 第 2 版 · 2026-11-09

    Updated by Mindket to the current version of this kit.

  • 第 1 版 · 2026-11-03

评价

还没有评分

写评价

还没有评价。

大家怎么说

Hacker News、Bluesky、X、Reddit、Facebook 和 YouTube 上提到这个项目的帖子和评论,来自每周一次的搜索和 Trendshift。它们不是 Mindket 写的,也未经核实,点开即可在原帖处阅读。

sebgCurated list of tutorials to build applications from scratch4 分GitHub Trending🚀 Skyrocketing! 🚀 (200+ new stars) 📦 practical-tutorials / project-based-learning ⭐ 278,155 (+394) 🗒 Python Curated list of project-based tutorials1 赞 · 1 条回复@bdall_1想学编程,却不知道先学什么、学完怎么练? 这 8 个 GitHub 项目可以分别解决这些问题: 1. developer-roadmap 查看不同开发方向的学习路线。 https://t.co/go6lGP0agB 2. freeCodeCamp 跟着课程和练习学习编程。 https://t.co/DYTTAnGdXz 3. free-programming-books 免费的编程书籍和学习资源合集。 https://t.co/uKEYSts8rG 4. build-your-own-x 通过亲手实现数据库、编译器等项目,理解它们的工作原理。 https://t.co/mWAUZSVUso…r/learnprogrammingThe projects Imade using project based repo from github...redbellProject-Based Learning: A curated list of project-based tutorials4 分Techandstream with Kevin Josué Marville | Software EngineeringWorking at Bell Labs must have been rather stimulating, with such talented people and innovative projects. What specifically caught your eye about Brian Kernighan’s story today? github.com/practical-tu...1 赞@wanerfu$80r/letscodecommunity10 GitHub repositories to master Python 👇ibobevProject Based Learning4 分Tom Dörrhttps://github.com/practical-tutorials/project-based-learning@wholovesmaths@pacil_menfess Hi, sender. Based on my experience, the best solution is practice and practice. Ini ada bbrp resources ya: - https://t.co/3p2ilugHHb - https://t.co/LeG7PSVs0R - https://t.co/bOe55SiRPu - https://t.co/48tcN6MN0u - https://t.co/AJlYFbopEZ - https://t.co/uE7yeDHkJ7 (continued)ibobevProject Based Learning1 分

搜索日期

Mindket 的更多商品

查看 Mindket 的全部商品

DeepSeek-R1-GGUF

unsloth · 工具包

671B 参数 DeepSeek-R1 推理模型的 GGUF 版本,带 1.58-bit 和 2-bit 动态量化,可在内存足够的本机上用 llama.cpp 运行。

新上架

Axion-1.0-35B-GGUF

prithivMLmods · 工具包

提供 Axion-1.0-35B 的 GGUF 文件,这是一个有约 30 亿激活参数的 35B 混合专家模型,面向科学推理、信息查找和工具使用。适合配合 llama.cpp 在本地使用。

新上架

HEART

Phips · 工具包

用一个超分辨率网络放大低分辨率图像,可以在一块消费级 GPU 上训练,并导出为 ONNX。适合训练或运行图像放大模型的人。

新上架

REA: Reverse Engineer Anything

morluto · MCP 服务器

精选

morluto 做的 MCP 服务器和 CLI,让你的编程智能体在你自己的电脑上研究二进制文件、桌面和 Android 应用、网站和固件,并为每条发现附上证据。

新上架458k

Vāgdhenu

prathoshap · 工具包

用一个训练好的声音,以吟诵风格朗读古典梵语诗节,由参考音频决定节奏。适合学习、背诵或需要梵语音频的人。

新上架

Limite 1B - Violetto

paradigma-inc · 工具包

用一个从头训练的 1B 参数模型解决难度很高的数学题,追求高速、大批量的推理。适合在 NVIDIA GPU 上运行数学任务的开发者。

新上架