还在看视频读文档学编程?这有7种编程学习方式,哪种最适合你?

简介: 学习编程不仅仅是学会各种语言,你还需要学习如何像程序员一样思考。这里有七种学习编程的方式,视频、文档、听觉、触摸……,你需要找到最适合你的那种。

如果你也在学习编程,你可能也尝试了许多课程和资源。但是,学习编程有很多层次,从学习具体的编程语言,到学习如何像程序员一样思考。每个人的学习方式不同导致教学过程变得很复杂。

从视频、文档到听觉触觉,如何辨认最适合你的学习方式呢?又如何找到最好的编程学习资源来满足不同学习需求?

学习方式简单来说,就是你学习新知识的时候所喜欢用的方法,这个方法能让你理解并记住新的内容。学习方式不是固定不变的。也就是说,你可能会有运用好几种主要的学习方式,但这些方式会随着学习内容的改变而有所调整。了解最适合你的主要学习方式有助于帮你选择合适的编程教程,从而获得更好的学习效果。

d575a37e2ae2ce699caeb7ed49bcc618fa38384b

(图片中文字,从左到右)

第一行:视觉和空间,听觉,口头表达,身体运动,逻辑数学,人际社交,自我内在

第二行:图片、画面、空间理解,声音和音乐,遣词造句、演讲和写作,运用肢体、触觉,逻辑推理系统,与人相处,独处、自学

以下是七种广泛使用的学习方式

  • 口头/语言

这类学习方式的特征包括阅读、口头表达和写作。通常,大多数学习编程的课程和资源都注重这类学习方式,因为阅读文档是成为一名优秀的程序员的关键技能。因此,我强烈推荐FreeCodeCamp项目,在这个项目中你能通过阅读文档片段学习编程并且迅速将学到的东西投入实际应用中。加入Facebook上的FreeCodeCamp社区,你可以在里面讨论问题和解决方案,并分享自己的进步成果。注册后可以看到新的资讯和博客内容。我还非常喜欢JavaScript Weekly 和 CSS-Tricks。像W3Schools 和 Mozilla Developer Network这样的资源也非常适合你。不过不是每个人都喜欢采用这样的方式学习。如果你的学习方式不同,请继续读下去,看看还有什么适合你的。但千万不要急于给FreeCodeCamp差评,因为他们能提供大量不同的内容和方案来满足所有不同学习方式的需求,你或许能找到适合你的。

  • 视觉/空间

这类学习方式的特征包括使用颜色和图形、图片,以及视觉媒体。视觉学习者喜欢使用文本编辑器,因为大多数编辑器使用特定的颜色来标注代码关键字。你可以尝试通过记录多色笔记来模拟这个过程。尤其是面对新词汇的时候,多色笔记有助于学习记忆。使用线框是将你的项目可视化非常棒的方法。你可以选择包含图表和图像的编程资源。我最喜欢的视觉资源是 终极 Flexbox 备忘单(The Ultimate Flexbox Cheat Sheet)。在这个备忘单中,图像的位置和颜色分块降低了Flexbox的学习难度。如果你在使用FreeCodeCamp学习,我推荐你去看YouTube上的 每日程序员(The Daily Programmer)专栏。在这里,Cody Seibert 会用白板带你在开始编程前一步一步的理解作业,梳理概念。

  • 听觉/音乐

这类学习方式的特征包括收听音频书籍、广播和演讲,把声音和含义联系在一起,并且加入节奏和韵律。好的发言者通过运用音调、变调和语速来传递信息。这对于编程人员来说非常重要,因为我们需要学习大量的新鲜词汇。在上下文语境中听到词汇能使学习新词汇变得更加容易。我碰巧喜欢 FreeCodeCamp 课程附带的 Jose Moreno 的 YouTube 视频。通常,Jose 会讲解课程问题的说明。他声音的某个特质以及聆听他大声说出这些内容能够让我调动大脑的某个区域并想方设法完成挑战。如果你在寻找好的编程主题的播客,看看这个链接。我很喜欢 Start Here FM ,一个相对新的站点。它融合了各种主题的音频、视频,还有一个图书俱乐部。

  • 肢体/触觉

这类学习方式的特征包括运动、操作和动手活动。触觉类学习者不会介意支离破碎的代码,因为他们享受修复的过程。他们在将信息转化为产品的过程中学习。在学习编程时,构建是很重要的。在你刚刚学会一些基础的HTML和CSS时,就可以开始尝试创建一些东西。你可以参加那些那些鼓励自己建立项目的课程,跳过那些仅从一个已经完成的项目中复制代码的课程。FreeCodeCamp 在每个单元结束时都有这样自己建立项目的任务。你可以从一个简单的致敬页开始,不过你最后会尝试创建一个西蒙游戏,一个计算器以及更多其他的项目。你可以试着每天实验性的创建一些东西。如果你已经想不出点子来了,可以在 Rosetta Code 上寻找灵感。

  • 逻辑/数学思维

这类学习方式的特征包括系统地依次解决问题,理解原因和结果,并且运行模拟过程。逻辑思维者偏好工作流应用程序,阅读文档,以及利用依靠层级逻辑建立的库(例如Bootstrap)。按理说,我们可以认为学习编程的目的都是解决问题,所以应该抓住机会参与 CodeFights, CodeWars, HackerRank, CodeInGame 的谜题、挑战和游戏。

  • 人际与自我

除了你倾向的学习方式,大多数人都可以归类为最后这两种类型中的一种:人际型和自我型。

人际型学习者喜欢学习的社交作用,比如学习小组,所以为何不参加一次本地的黑客马拉松(Hackathon),参加一次编程交流会(meet-up),或者加入一个学习小组(FreeCodeCamp 在世界各地都有线下学习小组,我所在的小组每隔一个周日就聚会。这是我在这个项目中最喜欢的部分)。女士们可以参加 WomenWhoCode 组织,同时融入社区当中。你也通过参与 GitHub 上的开源项目来回馈他人对你的帮助。

自我型学习者倾向于独立工作并且经常注重于自我反馈,那么为什么不参与到类似于 #100DaysofCode 或者 #30Days,30Sites 的挑战中呢?这两个挑战我都参与了,每天我都在我的推特上发布更新以自我提醒。你可以开始经营一个反馈你学习经验的技术博客(就像我一样),并用业余时间参与Github的开源项目。

总结

我相信,在你读这篇文章时会辨认出在你学生生涯中采用的若干种学习方式。如果你想要更专业地分析自己的学习方式,请使用这个学习方式盘点方法。最后一点,为了在向程序员迈进的学习过程中收获更多,你应该尽可能使用更多的学习方式。基于适合你的主要学习方式的资源,建立你自己的学习体系,然后尝试不同的学习方式,不过,要对自己有耐心。学习编程并不是快速而简单的事情。你需要允许自己犯错。

我始终乐于倾听大家在学习编程过程中遇到的故事,所以我希望你留下评论或者给我发电子邮件来告诉我你的主学习方式是什么,针对这种方式你认为最好的学习资源是什么。

感谢你花时间来阅读这篇帖子。如果你觉得它有用,请在文末点赞~

另外,也可以在Twitter,以及Facebook和Slack上的Career Change Coders 主页中关注我哈~


原文发布时间为:2017-12-12

本文作者:文摘菌

本文来自云栖社区合作伙伴“大数据文摘”,了解相关信息可以关注“大数据文摘”微信公众号

相关文章
|
4月前
|
开发者
编程问题之逻辑编程有什么缺点
编程问题之逻辑编程有什么缺点
|
Java 编译器
编程基础|如何解决编程中的代码错误问题
编程基础|如何解决编程中的代码错误问题
243 0
|
设计模式 缓存 前端开发
可否举例说明你在工作中是如何优化前端代码的?
可否举例说明你在工作中是如何优化前端代码的?
181 0
|
程序员
读《技术的本质》思考之四
程序员的神来之助是从哪里来的
145 0
|
存储
读《技术的本质》思考之三
技术和自然的关系是自然而然的,因为技术是对现象有目的的编程
163 0
|
C语言 程序员 编译器
带你读《C编程技巧:117个问题解决方案示例》之三:函数和数组
本书用实用和信息丰富的方法解决C编程问题,涵盖了C编程的各个方面,包括C的基础知识、运算符和表达式、控制语句、递归和用户定义函数。每一章都包含一系列方法,你可以很容易地参考它们,快速找到你想要的答案。
|
量子技术 算法
带你读《量子编程基础》之三:量子程序的语法与语义
本书讨论了如何扩展当前计算机的新程序设计方法和技术,以利用量子计算机的独特能力。相比于现有计算机系统,量子计算机在处理速度上具有显著优势。世界各地的政府和企业都投入了大量资金,希望建造实用的量子计算机。本书结合作者在量子计算领域多年的研究经验,并辅以大量的例子和插图,介绍了量子编程语言及其所需的重要工具和技术,对于学者、研究人员和开发人员来说都是非常宝贵的参考资料。
|
程序员
《编程原本 》一1.4 过程
本节书摘来自华章出版社《编程原本 》一书中的第1章,第1.4节,作者(美)斯特潘诺夫(Stepanov, A.),(美)麦克琼斯(McJones, P.),更多章节内容可以访问云栖社区“华章计算机”公众号查看
957 0