程序员的思维修炼:开发认知潜能的9节课阅读笔记03

发布时间 2023-03-25 10:36:08作者: 花伤错零

 

 

主动学习

瞄准SMART目标
  使用SMART方法实现目标能够更加专注,在这里,SMART代表具体的、可度量的、可实现的、相关的和时间可控的(Specific, Measurable, Achievable, Relevant, and Time-boxed);

  我们往往对于这两个词目标(goal)和目标任务(objective)的意思有一些模糊。明确地说:目标是一种理想状态,通常是短期的,是你努力要达到的状态。目标任务是一种帮你接近目标的事物。但是不要在这上面太过计较,不同人使用这些词语稍有不同;即目标任务使你更靠近目标;

具体的
  首先,一个目标任务应该是具体的。也就是说,只说“我想学习Erlang”是不够的。应该把事情具体化,例如“我想要用Erlang编写一个可以动态生成内容的Web服务器”;

可度量的
  如何知道你何时完成?为了努力实现目标任务,不管采用什么方法,你必须能够度量它;如果你认为无法度量自己的目标任务,那么很可能它还不够具体;但是一定要采取稳扎稳打、步步为营的过程。你不能期望一周之内减掉五十英镑或者利用一个周末就学会一门全新的编程语言和它的全部函数库。度量你的目标任务,但是要采取增量进步的方法;

可实现的
  一个你无法达到的目标不是目标,只是一种疯狂、吸食灵魂的自我挫败。有些事情对大多数人是不现实的;因此,先确定目标是否合理。你也许可以在下周用新语言编写一段“Hello,World! ”或者一个简单应用,但是你可能无法编写一个完整的Web应用框架和一个带有神经网络优化算法的用户界面构造器;

  所以,从你现在所处的情况着眼,让每一个目标都可实现;

相关的
  这个目标真的与你有关吗——对你重要吗?你对此有热情吗?是在你控制之下的事情吗?如果不是,这个目标就是不相关的;目标需要相关,需要在你掌控之中;

时间可控的
  这可能是目标最重要的一个特性,这意味着你需要设定一个最后期限;没有期限,目标会逐步衰退,永远被每天更紧急的事情所排挤,这样它永远都不会实现;

  再强调一遍,稳扎稳打。采取循序渐进、比较细小的里程碑;当实现它们后,你会更有动力去实现下一个里程碑;

  这种方法帮助你从自己的角度(“我”)、从更积极的角度(“我要”)来明确目标,要么用一般现在时,要么给出明确的时间表述(“我会在××时间之前完成zyzzy”);

 

 

务实的投资计划
定期投资(成本平均法)
  在金融领域,你需要采用成本平均法(dollar-costaveraging)。这意味着如果你定期购买股票,有时你会付出很多,有时你会收益很多。但是长期来看,这些差异互相抵消,一般最后你都会获得较好的回报;

  识投资也是一样。你需要定期投资最低限度的时间量。养成一种习惯,如果需要的话。躲到你的家庭办公室里去或者走进有无线网络的咖啡厅。并非每期学习都同样富有成效,但是只要定期安排学习,长期来看一定会成功。如果你一直在等待空闲时间或者等待灵感的突现,那么它永远都不会发生。

  例如,我想学习FXRuby GUI工具包,在坐下来认真学习之前,我首先得有相关的书籍,下载需要的软件,想好用FXRuby编写什么东西。我也需要分配足够的时间研究它,只是周六下午或者周二晚上很可能是不够的;

使用原生学习模式
  既然已经建立了主动学习的良好框架,我们现在需要看看学习本身。在本章剩余部分,我们将研究一些具体方法来帮助你更快更好地学习。以下是主要提纲

  • 主动阅读和总结书面材料的更好方式
  • 使用思维导图探索和发现模式和关系
  •  以教代学

  单独使用上述任一种方法本身就能让人受益匪浅。合在一起,它们更可以使你成为一台高效的学习机器。但是每一个人都是不同的,每个人的最佳学习方法也是不同的。因此,你可能发现某些方法最为有效——请记住,没有放之四海而皆准的办法。

使用SQ3R法主动阅读
书面的指令通常被认为是最无效的
SQ3R法

  1. 调查(Survey):扫描目录和每章总结,得出总体看法 =>首先,带着问题审视你要看的书。看一看目录、各章介绍和总结,以及作者留给你的其他标志性内容。你需要在深入细节之前得到一个总体印象;
  2.  问题(Question):记录所有问题 => 这项技术如何解决这个问题?我是要学习如何使用这项技术吗?或者这项技术实际是指向另一个源头吗?把各章节的标题改写成问题,这些都是你期望这本书回答的问题;
  3.  阅读(Read):阅读全部内容 => 现在你可以阅读这本书的全部内容了。如果可以的话,随身携带这本书,这样你可以在等待会议或约会、在火车上或者飞机上或者任何空闲的时候阅读。在困难的部分放慢速度,如果内容不是很清楚就重新阅读;
  4.  复述(Recite):总结,做笔记,用自己的话来描述 => 随着阅读深入,复述、回想和使用你自己的语言改写书本最重要的部分。要点是什么?对想法做一些初步的记录。创造一些缩写来帮助你记忆等。真正感受这些信息,利用你的R型、通感构建等等。这个主题作为一部电影看起来像什么?卡通吗?
  5.  回顾(Review):重读,扩展笔记,与同事讨论 => 最后,回顾这本书。如有必要,重新阅读一些部分,当你再次发现一些有趣的内容时,可以扩展笔记;

  这项技术的第一个有用方面是主动性。人们不再是随机地捡起一本书阅读,而不管记住或者没有记住多少内容。这项技术是一种更周到、更自觉、更有意识的方法。

测试驱动学习法
  重复阅读同样的材料或者重复学习相同的笔记,不会有助于你记住材料,可以选择测试,通过重复回顾材料来不断测试你自己,这种方法有效得多;

使用思维导图
  无论是笔记还是思维导图,手写是关键。例如,听讲座时做笔记真的能帮助我记忆讲座内容——即使我再也没有看过这些笔记。

  我发现最有效的办法是在听讲时先草草地记笔记(这可以使你在提取要点的同时不至于分心),然后把这些草稿笔记整理成正式笔记。即使我从没有再看过这些笔记,但是整理草稿笔记的过程是最有价值的。对思维导图,你也可以做同样的事情——先做一个粗糙的,然后根据需要重画。重画有助于在大脑中形成更多关联。

  当你不完全确定你会发现什么时,思维导图是最有效的。读书时做笔记是一个例子;下一次读书时(也许尝试SQ3R),请用思维导图的方式做笔记;你会对主题有一个大体上的认识,但是随着具体细节的出现,你开始看清哪些条目是互相联系的,它们是如何联系的,导图会不断填充,理解的思路就会出现。然后,当你进入SQ3R的回顾阶段时,根据你的理解重画和修改思维导图。你能够利用思维导图更新你的记忆,这种方法比其他笔记形式或者重新看书要有效得多;

  使用词语作为标题,你不需要长篇大论,甚至连一句完整的句子也不必有。利用图标代表关键想法。重要的连线使用粗体,不确定的关联使用细长线。写上你目前知道的一切,即使你不知道它适合归在哪里。

以教代学

波利亚的解题方法
解决问题时,先提问自己:

  • 未知量是什么?
  •  已知量是什么?
  •  条件是什么?

然后制定一个计划,执行之,回顾结果。波利亚建议的一些技巧(如下所示)听起来非常熟悉:
 努力回想拥有相同或类似未知量的常见问题;

  •  画一张图;
  •  解决一个相关的或者更简单的问题,放宽限制,或者使用已知量的子集;
  •  所有已知量和条件都用上了吗?如果没有,为什么?
  •  尝试重新叙述这个问题;
  •  尝试从未知量推到已知量;