Files
nexus/wiki/concepts/Learn-By-Building.md

36 lines
1.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
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]]