为什么大学式的学习策略是低效的,以及如何改进。
以学习编程为例。编程学的好的人往往是这么学的:首先有一个问题要解决(比如要写一个完成特定目标的项目),然后分析哪些工具能完成这个目标(比如选定了语言、函数库和硬件设备等),然后遇到问题具体分析解决(比如怎么传输数据?然后去学习和了解 TLV 编码/Json编码等。)。而学的不好(但是努力了的)往往是别人项目都写完了,他还在打基础,在看数据库的第二范式,在学习大端小端,并且到知乎提问:“如何系统学习MySQL/C++/...”。
两类人对于所学的认知可以划分为:
- 一种以解决问题为目的,不断探索积累各类方法的活动。
- 一种以熟练方法体系为目的,用解决问题来练习的活动。
这两种策略其实无所谓好坏,适用范围不同。前者适合思辨为主的学习,尤其是理工科学习,比如数学、物理、编程。后者适合重复为主的学习,比如乐器、舞蹈、武术、物理/数学/算法竞赛等等。可悲的是,我们的(几乎所有国家的)教育体系是矛盾的,他想以解决问题为目的,却使用线性上课、“体系化”、集中做题为手段。
这导致的奇观就是期末两周大家突击复习,刷往年题,各个考八十多,厉害的九十多,但是其实对这门课的理解并不深入,只是掌握了各种题型技巧。
我的解决方案:大多数课程,如果你想要有一个深入的理解,应当采用项目制学习。教科书可以有,用来做一个随时翻阅的参考。如果想学习密码学,就亲自去重现各种算法。如果想学习 AI,就动手搭建和训练模型。
这篇感想还要回答一个问题:项目制学习说的好听,但是期末考就是要考各种知识点怎么办?
答:对于理工科,实际上你应该发现这些知识点直接的隐含联系——虽然知识点看似琐碎,但一个课程背后要解决的大问题(或者经典问题)其实并不多,并且往往能串联起这些琐碎的知识点。比如分析力学,核心问题是如何描述和预测单个或多个粒子的运动。进一步的,如何简化复杂系统的分析。更进一步的就划分为了经典方法、广义坐标下描述、动量空间下描述……只要围绕这些核心问题,学起来应该是很容易着迷并且取得成效的。
忽视核心问题而把精力花费在细枝末节上(往往还会感到无聊),才是真糊涂了。
标签: 无标签