翻译:10 Things Software Developers Should Learn about Learning
原文:https://cacm.acm.org/magazines/2024/1/278891-10-things-software-developers-should-learn-about-learning/fulltext
10件和记忆、学习、程序员相关的事。
人无法像计算机一样精确读取和存储记忆。
长期记忆永久存储大量信息,类似磁盘。
工作记忆短暂存储有限的信息,并能快速访问和操作,类似CPU寄存器。
如果你对某个主题很熟悉,就可以将一些信息作为一个块,从而增加工作记忆容量。
当任务超出个人能力的时,将问题分解成可以处理和分块的更小的部分。
初学者可以通过阅读和理解大量代码成为专家。专家(在心里)建立了一个模式的库,能更容易地读写代码。
从抽象的概念,到具体的例子/细节,再回到抽象。
间隔效应:在一段时间内分散学习,而不是在一次学习中集中学习相同数量的内容,学习效果更好。
为了安排一天的学习,学习者应将学习时间限制在 90 分钟或更短。持续学习时间太长时,大脑难以集中注意力。每次学习后,至少休息(放松)20分钟。
在学习中,有几种策略可以最大限度地提高效率。首先,随机化正在解决的问题类型的顺序,以便在长期记忆中激活不同的概念。但随机化顺序需要更多的努力。 第二种策略是随机休息一下,以增强记忆巩固。建议每 2-5 分钟休息 10 秒。
尽管搜索引擎和ChatGPT能让你快速找到某个知识点,但你仍然需要学习这些知识。否则你无法将知识存储到长期记忆中并形成联系,产生高层次的理解和抽象。
脑筋急转弯对评价编程能力没有帮助。如果要判断编程能力,就要评估编程能力。
一些对初学者有益的东西,可能对专家产生负面效果。
例如IDE中的提示信息可能帮助初学者使用IDE,但会影响专家的注意力。这被称为专业知识逆转效应:帮助初学者的提示和指南可能会妨碍专家并降低他们的工作效率。
简而言之,很难预测谁将能够编程。
以成长型思维方式处理任务是有效的,但也是一项需要培养的技能。
对于学习和培训,我们提出以下建议: