0. 编程学前班
用适龄的图形化编程、Python、Minecraft与3D创作建立因果、分解、调试和作品表达,而不是把成人语言语法提前灌给儿童。 覆盖14个可见节点与13条官方连接,并用路线、投入和作品证据复核。
为什么学习路线必须由作品闭环
用适龄的图形化编程、Python、Minecraft与3D创作建立因果、分解、调试和作品表达,而不是把成人语言语法提前灌给儿童。 本页依据Milo Yip官方《游戏程序员的学习之路》中文版图谱重构,覆盖14个可见节点与13条方向连接。课程不复制原图排版和封面,而把图谱的能力节点、书籍节点、推荐实线与可选虚线改编成可交互路线和验收门禁。
图谱不是“读完即毕业”的课程表。作者明确指出,书籍只代表游戏程序员可能或应该掌握的知识与技能,实践、课程、产业和学术资料同样重要。只按年龄选书却不观察阅读能力、手部操作、挫折恢复和自主创作,会让路线从风险控制工具退化为收藏清单;每次只开启一条主线,用作品证明前置已满足,再进入下一节点。
材料身份、版本与许可
权威材料是Milo Yip创建的开源图谱《A Study Path for Game Programmer / 游戏程序员的学习之路》。中文版由tkchu整理,图面日期为2017年8月7日;当前官方master最后一次中文版图书更新提交为2019年1月2日,提交963fbeadd6f598adbd68406d975da5fb869a251c。它是单页DOT/SVG/PDF知识图谱,不是传统ISBN图书,并采用CC BY-SA 4.0许可。
图谱包含0到11共12个知识域、54个能力里程碑、215个书籍推荐,即281个可见节点;节点之间有290条方向连接,其中45条实线是推荐路线,245条虚线是可选路线。年份与版次必须按图谱历史语境读取;当前学习者要重新核对新版、工具链和岗位需求,但不能借“更新”之名删掉原图节点或改变实线/虚线语义。
五个贯穿全图的术语
、、、、。
在制主线控制并行;推荐路线保留作者给出的优先关系;可选路线允许专项差异;能力作品把阅读转成行为;学习证据则防止数月后只记得“看过”却无法复现结论。
四个可复算路线指标
节点覆盖必须以作品通过而不是打开书页计数:
并行负荷随着在制路线和上下文切换增长:
证据置信度综合复现、边界覆盖与交接成功:
历史路线的版本漂移按失效节点和失效连接记录:
这些指标只用于暴露路线风险。难书不该因耗时长被判低分,作品多也不等于能力深;报告必须附节点定义、目标岗位、版本、复核者和失败样本。
从5岁开始
可见节点 1/13。 这是作者图谱中的能力里程碑。进入前要列出前置概念和最小作品,退出时必须能解释、实现、测量并复盘,而不是只完成阅读。
围绕“从5岁开始”建立阅读—实现—验证三联单:阅读只提取问题和模型;实现生成代码、数据或可运行场景;验证包含边界、反例、性能或用户行为。三者缺一时,节点仍处于“接触”而不是“掌握”。
从8岁开始
可见节点 2/13。 这是作者图谱中的能力里程碑。进入前要列出前置概念和最小作品,退出时必须能解释、实现、测量并复盘,而不是只完成阅读。
围绕“从8岁开始”建立阅读—实现—验证三联单:阅读只提取问题和模型;实现生成代码、数据或可运行场景;验证包含边界、反例、性能或用户行为。三者缺一时,节点仍处于“接触”而不是“掌握”。
中级孩童游戏编程
可见节点 3/13。 这是作者图谱中的能力里程碑。进入前要列出前置概念和最小作品,退出时必须能解释、实现、测量并复盘,而不是只完成阅读。
围绕“中级孩童游戏编程”建立阅读—实现—验证三联单:阅读只提取问题和模型;实现生成代码、数据或可运行场景;验证包含边界、反例、性能或用户行为。三者缺一时,节点仍处于“接触”而不是“掌握”。
动手玩转ScratchJr编程 (2016)
可见节点 4/13。 这是作者图谱中的书籍节点;括号年份和链接反映2017/2019图谱坐标,不代表2026年的最新版或唯一选择。先定义它要补足的能力,再核对当前版次、可获得性与替代材料。
围绕“动手玩转ScratchJr编程 (2016)”建立阅读—实现—验证三联单:阅读只提取问题和模型;实现生成代码、数据或可运行场景;验证包含边界、反例、性能或用户行为。三者缺一时,节点仍处于“接触”而不是“掌握”。
Coding Games in Scratch (2015)
可见节点 5/13。 这是作者图谱中的书籍节点;括号年份和链接反映2017/2019图谱坐标,不代表2026年的最新版或唯一选择。先定义它要补足的能力,再核对当前版次、可获得性与替代材料。
围绕“Coding Games in Scratch (2015)”建立阅读—实现—验证三联单:阅读只提取问题和模型;实现生成代码、数据或可运行场景;验证包含边界、反例、性能或用户行为。三者缺一时,节点仍处于“接触”而不是“掌握”。
Scratch超人漫游记 (2017)
可见节点 6/13。 这是作者图谱中的书籍节点;括号年份和链接反映2017/2019图谱坐标,不代表2026年的最新版或唯一选择。先定义它要补足的能力,再核对当前版次、可获得性与替代材料。
围绕“Scratch超人漫游记 (2017)”建立阅读—实现—验证三联单:阅读只提取问题和模型;实现生成代码、数据或可运行场景;验证包含边界、反例、性能或用户行为。三者缺一时,节点仍处于“接触”而不是“掌握”。
动手玩转Scratch2.0编程 (2015)
可见节点 7/13。 这是作者图谱中的书籍节点;括号年份和链接反映2017/2019图谱坐标,不代表2026年的最新版或唯一选择。先定义它要补足的能力,再核对当前版次、可获得性与替代材料。
围绕“动手玩转Scratch2.0编程 (2015)”建立阅读—实现—验证三联单:阅读只提取问题和模型;实现生成代码、数据或可运行场景;验证包含边界、反例、性能或用户行为。三者缺一时,节点仍处于“接触”而不是“掌握”。
Help Your Kids with Computer Coding (2015)
可见节点 8/13。 这是作者图谱中的书籍节点;括号年份和链接反映2017/2019图谱坐标,不代表2026年的最新版或唯一选择。先定义它要补足的能力,再核对当前版次、可获得性与替代材料。
围绕“Help Your Kids with Computer Coding (2015)”建立阅读—实现—验证三联单:阅读只提取问题和模型;实现生成代码、数据或可运行场景;验证包含边界、反例、性能或用户行为。三者缺一时,节点仍处于“接触”而不是“掌握”。
Invent Your Own Computer Games with Python 4th Ed (2016)
可见节点 9/13。 这是作者图谱中的书籍节点;括号年份和链接反映2017/2019图谱坐标,不代表2026年的最新版或唯一选择。先定义它要补足的能力,再核对当前版次、可获得性与替代材料。
围绕“Invent Your Own Computer Games with Python 4th Ed (2016)”建立阅读—实现—验证三联单:阅读只提取问题和模型;实现生成代码、数据或可运行场景;验证包含边界、反例、性能或用户行为。三者缺一时,节点仍处于“接触”而不是“掌握”。
Making Games with Python & Pygame (2012)
可见节点 10/13。 这是作者图谱中的书籍节点;括号年份和链接反映2017/2019图谱坐标,不代表2026年的最新版或唯一选择。先定义它要补足的能力,再核对当前版次、可获得性与替代材料。
围绕“Making Games with Python & Pygame (2012)”建立阅读—实现—验证三联单:阅读只提取问题和模型;实现生成代码、数据或可运行场景;验证包含边界、反例、性能或用户行为。三者缺一时,节点仍处于“接触”而不是“掌握”。
Learn to Program with Minecraft (2015)
可见节点 11/13。 这是作者图谱中的书籍节点;括号年份和链接反映2017/2019图谱坐标,不代表2026年的最新版或唯一选择。先定义它要补足的能力,再核对当前版次、可获得性与替代材料。
围绕“Learn to Program with Minecraft (2015)”建立阅读—实现—验证三联单:阅读只提取问题和模型;实现生成代码、数据或可运行场景;验证包含边界、反例、性能或用户行为。三者缺一时,节点仍处于“接触”而不是“掌握”。
零基础学Minecraft编程 (2015)
可见节点 12/13。 这是作者图谱中的书籍节点;括号年份和链接反映2017/2019图谱坐标,不代表2026年的最新版或唯一选择。先定义它要补足的能力,再核对当前版次、可获得性与替代材料。
围绕“零基础学Minecraft编程 (2015)”建立阅读—实现—验证三联单:阅读只提取问题和模型;实现生成代码、数据或可运行场景;验证包含边界、反例、性能或用户行为。三者缺一时,节点仍处于“接触”而不是“掌握”。
3D Game Programming for Kids (2013)
可见节点 13/13。 这是作者图谱中的书籍节点;括号年份和链接反映2017/2019图谱坐标,不代表2026年的最新版或唯一选择。先定义它要补足的能力,再核对当前版次、可获得性与替代材料。
围绕“3D Game Programming for Kids (2013)”建立阅读—实现—验证三联单:阅读只提取问题和模型;实现生成代码、数据或可运行场景;验证包含边界、反例、性能或用户行为。三者缺一时,节点仍处于“接触”而不是“掌握”。
图谱的完整方向连接
实线表示作者给出的推荐路线,虚线表示可选路线;方向是前置到后继,不等于“读完左侧每本书才能打开右侧”。本页保留全部13条连接:
- 可选路线:从5岁开始 → 动手玩转ScratchJr编程 (2016)
- 可选路线:动手玩转ScratchJr编程 (2016) → 从8岁开始
- 推荐路线:从8岁开始 → Coding Games in Scratch (2015)
- 推荐路线:Coding Games in Scratch (2015) → Help Your Kids with Computer Coding (2015)
- 推荐路线:Help Your Kids with Computer Coding (2015) → 中级孩童游戏编程
- 可选路线:从8岁开始 → Scratch超人漫游记 (2017)
- 可选路线:Scratch超人漫游记 (2017) → 动手玩转Scratch2.0编程 (2015)
- 可选路线:动手玩转Scratch2.0编程 (2015) → 中级孩童游戏编程
- 可选路线:中级孩童游戏编程 → Invent Your Own Computer Games with Python 4th Ed (2016)
- 可选路线:Invent Your Own Computer Games with Python 4th Ed (2016) → Making Games with Python & Pygame (2012)
- 可选路线:中级孩童游戏编程 → Learn to Program with Minecraft (2015)
- 可选路线:Learn to Program with Minecraft (2015) → 零基础学Minecraft编程 (2015)
- 可选路线:中级孩童游戏编程 → 3D Game Programming for Kids (2013)
连接的验收单位是能力转移。例如从计算机基础进入游戏编程,不要求复述整本系统书,而要求能用存储层次解释一次帧尖峰、用进程线程模型定位一次阻塞,并把结论应用到真实项目。若后继作品反复暴露前置缺口,就沿连接返回补课,而不是继续扩大书单。
把路线转成季度执行合同
年龄入口、项目阶梯、监护与创作证据应由目标、前置、输入材料、每周投入、作品、验收者和退出条件组成。季度只承诺一条在制主线,其他节点保留为候选;每两周产出一个可运行或可复核增量,每月检查一次版本漂移,每季度根据作品结果重排下一段路线。
合同必须允许不读或换书。若某本历史推荐难以获得,可用覆盖同一能力的新材料替代,但要保留原节点、说明替代映射并跑同一作品门禁。这样既忠实复刻官方图谱,又不会把2017版次误当成2026年的采购清单。
{
"domain": "gmp17-00-programming-preschool",
"phase": "基础主干",
"activeRouteLimit": 1,
"weeklyHours": 8,
"artifact": "年龄入口、项目阶梯、监护与创作证据",
"acceptWhen": "作品可运行、边界已测试、他人能复现",
"deferWhen": "前置缺失、版本未核对或没有近期作品"
}用证据区分“看过、做过、掌握”
“看过”只能证明接触材料;“做过”意味着完成至少一个实现;“掌握”还要求能迁移到新问题、解释取舍、处理反例并完成交接。路线面板应分别记录这三种状态,不用一个百分比掩盖差异。复核者随机改变输入规模、平台或约束,学习者若只能复现教程默认场景,节点就退回“做过”。
一个最小路线评估器应返回分项和缺口:
type Evidence = {
runs: boolean;
boundaryCases: number;
reproducedByPeer: boolean;
versionPinned: boolean;
};
export function evaluateNode(evidence: Evidence) {
return {
executable: evidence.runs,
boundaryCoverage: Math.min(1, evidence.boundaryCases / 4),
handoff: evidence.reproducedByPeer,
traceable: evidence.versionPinned,
};
}不要把分项立即压成总分。运行失败与版本未固定是不同问题,边界不足和交接失败也需要不同补救;缺口明确后,下一项任务才可以控制在一到两周内完成。
先预测再运行
在调整实验前先预测:每周投入从4小时增到12小时、并行路线从1条增到4条、验证时间占比从20%增到60%时,四周后的“已读节点”和“通过作品节点”会怎样变化?固定一个目标岗位和同一作品,连续记录四周;若阅读数上升但作品通过率下降,就减少并行和输入材料,而不是继续加时。
Feature: 0. 编程学前班
Scenario: a learner exits one graph node with transferable evidence
Given a pinned source version and one active route
When the learner completes the declared artifact and boundary tests
Then a peer reproduces the result without tutorial-only knowledge
And the route decision records continue, branch, defer, or return三类高频误区
本章回顾
“0. 编程学前班”通过年龄入口、项目阶梯、监护与创作证据把阅读路线变成能力路线。忠实使用图谱需要同时保留节点、方向和实线/虚线语义;有效执行则需要单一在制主线、作品门禁、版本核对、边界实验和交接证据。二者结合,才能既不偷掉官方结构,也不被历史书单锁死。