数学学习方法的整理与想法
本贴的讨论范围是本人认真阅读和自学数学专业教材时的方法,下述主要内容是对方法的整理总结,但更希望有人给予我指导和建议。
其实这个话题我想写很久了,但过去几年内一直觉得缺乏经验。最近重新开始看书,终于决定可以稍微写一写了。上一个贴子是一些学习方法的问题,现在看来只是描述了我当时抄书抄证明时的感受,但(包括贴子回复)并没给我带来更好的体验。当时的我学数学的体验还是比较死板的,因为抄书延长了太多时间,也使对数学本身的积极感觉乏味了起来。这也是为什么这个贴子是(2)。另外,除了数学其他方面的问题我应当也会归入此系列。
我的记笔记方法
抄书是我自学(大学)数学最原始的方法,这源于中学时期大家都要做的笔记(尽管可能没必要)。我想之所以想要抄书,是在希望能认真学好知识的情况下,对自身能力的不自信。
[1] 手写抄书笔记
最详细但最冗长的办法。抄书学习是对书上(在当时的我看来)有意义的内容的记录和再组织,在(自己觉得)简单或显然的地方跳,也能在觉得不显然的地方补充证明。这样做可以加深记忆也能在抄写过程中check书上的大部分思路。抄书学习不是单纯的无意义抄写字符,但也不会有太多活跃的、创造性的思维,这可能与我的天赋、状态或教材语言有关。
- 优点:
- 这样做确实很详细,能注意到书上几乎所有内容。
- 事后有笔记,因此忘记后可以及时从此重启。
- 记录过程能慢慢check思路并适当补充,多多少少能加深印象。
- 缺点:
- 这样做也确实很冗长,手写的速度与思考的速度并不匹配(时快时慢),有时要抄很多繁琐的东西就会气馁。手写纯文字很慢也好像没那么好看,但对笔记的非结构性组织是很有效的,手写公式确实比$\rm\LaTeX$便捷。
- 抄书时只能看到眼前的一部分,从而没有全局视角(学泛函时感觉每个部分都比较割裂),而且容易淹没在证明和推论中,没有大的框架和想法。
- 初学时分不清主次,而抄书加重了之。书上的组织形式和结构通常会直接照搬到笔记上。
- 没有太多自己思考的余地,抄书时所有内容接踵而至好像填鸭一样,而我有时不能对学到的知识作有效的思考和内化。
由于厌倦手写抄书,我转而寻求其它方式来记录:
[2] $\rm\LaTeX$笔记
与手写侧重有所不同的抄书。出于$\rm\LaTeX$ 的结构性,记$\rm\LaTeX$笔记时我会更希望将笔记整理成完整的文稿,乃至对教材的补充。自己写的祖传param使得这样记笔记比较得心应手。
- 优点:
- 所有完成完整的$\rm\LaTeX$笔记都是很好的小讲义,组织性强且更易读。可以分享给别人。
- 同[1]优点2:事后有笔记,可以及时重启。
- 对纯文字和轻量公式的记录方便许多,若需写自己的想法是非常好用的。
- 手写时大段删改剪切比较麻烦,为了偷懒也会缩句,用电脑不需担心如此。
- 缺点:
- 繁琐较抄书更甚,事实上用$\rm\LaTeX$记笔记时大部分时间都用在组织笔记和写代码了,画图和写矩阵等非结构性内容时更加痛苦。总计下来$\rm\LaTeX$记笔记比手抄慢许多。
- 由于面对电脑而多少会缺少手写草稿,影响理解,也不如抄书详细。因此印象也不如手抄深刻。
- 这样做不适合结构性不强的书,如先叙述再给定义或定理。
- 其它缺点几乎同上……
因此在多次半途而废后,我意识到用$\rm\LaTeX$记笔记最适合的还是只有编辑和排版需求的人,也就是已经学过这门课而只需将其再组织并复述的人。而这不符合我的初衷。
那么,我是否可以充分利用上述优点2,用电脑记笔记呢?因此我选择了Markdown来试水,这也将我导向了基于Markdown的双向笔记软件,尽管我不觉得它更好用。
[3] Markdown笔记
与上述两者相比更轻量的记录方法。完全运用Markdown语言(及其扩展)来记录学习内容,Markdown的轻量使得笔记也轻量化,因此笔记既不是对教材细节的整理和补充(如[1]),也不成为过于丰富的再组织(如[2]),而成为某种总结。
在使用Markdown记录笔记时,我发现我是在重复这样的行为:看一两页,将较为重要的部分提纲挈领为几句话,然后分列为大纲/列表形式,再适配以Markdown语法。这样的行为是相当核心的,我想可以总结为:
[3*] 列表式笔记
对教材关键内容的提炼所形成的笔记。这样的笔记大多都在电脑上,而这是双向适配的:这样的提炼常常不需要太多公式,因此轻量化的笔记用电脑打字比手写便捷许多;电脑上看书和记笔记纸笔会用的少些,因此提炼内容更加重要。
- 优点:
- 完整笔记成为该学科的小提纲,如果熟悉或留有印象的话会很好上手。
- 对内容的总结更能看到全局图景,保留了教材中的关键内容。
- 一些复杂的计算和推导不必含于笔记内,自己想想或写出来就可以了,笔记不会被此淹没。
- 缺点:
- 简明但过于轻量。其不能包含太过结构化的东西(定理和定义不成为一个环境,而与叙述和证明混杂),更不能包含复杂的公式和图表(如交换图),同时非结构化的东西(比如手写很快就能整理出来的思维图景)本质不适配于电脑。
- 同[2]缺点2,若缺乏自己的思考则理解程度不会深。
- 简明到难以重启。因为记录的总结性内容跳步会很多,刚看或重学时比较吃力,阅读笔记也需要check很多东西。
- 容易成为知识点的罗列或只记结论而证明只看个大概,尤其是在初学不分主次不熟悉语言的情况下,从而印象不够深刻。
- markdown不能自定义命令,使得我在其中对公式的输入非常痛苦。
而另一方面,我既懒得抄书又懒得碰电脑,那么我应该怎么做呢?我会在书上直接注释。我想这也是最简单最原始的笔记形式:
批注式笔记
书上直接批注所得到的零散笔记。书不会是实体书,而批注要么在电脑端用pdf阅读器的注释功能批注,要么在移动端将pdf导出为笔记从而手写注释。
- 优点:
- 轻松,不必纠结于笔记的组织和结构,只需和书同步。
- 对书上内容可以随时随地补充总结,能够及时总结某一部分的思路,会更熟悉书上内容。
- 重学的时候可以看书上的笔记作为参考,更容易上手。
- 缺点:
- 没有组织和结构意味着这几乎不成为一本单独的笔记,实际上似乎什么都没记,也不知从何下手。
- 所有笔记分散在书的各个角落,难以归纳整理,有什么想法还需要重新翻书。
- 全局图景的刻画虽较抄书好些但仍然零碎,事实上能够组织起来的内容不外乎两三节。
到此为止,我过去使用过的几种笔记的基础记法介绍完毕了。事实上现在我常常用它们的混合方法,如:
- 在速通备考时,我会抄些书但只把知识点总结起来,证明就基本不去管了。事实上这样做一周就什么也不记得了。
- 在重学/复习的时候,我大概只会浏览相关内容的教材或笔记,而不会再做笔记了。
- 讲讨论班或重新建构图景时列表总结式笔记会很有用。
- 现在我在试图融合[3*]和[4],即先看书注释,然后总结写下来,以避免各自的缺点。但我还没这样做多长时间,所以等我先实践一段时间。
现在我的问题是:你们是如何学习数学教材并做笔记的?我该如何,或以什么样的姿态去学和记,以避免上述问题?
对学习方法的分析
- 在我(过去)看来,学数学和记笔记之间是难以脱钩的,但我想不应如此(哪怕只是批注和打草稿也可以)。是否可以以更自由的态度去看书?
- 事实上,上述内容中面临众多不可调和的矛盾才导致我觉得哪个方法都不行不够好。我也不应该如此:
- 冗长/繁琐/求大求全与简洁/轻松/求小求精:这是最主要的矛盾。我既嫌弃抄书麻烦,又觉得只记关键内容会变成罗列和总结;我既想要笔记能记很多东西,又想把笔记变成我的脑子能记下来的小册子;轻松则意味着我飞快略过内容,但这和我想更深刻一些相反。
- 结构化/组织化与非结构化/非组织化:我既想要笔记内容足够组织化,又想要在其中加入非结构性(如思维导图或交换图)的内容;我既想要笔记能有按条罗列的结构,又希望插入大段自己的想法破坏这样的结构。
- 手写的便捷性和电脑输入的便捷性:同上,手写相当自由而可以运用很多非结构化的内容,但我又懒得用手写大段自己的想法;电脑输入很多内容很方便,但问题在于非结构化的内容输入很困难。(在我看来)双向笔记并不能解决之。
- 因此我想,我应该找到上述矛盾的平衡点:
- 笔记既可以零碎的记在书的每个地方,但记下来的总结可以整理出来成为提纲挈领的部分,正如[3*]和[4]的融合一样。
- 不必期望自己能够把(只学过一两次的)书烂熟于心,而应当承认如果不用每个人都会忘的,不过是一个月、三个月还是半年的区别。
- 我想还是应当发挥手写的自由,不必拘泥于电脑上的结构化笔记。列表记笔记很好用,但如果迁移到手写笔记也未尝不可。
- 我想我应当先把书的某节通读一遍,然后再以此记总结笔记。
- 但是还有这样那样的问题:
- 怎么确保自己不会一个月前的知识一个月后就会忘记?一旦时间跨度过大,书上很多知识忘光。
- 键盘输入和手写确实各有千秋,如何能发挥其各自的优势?
我对此可能还没有足够充分的思考,在此也希望有人能给我提供一些建议。
Quote from @voidvalue
给计算机很多任务。如果它在进行某一个任务的过程中堵塞了,调度器很可能中断当前的任务,切换到一个不会堵塞的任务。当然,上下文切换有一定成本,但是和完全堵塞比起来,收益往往远大于成本。
类比一下,如果希望高效学习知识,一个简单直接的策略就是,学习时尽量让自己处在学习效率较高的模式,如果当前模式的效率降低了,那么就切换成另一个学习模式。
比如说,假设一个人对某个主题非常感兴趣,书的内容恰好是这个主题,写的也非常精彩,并且他的背景知识也足够跟随作者的思路,那此时他的学习效率基本上是顶峰的状态,没有理由一定要停下来开始做笔记。但是这种状态也不可能一直维持下去。大脑的疲劳会累计,兴趣会边际递减,背景知识会越来越捉襟见肘,跟不上的地方会越来越多,最终学习效率会跌落到一个阈值,于是就需要切换成另一个模式了。
某种形式的记笔记对于学习数学来说,基本上是不可或缺的一个模式,它意味着构建和组织一个自己的知识体系。迈过萌新阶段后,一个人对数学就会逐渐产生实感。这时,他眼里的学数学,不会是看完一本特定的书。他眼里的学习线性代数,不意味着看完一本名为《线性代数应该这样学》的书,也不意味着理解某个大学数学系一门名叫《线性代数/高等代数》的课程上的全部内容,更不意味掌握某个考纲上关于线性代数的全部内容。学习线性代数就只是字面意义上的“学习线性代数”。至于他眼中的“线性代数”是什么,这正是他自己的知识体系所告诉他的。
所以抄书式做笔记没有问题,只要是把抄书当成手段而不是目的,真正的目的是在知识体系中搭建属于自己的一块知识领域。抱着这个目的出发,只参考一本书的情况会非常少见。一本书是为无数人所写,不能指望对于某一位读者目前的知识背景和兴趣动机来说,这本书的处理是最符合这位读者特定需求的。每本书页数也有限,作者都需要从他的角度来权衡取舍,忍痛割爱。现代人的知识传播媒介也远远不止书籍,网络上的笔记,讲义,博客,社区讨论,视频课程,视频科普,计算与可视化……要把它们融为一炉,内化成自己的知识,一定是需要活跃的、创造性的思维的。笔记在这一过程中,起着一种锚定的作用,很多头脑中模糊的想法,会在成为文字或图画的那一刻定型。所以也可以说,构建知识体系的方式有多少种,记笔记的模式就会有多少种。
认为抄书蕴含对自身能力的不自信,可能是认为抄书相对比较轻松。轻松很多时候是合理的需求。但如果最优化的目标不再是掌握一本特定的书,而是增加对某个方向知识的理解,那么抄书百遍其义自现未必是最轻松的,一个更简单的对策是——换书,或者说把大量时间分配在其它可能更轻松的学习资源上。我当初很喜欢algebra, chapter0,觉得它写得很有趣很有深度,也非常对我胃口,但我读这本书还是感觉很吃力,甚至经常会困到睡着。最后我去找了一份计算机系离散数学的讲义,只有群环域最基础最好懂的知识,所以很快就翻完了。之后又找了人大可能是计算机系密码学方向的拔高班讲义,难度广度已经有一些了,因为是工科应用面向,讲的很简明,难证就不证,所以读起来也很轻快。同时又去读了半科普读物,Visual Group Theory,肉眼第一次看到群了。这时再回来看chapter0,之前的凝滞感就消失了。所以后面学椭圆曲线,会毫不犹豫地从计算机系的讲义开始看,而不是一心想着群概形。不同的人可能适合不同的调度算法。对我来说,阻塞后立刻切换的分散化策略总是能带来更高的学习效率。一本很难的书连续读一年,如果有可能,我更愿意将它分散到4年,每次读3个月。第一次读,不做笔记,大致对整体内容有个感受,关心结论和简单的例子。第二次读,推导过程和一些理解作为非正式的笔记。第三次读,启动一份正式的笔记,注意理论框架的搭建。第四次读,打磨笔记,更新对细节的理解,处理之前跳过的难点。这种时间上的分散化,会产生额外的隐形思考时间,提升触类旁通的可能。
提升记笔记的效率确实很重要,直接影响线程调度的优先级,因此需要持续的打磨和改进。比如LaTeX笔记,它适合正式地记录严肃的学习。一个典型情景是,一个人对一个方向有兴趣,找了相关的20本书,翻了一下决定从其中的5本书开始学习,又以其中的两本为主要框架做笔记。对于定义、定理、例子,经常是先照搬然后微调梳理,所以直接可以OCR,比如mathpix或者开源的Pix2Text。对于证明,如果选择暂时跳过的,可以OCR然后注释掉,之后再看;如果选择去看懂,经常需要重述成自己的语言,这时copilot补全很方便,很大程度上能缓解打字的速度与思考的速度不匹配的问题。需要交换图,有 在线编辑器 。
对我来说,LaTeX影响效率的地方有两个,一是笔记只要超过100页,并且有大量TikZ绘图,编译速度会明显跟不上打字的速度。使用Markdown或者 bTeX 这种基于web的实时渲染方案速度会快很多,我之前写过 一个讨论 提到了更多细节。另外一个渲染提速的选择是Typst。我最近因为需要涉及更多编程的TikZ绘图,去尝试了当前的Typst生态。我把目前数学笔记使用的LaTeX模板改写成了Typst,基本上所有需求都能实现。不过对我而言现在依然不是完全转向Typst的最好时机。为了将新项目转向Typst,至少需要和LaTeX一样成熟的OCR工具和交换图绘制GUI。如果不要求成熟度,那么这二者可以认为都是平凡的。比如,OCR可以用LaTeX OCR加上pandoc进行翻译,交换图绘制等cetz和fletcher包api稳定后,移植是直接的。而想将现存的复杂LaTeX笔记改写为Typst,过程会极为麻烦。目前我只将一个没有TikZ绘图的20页笔记转成了Typst,使用pandoc和手动修复。要想转译更复杂的笔记,需要写parser,TikZ外部化保存图片,并且手动修复也少不了。LaTeX影响效率的第二个地方是TikZ这种程序式绘图虽然质量可以很高,但制作过程麻烦。解决方法就是,如果不要求质量,用平板/手绘板数字绘画,LaTeX直接引用。还可以借助其它绘图软件,这取决于具体的应用。
LaTeX笔记每一次回顾都可以打磨更新。比如理论框架上,参阅了各种教材、讲义、笔记、wiki后,可能理解更多的等价定义、更深层次的观点与更多的进路,于是可以以自己认为最自然的方式重新梳理框架。比如直觉解释上,如果看了博客,文章,MSE/MO,有了新的理解,可以补充直观的图像和非正式的论述。比如具体实例上,如果在别的方向积攒了有趣的例子,又或者借助软件完成了许多计算,也可以充实进去。如果之前只有结论,可以添加严格的证明;如果之前只描述了现象,可以抽象出一般的理论。为核心补足枝节,从技术总结思想,这些都是重温笔记时可以实现的事情。最重要的这些都是为自己而定制的,最粗浅的地方可以比任何一本书都囫囵吞枣,最深入的地方可以比任何一本书都详细啰嗦。
虽然笔记已经可以说是最能帮助回忆的材料了,但是看到过去的笔记不记得相应的内容也很常见。在我看来,数学不是以记忆力为主的学科,重温笔记时更有意思的是可能仅仅过去几个月,但看待旧事物的观念已经完全刷新了。最重要、最值得欣喜的是大脑产生的这些新东西,而不是去在意哪些旧东西自己记住了,而哪些又忘记了。不妨将记忆视作理解的副产物。如果对某个事物有更深刻的理解,记忆必然会加深。如果只有初步的理解,也能有一个模糊的印象。如果本来就没有理解,忘记了又如何呢?
对于零散的知识或想法,篇幅长的我会使用markdown生成的网页博客来记录,篇幅短的就在云笔记上打字或者手写绘图。这些只有简单的分类,没有精细的维护与管理。云笔记里有一些有趣的问题和想法,只是暂时没有可以放入体系的框架。里面也有一堆看书时手写的草稿,作用类似于回收站。只有严肃且系统性的学习,我会选择LaTeX笔记。
Quote from @ixnij 楼主看的书如果有习题,会比较重视地去完成吗?或者是选择性的去做?
看情况,现在一般书上有习题我都会尝试去解决一些有趣的或新的结果,但通常不会留严格证明或论述(除非我确实感到不熟练和生涩,想要熟练工具),只会大概想一想这个东西是怎么回事或证明梗概和思路,部分感到困难的才会特别写一写,如果实在不会就问人或搁置了。
在我初学的萌新阶段我通常看不上习题,不爱做或者做一点,所以我的数分和高代水平到现在都很烂。而另一方面我在学抽代或泛函时有点求大求全,想把所有题目都刷一遍(而且好好写下来证明),结果导致偏科或拖延进度。只能说现在会写一写有价值的东西。
楼主在重新学习后,是否觉得把所有习题都尽力做一遍,对于初学者而言是很有必要的?
我的建议是,无论学哪门数学课,初学都是要做些题的,从练手、熟悉方法的简单题开始(比方说初学$\varepsilon-\delta$语言时用此去详细写出一个简单数列的极限),然后再做做常规中档题,最后可以试一试比较难的题目。我想所有习题没必要全做,而我自己的标准是自己是否感觉足够熟练。这些题分别该做多少比例,也要看个人水平。我想对初学者有必要的应该是稳扎稳打而不必急于求成。
Quote from @Sun_12357 很赞,我一直觉得数学学习需要有某种方法,将键盘打字和手写公式结合起来。
公式和图像是高度压缩、高信息量的符号,其书写/绘画速度通常不会比思考速度慢太多,适合手写,使用 LaTeX(包括 markdown 公式)往往速度缓慢;而描述性文字(无论是英语还是中文)都通常比公式冗长,抄书往往浪费很多时间在文字上。
不知道坛友们有没有将打字和手绘有机结合的方法?如果有,我觉得将一定程度提高数学、物理等理论性学科的学习效率。
讲讲我现在在尝试的方法,不一定对或适合别人:
我首先会一边看书一边写手写笔记,应该记录的是自己觉得新奇或能够/已经理解的内容,而不能完全抄书。在每章学完之后我会专门留出时间强迫自己用LaTeX基于手写笔记描述一遍学过的内容,其中逻辑和框架要自然流畅,思路更多要用自然语言而非一套一套的公式。这个度我看不好把握,因为又容易变成抄书和笔记。这个时候LaTeX可以画一些交换图,但应当将手写笔记中的非结构性部分改写为LaTeX笔记中结构性的部分。
个人认为使用LaTeX整理的这部分时间是垃圾时间…如果你当做复习的时间那也好,但是在LaTeX上打太多教科书上的公式对我来说是一种折磨,思维都消耗在公式怎么用LaTeX打出来上了,真正对内容的思考反而不多
更多是复习和整理思路。其实这样的总结性笔记应该不会写太多公式,而更多是大段的自然语言和footnote。另外对(大段文字的)内容的思考我会打字记在手写笔记或pdf批注上。