--- title: "Learn-By-Building" type: concept tags: [methodology, learning, education, pedagogy] last_updated: 2026-04-23 --- ## Aliases - Learning by Building - Learn Through Building - Project-Based Learning - PBL - 边做边学 - 项目制学习 ## Definition Learn-By-Building 是一种教育方法论:通过主动构建(而非被动消费)来学习新知识。与观看教程或阅读文档不同,学习者通过实际编写代码实现一个系统,在构建过程中自然积累对原理的深层理解。 ## Details - **核心洞察**: "What I cannot create, I do not understand"([[RichardFeynman]])——无法创造的东西意味着没有真正理解 - **典型场景**: - 用 C 从零实现一个 TCP/IP 协议栈([[Build-Your-Own-X]]) - 用 Python 从零实现一个神经网络(理解反向传播的细节) - 用 JavaScript 从零实现一个 React(理解 Virtual DOM 的原理) - **适用范围**: 有一定基础的学习者;不适合零基础入门 - **vs 传统课程**: 传统 CS 教育强调理论(算法/数据结构/操作系统理论),Learn-By-Building 强调实践(从零重建系统);两者互补 ## Relationship with BYOX [[Build-Your-Own-X]] 是 Learn-By-Building 方法论的具体实践形式之一。BYOX 提供现成的分步骤教程资源,降低了"不知道该建什么"的门槛。 ## Connections - [[Learn-By-Building]] ← embodies ← [[From-Scratch-Methodology]] - [[Learn-By-Building]] ← resources ← [[Build-Your-Own-X]] - [[Learn-By-Building]] ← enables ← [[Codecrafters]] - [[Learn-By-Building]] ← preceded_by ← [[NAND-to-Tetris]]