初中生学编程有效学习编程语言的技术

  • A+
所属分类:初中编程

初中生学编程有效学习编程语言的技术,学习编程语言是一种技能:把它做好,当你掌握新东西时,你会经历一次又一次多巴胺的冲击;如果做得不好,你会经常感到沮丧甚至放弃。以下是我多年来通过写书、写文章、做演讲和开设培训课程来教授编程语言的最佳技巧。这些技术中的许多都是从解释高效学习的最新研究的书籍中提取的,您可以在Community pick: Learn programming中找到这些书籍(以及其他优秀的编程书籍)。

初中生学编程有效学习编程语言的技术:不断地测试自己,打破能力的幻觉
初中生学编程有效学习编程语言的技术
最糟糕的学习方法之一就是重读或重看材料。这种复习给你的感觉是你理解了所涵盖的主题,因为你似乎毫不费力地就理解了这个主题。研究人员称之为能力错觉。

一个明显更好的方法(也是你能使用的最好的技术之一)是不断地测试你自己。不要重新阅读函数、类或对象是什么,而是要求自己定义这些概念或在一个简短的程序中使用它们;强迫自己以某种方式表达你的理解。这个过程通常会让人感到不舒服,但它在形成长期记忆方面更有效。你可以更进一步,在你阅读材料之前测试自己,例如,在阅读一章之前尝试练习。值得注意的是,这也被证明有助于记忆的形成。

测试对学习的影响令人印象深刻,这被称为测试效应,下面是一些你可以利用它的具体方法:

1.在阅读一章或看一段视频之前,试着猜猜你要学什么,然后写下来。

2.试着在阅读一章之前做一章的练习。

3.经常做运动,即使是困难的。放弃一项运动,以后再做(或者永远不做)也没关系,但至少要试一试。(下一节将对此进行详细介绍。)

4.阅读一个简短的程序,并尝试在不查看原始代码的情况下重新创建它。或者,取小一点的函数。

5.在学习对象、类、方法或高阶函数等新概念之后,立即编写代码来演示该概念。

6.创建图表来说明概念,包括独立的概念和概念之间的关系。

7.写一篇关于你刚刚学到的概念的博客。

8.试着向非技术领域的朋友解释这个概念。(在为勇敢而真实的人编写Clojure时,我经常这样做;能够用外行人的术语来解释一个想法会迫使你深入理解这个想法。

这些技术中的许多都可以归结为编写一些代码!通过编程,我们很容易相信我们仅仅通过阅读就能学到很多东西,因为编程是文本和概念性的。但这也是一种技能,就像任何其他技能一样,你必须通过练习才能变得更好。编写代码是揭示关于编程的错误假设的最佳方法。你做得越快,你就能越快地改正和提高。

如果你想了解更多关于测试效果的信息,请查看《坚持:成功学习的科学》。

初中生学编程有效学习编程语言的技术:花时间分散注意力
初中生学编程有效学习编程语言的技术
如果你被一个问题困住了,或者不理解你刚刚读到的东西,试着散散步,甚至洗个澡——任何能让你进入放松、不专注状态的事情。脱离困境的最好方法之一就是暂时停止尝试,这似乎违反直觉,但这是真的。

问题是,当我们专注于一个问题时,我们很容易戴上思维上的眼罩。我的意思是,这就是“专注”的意思。但是通过集中精力,我们只探索了解决方案空间的一小部分。通过分散注意力,我们的潜意识能够探索和连接我们的经历。

对我来说,这就像你试图在纸质地图上找到一个目的地(还记得吗?)你会不知不觉地相信你要去的城市就在这里!在左上方的qudrant中,你一遍又一遍地看,都没有成功。然后你把地图放下,深吸一口气,什么也不看一分钟,当你再次看地图的时候,你马上就能看到实际的位置。

我们都有过在淋浴时突然顿悟的经历;现在您已经稍微更好地理解了为什么会发生这种情况,并且可以有意地使用这种技术。就我个人而言,如果我被困在什么东西上,我会洗个澡,这种方法的效果非常好。我是多么的干净。

如果你想了解更多关于集中和分散思维模式的知识,那就去看看《头脑中的数字:如何在数学和科学上出类拔萃》(即使你的代数不及格)吧。

初中生学编程有效学习编程语言的技术:不要把时间浪费在沮丧上
初中生学编程有效学习编程语言的技术
与最后一部分相关:不要把时间浪费在代码上。沮丧让我们做一些愚蠢的事情,比如重新编译一个程序,或者刷新浏览器,希望这次会有神奇的不同。

用挫折作为你的知识有差距的信号。一旦你意识到自己很沮丧,退一步清楚地找出问题所在会有所帮助。如果您编写了一些无法工作的代码,请明确地向您自己或其他人解释您期望的结果。使用科学的方法,对导致意外行为的原因做出假设。然后检验你的假设。再试一次,如果仍然找不到解决方案,就把问题放在一边,以后再来解决。

我无法告诉你有多少次,我因为一个看似无法解决的问题而厌恶地把笔记本扔到一边,结果第二天看到它时,一个显而易见的解决方案立刻出现在我的脑海中。这甚至发生在上周。

初中生学编程有效学习编程语言的技术:确定您正在处理的是哪种编程语言方面
初中生学编程有效学习编程语言的技术
就我个人而言,我发现当你学习一门编程语言时,你实际上在学习四件事,记住这一点很有用:

1.如何编写代码:语法、语义和资源管理

2.该语言的范例:面向对象、函数式、逻辑等。

3.工件生态系统:如何构建和运行可执行程序以及如何使用库

4.工具:编辑器、编译器、调试器、l。

这四个方面很容易混在一起,不幸的是,当你遇到问题时,你最终会发现自己完全找错了地方。

例如,一个完全不熟悉编程的人可能会从尝试构建iOS应用程序开始。他们可能会试图让自己的应用程序在朋友的手机上运行,结果却看到一些关于需要开发人员证书之类的信息。这是工件生态系统的一部分,但是没有经验的人可能会认为这是如何编写代码的问题。当问题根本不在于他们的代码时,他们可能会查看他们写的每一行来找出问题所在。

我发现如果我系统地处理这些方面,学习一门语言会更容易,在另一篇博客文章中,我将给出一个需要回答的问题的一般列表,这将有助于你学习任何语言。

确定目标、外部模型和内部模型

当你学习使用一个新工具时,识别它的目的、外部模型和内部模型是很有用的。

当你理解一个工具的用途时,你的大脑就会被一些有用的上下文细节所占据,这使得你更容易吸收新知识。这就像在做一个拼图游戏:当你能看到一张完整拼图的图片时,把它们拼在一起就容易多了。这适用于语言本身和语言库。

工具的外部模型是它所呈现的接口,以及它希望您思考解决问题的方式。Clojure的外部模型是一个Lisp,它希望您将编程看作主要以数据为中心的、不可变的转换。Ansible希望您从定义最终状态的角度来考虑服务器供应,而不是定义应该采取的步骤来达到该状态。

工具的内部模型是它如何将接口的输入转换为一些较低层的抽象。Clojure将Lisp转换为JVM字节码。Ansible将任务定义转换为shell命令。在理想的世界中,您不必理解内部模型,但是在现实中,理解工具的内部模型几乎总是有帮助的,因为它为您提供了一个统一的视角,以了解可能看起来令人困惑或矛盾的部分。例如,当DNA的双螺旋模型被发现时,它帮助科学家理解了更高水平的现象。当然,我的观点是,这篇博客文章是有史以来最伟大的科学成就之一。

教程经常混淆工具的外部模型和内部模型,这让学习者感到困惑;意识到这一点很有帮助,这样你就能很容易地识别出什么时候它会让你感到沮丧。

初中生学编程有效学习编程语言的技术:间隔重复有助于记忆
初中生学编程有效学习编程语言的技术
间隔重复被证明是在长期记忆中编码新信息的最佳方法之一。这样做的目的是在不断增加的时间间隔内测试你自己,用最少的重复次数来最小化记忆衰退。卫报写了一篇很好的介绍性文章。

睡眠和锻炼

照顾好你的身体!它不仅仅是你大脑的载体。如果你想保持注意力集中,高效地学习,充足的睡眠和锻炼可以打败咖啡因和能量饮料。

更多的建议吗?

如果你有任何有用的建议,请在评论中留言!如果你想获得更多关于学习编程初中生学编程有效学习编程语言的技术的优秀资源,请查看K12教育网精选:Learn Programming,这是一个由k12教育网策划的关于学习编程的最佳书籍的集合。它包括一系列广泛的主题,包括介绍编程的书籍,关于工艺的书籍,以及关于软技能和面试的书籍。

发表评论

您必须才能发表评论!