36 lines
1.6 KiB
Markdown
36 lines
1.6 KiB
Markdown
---
|
||
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]]
|