项目式编程学习资源汇总

practical-tutorials/project-based-learning 访问 GitHub ↗
🔤 Python ★ 278438 ⑂ 0 daily #16 (+401) 抓取 2026-08-12

一句话简介

精选按项目实战学习编程的中英文教程合集,涵盖Python、Web、数据科学等多个方向,适合初学者到进阶者动手练手。

标签

  • 项目学习
  • 编程入门
  • 实战教程
  • Python
  • 学习资源

适用应用场景

  • 零基础学习编程
  • 通过实战项目提升技能
  • 为面试准备作品集
  • 自学全栈开发

README 中文摘要

项目概述

Project Based Learning 是一个面向软件开发学习者的教程资源汇编,按主要编程语言分类整理。每个教程都带领读者从零开始构建一个完整的应用程序,部分教程横跨多种语言与技术栈。读者可直接 Fork 本仓库开始学习,贡献规范参见 CONTRIBUTING.md

支持的语言分类

仓库涵盖 20 余种语言与技术方向,包括 C/C++、C#、Clojure、Dart(Flutter)、Elixir、Erlang、F#、Go、HTML/CSS、Java、JavaScript(React、Angular、Vue、Node)、Kotlin、Lua、OCaml、PHP、Python、Ruby、Rust、Scala、Swift,并附有"Additional resources"补充资源。

C/C++:系统与底层方向

C/C++ 教程侧重操作系统、编译器、虚拟机与图形渲染:

  • 系统编程:手写 Shell、FUSE 文件系统、引导加载程序、内核、键值存储、Redis 克隆版、Linux 容器(500 行)、x86-64 JIT 编译器。
  • 编译器与解释器:《Crafting Interpreters》、从零编写 C 编译器(共 10 篇)、基于 LLVM 实现一门语言、db_tutorial 手写数据库、LC-3 虚拟机。
  • 图形与游戏:tiny 3D 系列(软件渲染、256 行光线追踪、BMP 解析、FPS 原型)、CHIP-8 模拟器、SDL/C++ 入门、OpenGL Breakout 克隆、Tetris 与 Space Invaders 系列教程。
  • 调试器:基于 Linux 的调试器系列(断点、寄存器、ELF/DWARF、源码级单步、栈展开等 10 篇)。
  • 网络编程:自研 TCP/IP 栈(ARP/ICMP/TCP/重传)、并发服务器系列(线程/事件驱动/libuv/Redis 案例)、MQTT Broker 从零实现。

Java 与 JVM 生态

Java 教程数量较少但覆盖解释器(Crafting Interpreters 第 4–13 章)、基于 ServerSocket 的简易 HTTP 服务、Android 闪光灯应用,以及 Spring Boot 用户认证 Web 应用。

前端与移动端

  • HTML/CSS:加载动画、HTML 计算器、纯 JS/CSS 实现的贪吃蛇。
  • React 生态:无服务架构、Trello 克隆、Medium 克隆、Chrome 扩展、Webpack 配置、Puppeteer/Jest 测试、Redux 源码解读、实时聊天(含情感分析)、WebSocket + Serverless GraphQL。
  • Angular:Instagram 克隆、Angular 2+ 离线优先 HN 客户端、Angular 8 完整应用系列、Bootstrap 4 响应式布局。
  • Vue:Firebase 认证、预算应用、GraphQL+Apollo 博客、MEVN 全栈、Pub/Sub 实时游戏平台。
  • Node.js:TDD 与 Postgres/Knex、Twitter Bot、爬虫搜索 Bot、Uber-for-X 应用。
  • React NativeFlutter:Todo、新闻、TikTok/Netflix/WhatsApp/Twitch 克隆等大量实操项目。

Python 全栈应用

Python 教程按主题细分:

  • 爬虫:Twitter 数据、Scrapy+MongoDB、Selenium WebDriver、BeautifulSoup 电影推荐。
  • Web 应用:Flask Mega-Tutorial、Django Girls、Flask+RethinkDB、Django TDD、Docker+Flask+React 微服务、Streamlit 数据应用。
  • 机器人:Reddit、Facebook Messenger、Telegram、Twitter 机器人。
  • 数据科学与机器学习:线性回归手写实现、sklearn 入门、神经网络从零构建、KNN 音乐推荐、TensorFlow Deep Dream、遗传算法。

函数式与脚本语言

  • Clojure:Twitter Bot、拼写检查器、JIRA 集成、Tetris in ClojureScript。
  • Elixir/Erlang:Phoenix 聊天应用、短链服务、Erlang/OTP 多用户聊天室。
  • F#:100 行 Excel 实现。
  • Lua + LÖVE:BYTEPATH 完整游戏开发系列(游戏循环、房间系统、敌人、技能树等 15 篇)。

使用建议

仓库本质是链接导航:每个条目都是外部教程链接,不包含可直接运行的代码或 CLI 工具。建议读者先选定目标方向(如编译原理、操作系统、Web 全栈),再按对应章节顺序逐步实现对应项目,从而获得完整的工程实践经验。

摘要更新于 2026-08-12 00:31:33 · 原文 52340 字符 · md5 4e3e0075130a…