一条纵贯的共读路线:从《编码》最底层的物理开关出发,亲手把"计算"一层层搭起来,再顺着同一束信号往上,直到造出一个能生成文本的 GPT。中间不留黑箱。柯朗的《什么是数学》作为"数学品味"的并行轨道贯穿全程。
整张地图只有一个隐喻:信号。它从一只隔窗闪烁的手电筒(开 / 关 = 0 / 1)出发,沿着抽象的塔层一路向上——继电器、逻辑门、加法器、CPU,再到神经元、注意力、GPT。沿途每一处发光的"火花",就是一个饭桌点火问题:不是讲给孩子听,是抛出去、让他自己推出来的那一下。
它跟教材的根本区别在于问题驱动而非课程驱动:围绕"素数有多少个""哪些图形能尺规作出来""什么是无穷大"这样的真问题展开,展示数学家怎么想、怎么解,而不是教你怎么算。它补的是品味和"为什么",不是技能。
真正的门槛不在知识,在耐受度:每页都有推导,要拿笔跟着算,一天三五页;越往后越陡。读完前半本已很有收获,卡在某章、放半年再回来,是这本书的正常用法。
0.1 + 0.2 看结果。这个反直觉的瞬间,比任何讲解都管用。到这里,孩子已经亲手搭出一台能跑程序的计算机。但它只会"按规则算":给定输入,有唯一正确答案——这正是信奥训练的世界观。下一程是完全不同的范式:不写规则,让机器从大量例子里自己学出规律。同一束信号,继续往上爬。
别追求"读完",追求每个块都停下来自己复现一遍。价值全在停顿处。读完继电器,让他在纸上画"与门";读完加法器,让他讲讲进位怎么传。一周一块、配一次饭桌聊天,半年读完很正常。计划是地图,不是闹钟——某块来劲就多待,没感觉就快过。
最大的敌人是"看视频的爽感":可视化太好,看完容易以为懂了,其实是错觉。底线是每个 Karpathy 项目都自己从头敲一遍、跑通、能改动看到不同结果。数学是唯一真门槛,但对一个想亲手造出 AI 的孩子,这是无比真实的学习动机——卡住就陪他停下来补,别催着往前赶。
贯穿两条线的同一个总原则——也是你一贯的思路:让真实的问题来拉动学习,而不是反过来。上面每个点火问题都设计成"孩子能自己推出来"的难度,推出来的那点成就感,才是兴趣的真正来源。你忍住不要急着给答案,哪怕他卡十分钟,那十分钟比你讲十分钟值钱得多。还有最重要的一条:孩子对数学和计算的态度,是从你自己读、自己卡、自己想通后很高兴的样子里读出来的,不是从你买了什么书。
这张地图生长自下面这段完整对话。点击每一条展开,可读到当时的原始讨论——地图是结论,这里是它的来路。
知道,这是数学科普里的经典名著——《什么是数学》(What Is Mathematics?),作者是 Richard Courant(理查德·柯朗)和 Herbert Robbins(赫伯特·罗宾斯),1941 年初版。1996 年由 Ian Stewart 修订再版,加了一章讲费马大定理、四色定理等后来被解决的著名问题。中译本副标题是"对思想和方法的基本研究",在国内口碑也很好。
这本书的特点是不走"科普段子"路线,而是真刀真枪地带读者做数学:自然数、数论、几何作图、拓扑、微积分都有覆盖,有定义、有证明,但写法比教材友好得多。爱因斯坦评价过它,说它把数学的精髓讲清楚了。
不过要提醒一点:它对读者是有门槛的,适合有一定数学基础、愿意拿笔跟着推导的人,大概是学有余力的高中生到大学低年级水平往上。如果是给走竞赛路线的孩子看,它更多是补"数学品味"和思想深度的,跟信奥的算法训练不是一个路子,但对培养数学直觉很有价值。
你是想自己读,还是在考虑给孩子看?
说实话,这本书的门槛比很多人想象的高,但又不是高在"知识"上,而是高在"耐受度"上。我分开说。
知识门槛本身不算夸张。前几章(自然数、数论入门、数系)初中数学基础就能进场,不需要会微积分才能翻开。柯朗写作的原则就是尽量自包含,从头建起来。所以一个学有余力的初中生,理论上是能读前三分之一的。
真正的门槛在三个地方。第一是密度:它不是读着玩的书,几乎每一页都有推导,你跳过一段证明,后面就接不上了。正确打开方式是一天读三五页,拿纸笔跟着算,而不是像读《数学之美》那样一晚上翻五十页。第二是抽象耐受力:比如它讲数学归纳法、讲无理数的构造,要求读者对"为什么要这么严格地定义"这件事本身有兴趣。很多孩子卡住不是因为看不懂步骤,而是不理解"这有什么好证的"。第三是越往后越陡:前面数论、几何作图部分相对平缓,到射影几何、拓扑、微积分那几章,难度上升明显,微积分那章如果完全没接触过极限思想,会比较吃力。
对你家正在搞 CSP/NOIP 的孩子,我的判断是:数论、组合那些章节跟竞赛内容有交集,读起来会有"原来背后是这样"的快感,可以从这些章入手,不必从第一页线性推进。但要有心理预期——这本书读完前半本就已经很有收获,卡在某章很正常,放一放过半年再回来是这本书的正常用法。
对你自己,十年商业分析的底子,逻辑推理能力是够的,主要是要接受"读得慢"这件事。如果你高中数学还记得大半,前面四五章问题不大。
一个实操建议:你们俩可以读同一章然后互相讲,谁讲不清楚说明谁没读懂。这本书特别适合这种用法,因为它的每个论证都是可以复述的。
这两个问题的答案不太一样,我分开说。
确实跟教材有本质区别。教材的组织逻辑是课程进度——按照"先学什么才能学什么"的依赖关系铺设阶梯,目标是让你通过考试、掌握运算技能。《什么是数学》的组织逻辑是问题驱动:每一章围绕几个真正的数学问题展开,比如"素数有多少个""哪些图形能用尺规作出来""什么是无穷大",然后展示数学家是怎么思考和解决这些问题的。教材教你"怎么算",这本书让你看"数学家为什么关心这个、怎么想出来的"。所以同样讲数论,教材给你一堆同余运算练习,柯朗带你直接看欧几里得对素数无穷的证明,看哥德巴赫猜想为什么难。这是它最大的价值,也是它读起来慢的原因。
第二个问题我要泼点冷水:它不是了解数学科研版图的最佳地图,甚至可以说不太胜任这个任务。原因有两个。一是年代——主体写于 1941 年,即便算上 1996 年修订加的那一章,二十世纪后半叶数学的爆发式发展基本不在里面:没有现代概率论、没有统计、抽象代数只有零星影子,泛函分析、数理逻辑、计算理论、动力系统这些当代大领域几乎缺席。二是定位——柯朗本来就不想写一本"数学领域巡礼",他想写的是"数学的精神是什么",所以选材偏经典核心(数、几何、分析),深挖而不求全。
如果你的目标是看清数学研究都有哪些领域,更对口的有这么几本。一是《数学:它的内容、方法和意义》,亚历山大洛夫等苏联数学家合写,三卷本,按领域分章巡礼,每章由该领域一流学者执笔,覆盖面比柯朗宽得多,中译本是经典老译本。二是《普林斯顿数学指南》(The Princeton Companion to Mathematics),Gowers 主编,目前最接近"现代数学全景地图"的一本,连研究前沿的分支划分都有,中译本三卷,体量很大,适合当工具书查阅。轻量一点的还有 Gårding 的《数学概观》。
所以我的建议是组合使用:用柯朗建立"数学是怎么思考的"这个内核,用《普林斯顿数学指南》或亚历山大洛夫那套当地图查"数学界都在研究什么"。前者精读,后者翻阅。单靠柯朗一本,你会得到很深的数学品味,但版图认知会停在二十世纪上半叶。
站在兴趣启发的角度,我先说一个核心判断:兴趣不是被"好书"点燃的,是被"我自己想明白了一个东西"的瞬间点燃的。书只是制造这种瞬间的工具。所以选书和用书的方式,比书单本身重要。你家两个孩子年龄段不同,路径也完全不同,我分开说。
有一个现成的、被大多数家长浪费掉的优势:竞赛已经替你制造了真实的问题场景。他在赛场上遇到的数论、组合、图论,背后全是真数学。最有效的做法不是另开一条"数学兴趣"线,而是做嫁接——当他用完一个算法,找机会让他看到这个东西的数学出身。比如他用了快速幂和取模,这时候柯朗书里的数论章节就不是"课外阅读"了,是"原来我每天在用的东西,欧拉两百多年前就想清楚了"。这种"我已经会用、现在看懂了为什么"的体验,是兴趣最可靠的来源。
具体操作上,别把整本书递给他说"这本很经典你看看"——这是最容易失败的方式。更好的做法是你自己先读到某个跟他竞赛内容相关的段落,饭桌上聊起来,聊到他好奇了,再说"书里有,你自己去看"。让书成为他主动去取的东西,而不是你布置的任务。
另外对这个年龄段,视频有时比书更适合做"点火"的角色。3Blue1Brown(B站有官方账号)是目前数学可视化做得最好的,他讲线性代数、微积分本质的系列,对一个有竞赛思维的初中生来说是降维享受。视频点火,书负责深入,这个分工比较符合实际。
这个阶段碰任何"书"都为时过早,包括所谓的数学绘本启蒙,效果都远不如动手。六七岁孩子的数学兴趣藏在实物里——扑克牌、骰子、七巧板、乐高、折纸、跟你下的每一盘棋。这个阶段你能做的最有价值的事,是保护他的"为什么"。他问"为什么 1 后面是 2"这种看起来很傻的问题时,认真跟他玩这个问题,而不是给标准答案。
小学低年级唯一值得警惕的是反向操作:过早上奥数班、刷计算题,把数学变成"又快又对"的竞技,这是杀死兴趣最高效的方式,而且伤害在几年后才显现。你已经有一个走竞赛的老大,更要留意别把老大的路径直接平移给老二——等他自己表现出对规律、对策略游戏的兴趣再说。
这可能是最重要的一条:孩子对数学的态度,很大程度上是从父母对数学的真实态度里读出来的,不是从你买了什么书里。你自己读柯朗、在纸上推导、卡住了挠头然后想通了很高兴——孩子看到这个场景的教育效果,大于十次"你应该多看数学书"。你本来就要自己读这本书,这件事做在明处,就已经是最好的兴趣教育了。
这是个好问题,而且答案有点微妙——计算机科学领域确实有"精神气质类似"的书,但要找到完全对位的,得先想清楚柯朗那本书到底"类似"在哪。我理解你说的"内容类似"指三条:问题驱动而非课程驱动;深挖核心、讲思想和方法;自包含、带真证明,不回避难度。按这个标准筛,计算机科学比数学更"分叉",很难有一本书像柯朗那样统摄全局。
它跟柯朗的气质几乎是一个模子:不教某门语言的语法,而是带你从最基本的东西出发,亲手把"计算"这个概念一层层构造出来——求值、抽象、状态、解释器、甚至自己实现一个会算的机器。它问的是"什么是计算、什么是过程、什么是抽象",跟柯朗问"什么是数、什么是无穷"是同一类问题。读完不是"会写代码"而是"理解了计算的内核"。如果只能选一本作为"计算机科学版的柯朗",我选它。但它偏"编程与计算的哲学"。
如果想要的是回答"计算的能力与极限是什么"这一脉的、可读性更好的入口,Charles Petzold 的《编码:隐匿在计算机软硬件背后的语言》从"两个小孩用手电筒打信号"出发,一步步把计算机怎么从继电器、逻辑门搭起来的讲透,极度自包含,几乎不需要前置知识,但讲的是真东西。"柯朗气质"很纯正,门槛比 SICP 低不少,可能更适合作为你和孩子的共读起点。
将来孩子对"为什么有些问题计算机永远算不出来""P vs NP 是什么"感兴趣,可以记下侯世达的《哥德尔、艾舍尔、巴赫》(GEB)——用哥德尔不完备、递归、自指把数学逻辑和计算的本质串起来的奇书,获过普利策奖,更像柯朗的"加强版变体",更野、更哲学。再往直接走是 Hopcroft 那套自动机理论,但偏教材了。
信奥训练的本质是算法和数据结构,解决"怎么又快又对地算出来",有个隐藏代价:容易让孩子把计算机科学等同于"刷题和优化",看不到底下那层"计算到底是什么"的风景。这几本书对你孩子的价值,跟柯朗对竞赛数学的价值一模一样:补"品味"和"为什么",不是"怎么做"。
具体建议:Petzold《编码》作为共读首选,门槛低、自包含、点火效果好;SICP 留到高中、编程功底扎实后再啃;GEB 当种子放书架上,哪天孩子自己抽出来翻是缘分,别推。
展开讲《编码》(Code: The Hidden Language of Computer Hardware and Software),Charles Petzold 著。
这本书的真正主题不是"计算机",而是"信息怎么被编码,以及机器怎么被一步步搭出来理解这些编码"。书名里的 Code 是双关——既是"代码",更是"编码/密码"。Petzold 的野心是从最原始的人类需求出发(我想隔着距离传递信息),不借助任何现成的计算机概念,纯靠逻辑和物理,把一台真正能运算的计算机从零造出来。读完你会有一种很奇特的感受:计算机不再是一个魔法黑箱,而是一个"我好像也能想出来"的东西。这正是它的柯朗气质——祛魅,把神秘变成可理解。
开篇不谈计算机,谈沟通。从隔着窗户用手电筒打信号讲起,然后是莫尔斯电码、盲文——核心问题是:怎么用少数几种符号表达复杂信息?这一步埋下全书的种子:编码的本质是用有限表达无限。接着自然引出二进制为什么是最朴素的选择。
然后转向物理实现。讲电、电路、继电器。这是全书最关键的一跳:继电器可以组合成"逻辑"。两个继电器串联是"与",并联是"或"。抽象的逻辑和物理的电路第一次合体,孩子会看到布尔代数不是凭空的符号游戏,而是能用开关搭出来的真东西。
再往上,用逻辑门搭出加法器,搭出能记住一个状态的电路(锁存器、触发器,存储器的雏形)。"运算"和"记忆"这两个核心能力,从几个继电器一路盖楼盖出来。然后组装成一台简单的、有指令、能执行程序的计算机,讲清楚 CPU、内存、总线怎么协作。最后几章延伸到 ASCII、操作系统、图形显示、浮点数,把"原始机器"和今天的电脑接上。新版(第二版,2022 年)这部分更新和扩充了不少。
这个组织方式的厉害之处:没有任何一步是"你先记住,后面会讲"。每一层都建立在你上一页刚刚亲眼看着搭好的东西上,中间没有断层、没有黑箱。这跟教材完全相反。
门槛:这是几本书里最低的,几乎零前置。对搞信奥的初中孩子完全够得着,甚至会觉得前半本偏简单——但别跳,前半本在帮他打"计算的物理直觉"这个大多数刷题选手没有的地基。切入价值:信奥让孩子站在很高的抽象层,底下"一条指令在电路里发生了什么""为什么是二进制""内存为什么能记住东西"刷题不会碰,《编码》正好补这一层。
怎么共读:它天然适合一起读,每一步都可复述、可提问。按"组件"分段——读完继电器停下来问"能用继电器搭个'与'吗",让他纸上画;读完加法器,让他讲进位怎么传。最忌一口气读完。继电器/逻辑门那几章配合一点动手(Minecraft 红石、逻辑门模拟器、面包板),点火效果翻倍。
提醒:中译本质量不错,尽量找第二版(对应 2022 新版)的译本,内容更全;第一版也完全能读,只是现代部分略旧。
有,而且这个方向最近几年正好出了几个质量很高、思路高度对位的东西。"从零、自包含、亲手一层层搭出来"这条线,在 LLM/深度学习领域反而比传统 CS 还成熟。
整本书就是一件事:用 PyTorch,从一张白纸开始,把一个 GPT 类的大语言模型亲手搭出来——分词、嵌入、注意力机制、Transformer 块、预训练、再到微调,每一层都是自己写代码堆起来,没有调包黑箱。柯朗气质非常纯正。门槛要说清楚:比《编码》高不少,需要会 Python、懂一点线性代数和最基本的微积分直觉,还要接受 PyTorch。更适合孩子再大一两岁、或你陪着一起啃。
如果连"神经网络/反向传播本身"都想从零造一遍,Andrej Karpathy 的免费教程是这个星球上最对位的东西。一个是 micrograd:大概一百行 Python 从零实现一个能自动求导的微型引擎,再用它训练一个小神经网络——看完彻底理解反向传播其实就是链式法则在一张计算图上的自动应用,祛魅效果跟 Petzold 用继电器搭加法器一模一样。另一个是 "Let's build GPT" 和 nanoGPT:从零写一个能生成文本的 GPT。整个 "Neural Networks: Zero to Hero" 系列就是从单个神经元一路造到 GPT。视频形式,点火属性强。
3Blue1Brown 的神经网络系列(B站官方中字)——把神经网络、梯度下降、Transformer/注意力都做成可视化,建立直觉的最佳起点,几乎零门槛。Michael Nielsen《Neural Networks and Deep Learning》(免费在线书)——更基础(还没到 Transformer),写法自包含、带推导、问题驱动,很柯朗,适合正式读 Raschka 前的台阶。
结合孩子情况(信奥底子强、Python 没问题、数学待补、年龄还小):先用 3Blue1Brown 点火,建立画面感;接着上 Karpathy 的 micrograd——对编程能力的要求正好落在信奥孩子舒适区(图 + 递归),对数学要求压到最低,是从"会编程"通往"懂 AI"的最佳桥梁;走完还有劲、数学跟上,再上 Raschka 或 nanoGPT。Nielsen 作为中间补基础的参考。
一个判断:信奥本质是"用算法解决确定性问题",有唯一正确答案;AI 是另一种范式——"从数据里学出近似的、概率性的规律",没有唯一答案,讲究泛化。两种思维不冲突,但是两套世界观。让他接触 AI 这条线,价值在于早点见到"计算"还有这样一种和刷题完全不同的玩法——跟给他看柯朗、看《编码》是同一个用意:拓宽他对"计算到底是什么"的想象边界。
这条线有个特殊的坑:极其容易"看懂了视频,以为自己懂了,其实啥也不会"。深度学习可视化做得太好,看 3Blue1Brown 会有"我全懂了"的爽感,但那是错觉。所以总原则跟《编码》相反——看完必须自己写一遍代码,跑通才算数。视频负责点火,代码负责把画面感变成真懂。没动手跑过的部分,默认没学会。另外这条线对数学要求比《编码》高,允许在某阶段卡很久去补数学,这是正常的。
现在就能开始,零门槛,一起看。B站官方中字。先看神经网络基础几集,再看讲 Transformer 和注意力的几集。唯一目的是建立画面感。看完不算学会。饭桌点火问题(看视频前就抛出):"如果我让你写个程序区分猫和狗的照片,但不准你写任何 if 语句、不准定义任何规则——你连'猫有尖耳朵'都不能写进去,你会怎么办?" 这一问是整条 AI 线的灵魂,让他先卡在这个问题上,卡得越久越好。
整条路径的核心。安排在看完 3B1B 后。用约一百行 Python 实现一个自动求导引擎,再训练一个小神经网络。"自动求导"本质是在一张计算图上做反向传播——计算图是图结构,反向传播是图上的递归遍历,信奥孩子太熟了。把最被神秘化的反向传播翻译成他舒适区里的"图 + 递归"。数学只需理解"导数是变化率"加链式法则——一个补微积分的绝佳真实契机。跟着视频一行行自己敲,不要复制粘贴。饭桌点火问题:"假设你的网络这次猜错了——把猫认成了狗。它怎么知道该调整哪个参数、往哪个方向调、调多少?" 引他理解梯度的本质。
走完 micrograd 还有没踏实的地方,Nielsen 这本免费在线书是最好的补课材料。比 Karpathy 更系统、更慢、带更多推导。角色是"哪里虚了就去查哪章"的参考,不是必读完。
高潮。还是 Karpathy 的 "Let's build GPT" 和 nanoGPT。安排在 micrograd 彻底搞懂之后,因为 GPT 里每一块都是 micrograd 那套的放大和组合。数学要求会上来:注意力是矩阵运算。走到这步,他会亲眼看到那个跟他聊天的 AI,剥到底就是注意力 + 矩阵运算 + 反向传播,没有魔法。饭桌点火问题:"你在写一句话,写到一半要决定下个字。你的大脑是只看刚写的那一个字,还是会回头看前面整句话、甚至更早的内容?那机器要怎么做到'回头看前面所有内容、还能分清哪些更重要'?" 直指注意力机制核心。
意犹未尽再上。用 PyTorch 把分词、嵌入、注意力、Transformer 块、预训练、微调一整套工业流程亲手走一遍,代码全开源。门槛最高,需要 Python、线性代数、PyTorch 都到位,放在最后,可能等他再大一两岁、数学补够再上。
第一,最大的敌人是"看视频的爽感"。底线是每个 Karpathy 项目都必须自己从头敲一遍、跑通、能改动看到不同结果。能改代码、能解释自己改的那行为什么有效,才算真学会。第二,数学是这条路上唯一真正的门槛,而它正好是孩子要补的——但这是好事,比起"为考试学求导和矩阵",一个想亲手造出 AI 的孩子有了无比真实的学习动机。卡住就陪他停下来补扎实,比单纯刷数学题有效十倍。让真实的问题来拉动学习,而不是反过来。