

我喜欢学习别人的学习方式 。 他们的想法至少经过他们的考验,具有战斗力,凝聚力和可控性。 对他们的想法进行试验有助于我坚持实际的建议,并找到适合自己的方法的方法。 实际上, 在整个夏天 , 我一直在使用一些新习惯,我认为它们值得分享 ,可能值得您花时间去尝试。
我专注于养成习惯,这些习惯可以识别并缩小理解上的差距,同时可以长期帮助内部化知识 。 这些目标直接达到了我想要学习的目标:了解主题,从低级细节到高级抽象,并将其长期保留下来。
在间隔重复的时间表下创建和研究记录卡是我学习新主题的主要基石。 当我将一个想法长期记忆时,这是我可以向您推荐的最有价值的习惯。 此外, 我发现学习笔记卡为我提供了不断增长的知识基础,可帮助我更轻松,更轻松地学习新想法 。


贸易工具。 我最喜欢的用于在一定间隔下重复学习时间表的学习笔记卡的工具是Anki,但让我先解释一下该过程。
间隔重复利用了这样一个事实,即每次我们回忆某件事时,我们可能会记住更长时间。 当我们不使用该信息项时,我们就会成倍地失去记忆的能力,这种现象被研究人员称为“遗忘曲线”。间隔重复与这种知识的衰落作斗争,有大量研究支持这一观点,但格韦恩·布兰文(Gwern Branwen)认为最好在他的综合文献评论中解释:
间隔重复是一种用于有效记忆和练习技能的技术,无需快速完成大量工作,而是随着时间的流逝自动分散每个项目的练习 ,并且随着学习项目的持续时间增加 。
在学习笔记卡的情况下,这意味着当您正确回答卡片时,该卡片的下一次审核将在更长的时间间隔后进行; 如果您对记事卡的回答不正确 ,则可以期望很快再次看到它。 通过这种方式,间隔重复计划可以优化您的学习, 将更多的时间花费在您不正确的便签纸上测试您,并且仅偶尔检查您是否正确。
如果这个想法对您没有直觉意义,或者您想查看科学证据,建议您阅读之前提到的Gwern Branwen撰写的文献综述。 另外, 如果您对记录卡对软件工程有好处感到担心,请继续阅读 。 我会尽快解决这个问题。


附带好处
虽然间隔重复可以帮助您将变成记事本的任何内容内部化,但我个人发现使用它们的其他好处。
- 学习笔记卡可以使基础知识保持强大。 知道一旦将想法放在便签纸上,间隔的重复系统将使您永远记住它,这使您感到非常安慰。 我经常为基本概念(例如数学中常用的想法)添加注释卡。 这样,当我学习基于基础知识的新想法时,我可以直接去研究新颖有趣的东西,而不用花时间去记住基础知识( 或更糟糕的是 ,依赖于模糊,定义不明确的基础知识) )。 对我而言, 深刻的理解是对高级和低级知识的了解 ,而记录卡可帮助我发展和维护这两种知识。
- 当我用批判的眼光审视时,我纠正了过去的误会。 我认为,正确的审查方法是用批判的眼光。 如果您无法解释正确的原因,则不应将卡标记为正确 。 评论通常会导致对旧卡片的误解和过分简化,促使我进行更新和理解。 由于评论提出了旧的想法,因此它们也可以帮助您在新旧之间建立联系。
- 将主题汇总成小块有助于发现理解上的空白。 将一个主题分解为可测试的小型记录卡需要了解该主题最重要的内容。 此外,您只需要用几句话就能传达信息-记录卡根本就没有浪费或冗长的空间。 理查德·费曼(Richard Feynman)著名地认为:“如果您不能用简单的术语解释某些内容,您将无法理解。”在这里也是如此。
软件
有很多间隔的重复程序,但是我一直喜欢Anki的强大功能。 它支持简单的模板,cloze删除,iOS和Android应用程序,并具有各种受支持的扩展。 总之,我建议您使用:
- Anki和Android或iOS应用。
- 强大的格式包扩展名,用于编写markdown和良好的代码格式。
- Anki卡主题用于编程,这将使制作好编程卡变得非常容易。
- 冻结字段扩展,因此您可以使某些卡字段(例如上下文)保持恒定。
- 图像遮挡增强扩展名,如果您想进行视觉色块删除。
为软件工程制作好记录卡
我一直都在用笔记卡学习软件工程,它远远超出了仅仅记住词汇,公式和API的范围。 尽管您可能会将记录卡视为法学院学生,有抱负的志同道合者以及任何需要死记硬背的人的东西,但记录卡的功能却更多 。
提出好的问题的方法有很多。 您可以制作记录卡,以挑战编写小的代码片段,要求您总结主题的主要内容,在流程的各个步骤中对您进行测试,要求您解释为什么是正确的,或者测试您的能力。调用API中的关键功能。 记录卡全都是关于提高流利性的,您只需要找到一种方法来测试软件的流利性即可 。




制作(和学习)笔记卡的技巧
许多人喜欢使用Jack Kinsella的Janki方法制作软件工程记录卡。 尽管他有好主意,但我强烈反对其中的一些,因此,我将提出自己的建议:
并非所有内容都应做成记事卡 。 如果记笔记纸太多,最终将花费大量时间来学习无关紧要的信息,因此最好专注于制作精简,高效的纸牌。
- 我不会为学习到的所有新知识制作新卡片,因为这会中断我的工作流程并创建太多卡片。 取而代之的是,我喜欢保留一个便条的文本文档,以便以后再回过头来决定什么值可以变成便条纸。
- 第一次忘记已学过的知识时,请制作卡片。 这样可以确保您专注于实践实际需要的想法,而忽略所有坚持的想法。
当您从错误中吸取教训时,记下便签纸。
- 这来自Janki的第五条规则: “每次您犯错时,都要进行验尸,然后尝试找出经验教训。 考虑一下您需要了解什么以防止再次发生该错误,并将这种见解转化为新的抽认卡。”
制作措辞自然的便签卡。
- 使记录卡听起来像您自己的内部对话框。 这样,当您问自己诸如“ inception模块有什么优点吗?”之类的东西时,您已经有了答案。
- 如果您在卡片上放些上下文,编码问题会更好。 例如,说明您使用的是哪种编码语言或库,包括主题标签(“排序”,“图形”,“计算机视觉”等),或说明已经存在的变量。
分解太大的卡片,但不要太小。
- 测试多项信息的卡片可能很难记住。 此外,您可能会因为遗忘一件事而继续对其进行测试。 如果有可能,最好将问题分解成更小的部分。
- 最好将复杂的卡片分解成较小的卡片,但过长会导致卡片过于基础,不再有意义。 在其他情况下,您可能希望对信息进行分组,因为您想将它们作为一组重新调用。 所以要小心
- 我倾向于制作中等尺寸的卡片(需要召回1-4件),并根据需要对其进行分解。
照看你的卡片。
- 随着学习的深入,您可能会在过去的记录卡中发现错误。 确保将其标记为以后更正。
- 扬基的第七条规则。 “删除或修改任何错误,过时,难以记住,不完整或不必要的卡片。 更新现有卡片,以增强对理解的了解。”
通过降低学习强度避免倦怠。
- 有些人从学习笔记卡开始,每天都会安排太多问题,因此不知所措。 在这种情况下,您应该减少评论数量或增加评论之间的基线差距。 保持一致比放弃要好。
- 有些人对太多简单的评论感到无聊。 如果评论很无聊,那可能是因为它们没有足够的挑战性或出现得太早。 在这种情况下,您应该增加卡之间的间隔。 对于Anki,您可以在Deck Options中找到它。
使用模板并开发自己的一致样式。
- 使您的卡片易于阅读非常有帮助。 自从我开始将Anki卡片主题与语法突出显示一起使用以来,我一直非常乐于学习,并且能够更快地制作出优质的卡片。 该模板为代码块和指定上下文提供了足够的空间。




在阅读,编码或学习记录卡时,我偶尔会遇到一些我想学习或思考的我不知道完整答案的问题的新概念。 在这种情况下,我将该想法添加到“我不知道的事情”列表中,然后稍后再加以解决。
例如,在研究Dijkstra的算法时,我听说了Fibonacci堆,该堆通常用于加速算法。 因为我有兴趣了解斐波那契堆的工作原理,所以将其添加到列表中。 在另一个示例中,在使用神经网络进行图像分类时,我意识到我不知道为什么使用softmax函数来缩放logit(而不是其他一些归一化函数)。 我将问题添加到列表中,以便以后进行调查。 在接下来的几天(或几周)中,我将再次回答这些问题并予以解决。


我承认,这可能是我能给您的最不花哨的建议,但我仍然认为它很重要。 阅读时我喜欢做三件事:
- 在您了解到目前为止的所有内容之前,不要继续前进。 在软件工程中,主题相互叠加。 要理解一个主题,您需要对所有这些主题都有深刻的了解。 因此, 您不应跳过您不了解的内容,否则您将不了解其基础上的所有内容。 优先考虑理解比优先考虑时间更重要。
- 阅读时不要做记录卡 。 要制作出优质的记录卡,您需要在阅读后制作记录卡,以查看树木茂密的森林。 从整个主题的上下文出发,您将更好地选择仅将最重要的部分变成便签纸,以及如何将重要的部分分解成一口大小的片段。
- 我喜欢在页边空白处做笔记 。 这是我最喜欢做的事情,以使自己保持阅读的兴趣,尽管我敢肯定,这是人与人之间特别不同的事情。 为此,我将iPad Pro与Apple Pencil一起使用,并且非常喜欢它。 我使用PDF编辑器(PDF Exchange)添加了额外的边距空间(用于书写),然后在PDF Expert中标记了教科书。 这很棒。


这就是我现在所拥有的。 我希望您发现了一些有趣的东西可以自己尝试一下,如果您需要其他帮助或发现其中的一种想法是有帮助的,请发表评论。 如果有足够的兴趣,我将继续分享有关生产率的任何新实验。
谢谢阅读!
最初发表在 Peter Moran的Blog上 。