学习编程:前三个步骤
在这篇文章中,我将介绍《超速学习》一书中描述的概念,并阐述前三个原则:
- 元学习,
- 专注,以及
- 直接
此内容也发布在我的 YouTube 频道上,您可以在这里观看:
《超速学习》是斯科特·杨所著的一本书,书中他提出了一些可以用来学习复杂课题(例如编程)的原则。如果您想了解更多相关内容,我强烈推荐您阅读这本书。
我将在接下来的文章中发布至少 5 条应用于编程的学习原则,所以你可能想订阅我的新闻通讯,以便在它们发布时收到通知。
想必你现在一定很想知道什么是超速学习。它本质上是一种获取技能和知识的策略,既自主又高效。它不像舒舒服服地躺在沙发上看教程那样轻松有趣,也不像被动地学习那样令人愉悦。
相反,它是系统性的、迭代式的。这是空想(“哦……如果能学习编程就好了,那我们先看一些相关的 YouTube 视频”)和实际行动(“既然我确信自己想学习编程,我就要全身心投入到这项任务中”)之间的区别。
应用超速学习原则时,我们将通过实践来学习我们想学的东西(这种理念被称为“直接性”),并且在我们完全准备好之前就开始学习。这意味着我们将从第一天就开始用一门新的语言编程。我们需要获得即时反馈(例如代码报错或无法编译),这样我们就能知道哪些地方需要修正和改进。一个典型的例子就是参加freeCodeCamp上的编程课程(我强烈推荐):即使你对代码一窍不通,你也能从头开始编写代码。
但我们为什么要投入这么多精力去学习编程呢?深入学习一项技能可以赋予我们人生意义,因为技能的提升本身就具有价值。
本书贯穿始终的一个主要主题是挑战:在学习过程中,我们需要完成一个项目。就我们而言,这个项目可以是学习编程的同时构建一个特定的网站或应用程序。这将有助于我们带着目标去学习。
现在,需要记住的是,如果某些原则或方法行不通,我们应该重新评估它们,并改变需要改变的地方。
好了,介绍就到此为止。让我们从第一个原则开始:元学习。
元学习
我们的学习之旅将从绘制编程学习路线图开始。在这里,我们应该关注编程知识是如何获取和构建的。
但你无需从零开始。我已经创建了一个 Notion 模板,其中总结了 Web 开发的核心主题、路线图以及与编程相关的其他主题。你可以下载该模板并根据需要进行修改和扩展。
回到元学习的原则,尽你所能回答这三个问题:“为什么?”、“是什么?”和“怎么做?”。
“为什么?”
在本系列的第一篇文章中,我谈到了明确“为什么”的重要性。学习编程的动机是什么?为了更好地回答这个问题,你可以和那些已经从事你理想工作的程序员交流,问问他们最喜欢(和最不喜欢)工作的哪些方面。
“什么?”
列出你需要掌握的知识和技能。你可以从我分享给你的 Notion 模板开始,并在此基础上进行扩展。创建概念列表(需要理解但无需记忆的想法)、事实列表(需要记忆的内容)和流程列表(需要练习的内容,需要执行的操作)。
“如何?”
要了解具体方法,可以使用以下两种方法:
方法一:基准测试
寻找人们学习编程方式的参考资料。看看大学使用的课程设置、在线课程和书籍的目录,以及学习路线图(例如 Notion 模板中包含的路线图)。尽量寻找高质量的学习资料。
方法二:强调并排除
想想你为什么想学习编程,然后重点学习那些与你的目标相符的领域。例如,你可能想学习 Web 开发来构建一个应用程序,用于跟踪任务在不同进度阶段的情况,就像看板方法一样,那么就应该重点学习 Web 技术,而避免学习底层编程语言(例如 C 语言)或游戏引擎。
一旦你清楚地知道如何回答“为什么”、“是什么”和“怎么做”,就该集中精力了。
重点
我在本系列的第二篇文章中谈到深度工作时就介绍过这个概念,但这是一个非常重要的原则,在《超速学习》这本书中也有体现。
我们需要培养专注力。我们需要安排专门的学习时间,并让学习变得轻松便捷。
注意力难以集中最常见的情况发生在我们开始做事的时候(我们会拖延)和我们需要保持注意力的时候(我们会分心)。
拖延
为了克服拖延症,你可以设定截止日期,帮助我们开始着手处理需要完成的事情。重要的是要意识到自己正在拖延。我们需要记住,任务本身令人不快的只是最初的几分钟。一旦我们开始做任务(比如学习编程),这种不愉快的感觉就会减轻。
这里可以运用番茄钟技巧:设定25分钟完成任务,然后休息5分钟。根据需要重复多次。
另一个有用的技巧是使用小的检查点:我们可以开始学习,读完一页、一章或一个特定主题后就结束学习。
注意力分散
关键在于进入心流状态(有些人称之为“进入最佳状态”)。在这种状态下,我们的注意力会完全集中在正在执行的任务上。我们需要将任务难度设定在既不太难也不太容易的程度,这样才能轻松进入心流状态。
但是……如果我们没能进入心流状态,也不用太担心。我们可以做的,是专注于达成短期目标。就像前面提到的那些小里程碑一样,这有助于我们保持动力。
我们还需要保持学习编程和休息之间的平衡。对于许多学习任务来说,50分钟到1小时就足够了。之后,我们可以休息一会儿,然后再重复这个循环。使用番茄钟计时器在这里也很有帮助。
此外,我们还需要确保学习环境不受干扰,例如在学习期间玩手机、看视频或玩游戏,避免嘈杂的环境,以及缺少学习工具(如铅笔、书籍或台灯)。
我们应该积极参与到学习任务中来。我们可以通过记笔记来解释难懂的概念,向书本或视频课程提问(并把问题写下来以便之后查找答案),以及尝试找出我们可以将所学知识应用到哪些方面。
最后,如果我们遇到瓶颈,应该休息一下,让注意力分散开来。我们可以散散步,吃点零食,或者和别人聊聊天。这会激发我们新的想法,帮助我们摆脱困境。
现在我们来谈谈直接性原则。
直接
我们通过做自己想做的事情来学习效果会更好。你想建一个网站吗?那就开始建吧,边做边学。这样做会让人感到困难、沮丧,甚至痛苦,所以我们可能会想要逃避。但我们应该做的是专注于实际解决问题,而不是让自己背负沉重的理论概念。正如本书作者所说:“做你想擅长的事情,才是学习真正发生的时候。”
我们可以通过不同的方法在实践中学习。
策略一:项目式学习
我们可以围绕实际项目来组织学习。例如,我们可以决定为一家餐厅搭建网站,然后将这个项目分解成更小的部分:用户登录组件、菜单栏、订单数据库表等等。之后,我们可以学习每个部分所需的知识。如果你不清楚每个部分需要学习什么,可以去论坛(例如 Reddit)、Twitter 或 Discord 频道,向更有经验的开发者请教。
策略二:沉浸式学习
让自己置身于编程实践的环境中。加入 Meetup 小组,参与开源项目,探索 Discord 频道,参加黑客马拉松或编程挑战赛。目标是寻找能够促使我们学习新知识的事情。
策略三:过度杀伤力
决定去做一些比你想学习的主题复杂得多的事情。例如,与其仅仅学习 JavaScript 来构建一个交互式网站,不如决定开设一门 JavaScript 课程,并且这门课程将公开提供。这样做,即使我们最终未能按照预期完成课程,我们也能学到比最初设想的仅仅构建 JavaScript 应用要多得多的知识。
结语
现在,这篇文章即将结束,我想提醒大家,接下来的文章中我还会介绍至少 5 个原则,所以你们可以订阅我的新闻简报,以便在文章发布时收到通知。
🤔 以上提到的原则中,哪一条最能引起你的共鸣?请在评论区留下你的答案,以便我们进一步讨论。
别忘了下载 Notion 模板,其中涵盖了学习 Web 开发和编程的资源,这样你就可以开始涉足编程领域了。
感谢阅读,下次再见!👋
🗞️新闻简报 - 如果你想了解我的最新文章和有趣的软件开发内容,请订阅我的新闻简报。
🐦推特 -在 推特上关注我。
文章来源:https://dev.to/colocodes/learning-how-to-code-the-first-3-steps-59en










