编程之路永无止境,想要与众不同你得这样做

全文共2762字,预计学习时长9分钟

编程之路永无止境,想要与众不同你得这样做_第1张图片

图源:unsplash

 

学习新事物总是不容易的,学习编程更是如此。但是“捷径”是存在的,你可以做一些与众不同的事情给学习增添一点乐趣,同时又能获得更快更好的学习效果。

 

一次大学假期中,笔者决定学习游戏开发。但学习的意愿和能力从来都不是问题,每天学习的动机才是关键。于是我便回顾了学习应用程序和web开发的那段时间,从中找到了一些窍门。

 

本指南不仅适用于编程初学者,也适用于希望学习新知识的专业人员。

 

编程之路永无止境,想要与众不同你得这样做

 

1.自上而下学习法

 

传统校园教育方式多为自下而上式。也就是说,如果要学习使用自下而上法编写代码,你将要:

 

· 学习所有相关概念,方法和技巧

· 对类似的主题进行分类,并对目标领域进行更深入的了解

· 最后,利用在微观层面应用这些概念的经验,构建了一个最终的“大”项目(比如一个功能齐全的应用程序)

但自上而下学习法是完全颠倒过来的:

· 决定要构建几个项目

· 将其分成多个步骤,每个步骤涉及2-3个概念

· 学习并应用每一步中涉及的概念

 

编程之路永无止境,想要与众不同你得这样做_第2张图片

图源:unsplash

 

为什么应使用自上向下学习法?

 

如果你是编程初学者,我并不建议你完全使用自上向下法。你可以试着选择折中路线,不过一定要将注意力集中到核心的编程概念上,并对这些概念进行细致理解:

 

· 不必浪费时间去学习那些不重要的东西——因为该方法的实质是即时学习和应用,会自动把那些没有实际应用的东西过滤掉,因为它们早已过时或鲜少使用了。

 

· 不依赖外部动力 ——每节课你都在学习和应用新的概念。这不仅增长了你的知识,还让你在构建项目的过程中取得了进步。对于为什么学习这个概念,想必你心中已有了答案。

 

· 使学习成为游戏——笔者花了很长时间向一个玩过许多游戏的人讨教。从在Fifa终极模式中智胜人工智能,到在高难度的《战神》中击败GoW。同样,编程也是每天一个新挑战,战胜它,你的知识水平和项目构建水平都将有所提高。

 

编程之路永无止境,想要与众不同你得这样做_第3张图片

图源:unsplash

 

我的意思并不是自下而上学习法欠佳,自上而下学习法也有其缺点。只是在编程的环境中不可能掌握或学习所有的东西,因此学习在实际应用中更常用的东西更为合理。自上而下学习法涉及到更多的宏观层面上的实用型学习方法。

 

对主题一无所知时该如何选择项目?

 

创造出你会用到的东西,这样就不会在中途丧失兴趣。作为一个对要学习的主题几乎一无所知的初学者,这就变得有点难了。

 

假设你是一个初学者,建议你选择几个难度系数递增的不同项目,每个项目都涉及一些核心概念。满足标准要求的项目计划应具有如下特点:

 

· 包含必然会用到的东西。

· 不会忽略任何重要的概念。

· 把目标定高点。但要记住,这是你在那个领域的第一个项目。(如果正在学习制作应用程序,选择制作一个类似Instagram的应用程序绝非明智之举)

 

编程之路永无止境,想要与众不同你得这样做_第4张图片

图源:unsplash

 

如何确保学习计划中不会漏掉重要的概念?

 

访问一些课程网站,比如Udemy, Codecademy, Coursera 或 Youtube。搜索感兴趣的课程,写下主要的主题。列出项目必须包含的概念列表。如果不能将所有的概念合并到一个项目中也没有关系,可以选择2-3个或者更多项目。

 

编程之路永无止境,想要与众不同你得这样做

 

2.记笔记

 

很多人在学习编码的时候忽略了记笔记这一步,认为互联网上随时可找到文档记录。如需要引用,还可以重新访问代码。虽然不需要记住代码,但确实需要引用它。

 

从现在起不要记下代码片段。相关的代码示例在互联网上很容易就能找到。我的建议是记下概念。代码示例始终都是类似的,但是每个人对一个概念都有自己独特的理解。把它记下来是很有意义的,这样一来,当回顾笔记时,可以在此前的基础上进一步巩固理解。

 

如果没有任何笔记可以参考,学习时将不得不从最基本的学起,而无法达成进一步巩固。下面是康奈尔大学笔记系统模板之一:

 

编程之路永无止境,想要与众不同你得这样做_第5张图片

 

其运行原理如下:

 

编程之路永无止境,想要与众不同你得这样做_第6张图片

 

编程之路永无止境,想要与众不同你得这样做

 

3.不要跟别人一起写代码

 

无论是在线教程还是课堂授课,和老师一起编程是最直观的学习方式。大多数人都是这样学习的。但问题是,你想不走寻常路,你想要比他们做得更好。所以就必须另辟蹊径。

 

仔细想想,一起编码实在毫无意义可言。一旦落后于人时,你就思绪混乱无法思考,转而抄别人的代码并停止播放学习视频。这会扰乱大脑的知识输入,试图一次做太多的事情,往往事倍功半。

 

编程之路永无止境,想要与众不同你得这样做_第7张图片

图源:unsplash

 

如果与人一起写代码如此糟糕,为什么那么多人包括讲师都在力推这种方式呢?

 

与讲师一起编程更直观。在学校里,老师一说重要的知识点,你就会马上记下来。因此,直观地说,当在屏幕上看到代码时,自然而然就想把它写下来。这就是为什么很多人都是这样学习的。

 

这样能够轻轻松松跟上课程节奏,而不需要劳心劳力去思考代码运作的原理。但是,我们想要比大多数人做得更好,自然就不会选择这种方式。

 

若不与人一起写代码,那又该怎么做?

 

把学习内容分成大约10分钟的小片段。也就是说,每10分钟暂停一次,然后尝试重新生成代码,而不是再次复制。花点时间想想这段代码的运行原理。

 

这就是掌握基本原理的秘诀。除此之外,这对提高分析能力和解决问题的能力也大有帮助,因为说到底,编程就是如此。

 

10分钟的时间段是笔者觉得舒心的学习时间安排。也可以根据个人方便程度进行调整,只要确保时间不会太长或太短。此外,无须用计时器严格计时10分钟,可以灵活调整。

 

编程之路永无止境,想要与众不同你得这样做

 

4.努力奋斗

 

努力奋斗对你终生有益。

 

刚开始的时候,笔者经常做一些超出能力范围的项目,常常陷入难题而连续奋斗好几个小时。但那是作为程序员和开发人员以来成长最快的时期。

 

构建某个东西常常充满了发现新事物的惊喜瞬间,最终发现为什么代码不能运行并修复它。不过别担心,我们并非总要对抗“灭霸军团”。通过使用各种各样的工以及他人的协助,最终必然可以走出困境。

 

作为一个初级程序员,你很快就会意识到,你所面临的问题,别人已经遇到过了。幸运的是,他们已经记录了解决方案。

 

像Stack Overflow, GitHub,Google这样的网站,以及任何你正在学习的语言或框架的官方文档,都将对你大有裨益。每天都有许许多多的人向诸如此类的网站贡献自己的力量,以解决人们在编程时遇到的越来越多的麻烦。

 

记住,没有奋斗的成长永远是线性的:

 

编程之路永无止境,想要与众不同你得这样做_第8张图片

 

而奋斗能带来指数级爆发性的成长和知识增长:

 

编程之路永无止境,想要与众不同你得这样做_第9张图片

 

如果使用的是自上而下学习法,一旦找到了适合的解决方案,你可能就会想要继续前进。沉浸在掌握新知识的兴奋中,可能会忽略学习该解决方案是如何使代码再次运行的基础知识,这一点需要注意

 

编程之路永无止境,想要与众不同你得这样做_第10张图片

图源:unsplash

 

最后要补充一点,本文的思路主要是围绕着每天以小增量进行改进和构建的计划。这有助于避免失败,并自动地将问题分解为微观层面上可解决的步骤。因为每天都在进步,就巧妙地避开了无聊和对外部动力的依赖。

 

学习永无止境,不仅仅是在编程的世界里。如果想跟上时代的潮流。你必须不断进取。

 

编程之路永无止境,想要与众不同你得这样做

一起分享AI学习与发展的干货
欢迎关注全平台AI垂类自媒体 “读芯术”

(添加小编微信:dxsxbb,加入读者圈,一起讨论最新鲜的人工智能科技哦~)

你可能感兴趣的:(人工智能,热点文章,AI,编程语言)