这个项目有什么用
project-based-learning 是一份由社区维护的编程教程清单,收录的都是「从零动手做出一个应用」类型的项目式教程,并按主要编程语言分类。它解决的是学习者在网上找项目练手时资料零散、质量参差的问题:与其在搜索引擎里翻找,不如直接在这份清单里按语言挑一个项目跟着做。它替代的是「收藏夹里堆满零散链接」的旧习惯,适合自学编程的初学者、需要练手项目的在校学生,以及想给团队新人安排实践任务的工程师。
典型使用场景
- 初学者想通过完整项目理解语言特性,而不是只看语法书。
- 有经验的开发者想换语言,用一个小项目快速熟悉新生态。
- 团队负责人为新成员挑选练手题目。
核心特性
- 按语言分区组织:清单按 C#、C/C++、Go、Java、JavaScript、Python、Rust、Swift 等语言划分章节,每个章节下是该语言的项目教程链接,查找路径清晰。
- 以「从零构建」为主线:收录的教程强调从零开始搭建应用,例如写一个 Shell、写一个解释器、实现一个键值存储、构建一个 CHIP-8 模拟器等,而不是调用现成框架拼页面。
- 覆盖多个技术方向:除了常规应用开发,还包含网络编程、操作系统、编译器、图形渲染、游戏等偏底层的主题。
- 允许多技术栈混合:README 明确说明教程可能涉及多种技术和语言,一个项目里往往同时用到多种工具。
- 社区贡献驱动:通过 fork 仓库并参考
CONTRIBUTING.md提交贡献,清单持续由社区补充。
怎么安装
这个项目本身是一份教程清单,没有需要编译或安装的软件,也没有独立的安装章节。README 给出的获取方式是 fork 仓库:
- 前提是你需要一个 GitHub 账号。
- 在仓库页面点击 fork,把仓库复制到自己的账号下。README 原文表述为:
To get started, simply fork this repo. - 如果你想向清单提交新教程,请先阅读仓库中的
CONTRIBUTING.md,按其贡献规范操作。
至于清单里各个教程本身需要什么环境(语言版本、系统依赖等),由对应教程自己的页面说明,本仓库不做统一约定。
怎么使用
最基础的用法是打开 README,从目录里按语言定位到感兴趣的章节,再点开具体教程链接。README 的目录结构如下(节选):
## Table of Contents:
- [C#](#c)
- [C/C++](#cc)
- [Clojure](#clojure)
- [Dart](#dart)
- [Elixir](#elixir)
- [Erlang](#erlang)
- [F#](#f)
- [Go](#go)
- [Haskell](#haskell)
- [HTML/CSS](#html-and-css)
- [Java](#java)
- [JavaScript](#javascript)
- [Kotlin](#kotlin)
- [Lua](#lua)
- [OCaml](#ocaml)
- [PHP](#php)
- [Python](#python)
- [R](#r)
- [Ruby](#ruby)
- [Rust](#rust)
- [Scala](#scala)
- [Swift](#swift)
- [Additional resources](#additional-resources)
进阶用法一:按主题跨语言挑选。清单中除语言章节外还有网络编程等主题分区,例如「Let’s Code a TCP/IP Stack」系列,适合想深入协议细节的读者。
进阶用法二:把清单当作学习路线参考。以 C/C++ 章节为例,其中既有偏入门的项目,也有偏硬核的项目,可以按难度自行排序:
- [Write a Shell in C](https://brennan.io/2015/01/16/write-a-shell-in-c/)
- [Build Your Own Lisp](http://www.buildyourownlisp.com/)
- [Write an OS from scratch](https://github.com/tuhdo/os01)
- [Building a CHIP-8 Emulator](https://austinmorlan.com/posts/chip8_emulator/)
- [Let's Build a Simple Database](https://cstack.github.io/db_tutorial/)
需要注意,清单只提供链接,教程内容托管在第三方站点,具体的学习步骤、代码和运行方式以各教程原文为准。
适用场景与注意事项
适合用的情况:你想通过动手做项目来学编程,并且已经确定要学哪门语言;或者你需要一份经过筛选的项目题目列表,用来安排自学计划或新人训练。
不太适合的情况:你需要系统性的课程体系、配套练习和评测;或者你希望所有教程都在同一个平台、用统一的环境运行——本仓库只是链接集合,不提供这些。
注意事项:
- 教程链接指向外部站点,能否访问、内容是否过时取决于原站点,仓库本身不做保证。
- 各教程的技术栈、语言版本和依赖要求各不相同,官方文档未做统一说明。
- 仓库采用 MIT 协议,使用时请遵守协议条款;清单中的第三方教程另有各自的授权方式。
- 清单内容会随社区贡献更新,最近更新时间为 2026-10-19。
项目地址
仓库地址:https://github.com/practical-tutorials/project-based-learning
作者/组织:practical-tutorials
开源协议:MIT
总的来说,这是一份体量大、分类清晰的的项目式教程索引,价值在于帮你省去筛选链接的时间,真正学到多少仍取决于你是否动手把项目做完。
















cqlbgzs@163.com 1年前0
d好879445037@qq.com 2年前0
购买了 无法下载Alexcc 3年前0
强大Alexcc 3年前0
看不了教程Alexcc 3年前0
雷刺下载Alexcc 3年前0
下载Alexcc 3年前0
下载dsa456159 3年前0
下载