教育

培养基本技能:15岁以后,为自己编程

treasureMap_15

<<阅读本系列的前一篇文章

《千行代码之旅》

就到这里吧。发现计算机编程的世界,学习一种新的技能,这是一种相当冒险的经历。我确信有些地方我本可以做得更好、更有效率,我对那些努力学习新技能、试图改变生活道路的人有了全新的敬意。这是很难的,它需要惊人的自律(这一直是我遇到的最大的问题之一)把你每天的空闲时间用于追求一些将在未来几年得到回报的东西。

这是一个陷阱

有很多事情会让你在学习新技能的目标上分心。你要记住的是,每件事都是一个选择和决定。如果你决定整晚都上Facebook,那么这是你的选择。如何利用你的时间是你的选择,你可以做出一些决定,这些决定会比其他决定带来更好的回报,这是你需要记住的。如果你要做这件事,那就看你的了。分心的事情总会出现,你如何处理它们将决定你的成败。

生活中有很多事情会阻碍你,不幸的是,如果你不够专注,你很容易忽视一项新技能的练习。这适用于任何事情,编码,学习一项运动,学习一种乐器,甚至在你的工作中变得更好,你可以被动地通过,你会获得经验,学到足够的东西来做一份令人满意的工作,几年之后,这些经验甚至可能帮助你变得非常好。但这就是有能力和有能力的人之间的区别,专注的练习和学习会让你远远超过在你的领域里做同样事情的普通人。现在只要连接互联网,任何人都可以获得这些信息,在你追求知识的过程中,真的没有什么可以阻止你了,而且最重要的是,这些知识中的大部分都是免费的。

以下建议可以帮助你保持正确的方向:

确保它成为一种学习习惯——把一天中你要追求目标的时间留出。

确保你有强大的动力-从一开始,就写下你为什么要做这件事,它的目的是什么,以及一旦你掌握了你所追求的技能,它会对你的生活产生什么影响。如果你觉得“嗯,今天不行”,就把它当作咒语,这样你就可以重申这一切的意义

确保一切都在手上- 找到自己只是喝一杯,休息一下,一般拖延?只需确保它是全部的,所以您没有任何借口不得开始,特别是在您启动后尤其不能停止。

一定要坚持不懈——即使你那天做不了很多事,也要为目标做点什么,任何事。如果你这一天过得很糟糕,还是试着做点什么。坚持不懈是秘密武器。

确保你有一些多样性-不同的学习媒体让一切都很有趣。当它是有趣的,就更容易对做的活动感到兴奋。此外,它还可以提供理解和思考所有问题的新方法。

确保你在督促自己-你在某件事上越努力,你就会变得越好。不要只是满足于“某种了解”,或因为项目中的某个功能似乎太困难而放弃它,而是致力于它,并为自己的能力感到惊讶。

我做得怎么样?

Dreyfus技能获取模型

有一种流行的技能习得模型被称为Dreyfus模型,它提出掌握一项技能需要5个层次。

菜鸟:在这个阶段,你对这项技能是完全陌生的,你可以阅读相关的练习,然后一步一步地把一些东西放在一起。你不是在为自己思考,真的,如果没有某种帮助,你不可能完成特定练习之外的任何事情。您可能知道一些术语和这些基础是如何工作的,但您可能不知道它们在总体规划中是如何真正发挥作用的。在编码方面,新手应该能够查看代码,并在基本水平上逐步了解它在做什么。

高级初学者:高级初学者在真实情况下有经验,因此他们开始了解基础知识如何共同努力提供结果。因此,就编码而言,他们可以查看代码并了解那里发生的事情,但更重要的是他们可以改变和改善。如果这是一个乐器,先进的初学者可能会读一下新的音乐并播放并添加一些小的riffs。所以在这个级别,你可以通过心灵做一些具体的节目和那种了解它们。

胜任的:在这个阶段,您对代码及其不同部分有了足够的了解,从而可以开始从零开始处理新的任务。你知道它是如何一起工作的,你可以把一个问题分解成它的组成部分,找出需要做什么,并找出你知道如何做某事的任何差距。

精通:好了,现在没有间隙了,你几乎知道你需要做的所有事情,而不需要查阅或问别人。这是一个很酷的水平,你会被认为了解你的东西,因为你知道你在做什么。

专家:你能意识到如何完成工作而不需要遵循任何常规,因为你足够了解什么时候该打破常规。大多数人能联想到的唯一例子就是使用母语的能力。你可能会想出一个词来描述一些能够完美概括它的内容,这便是这一关卡所提出的精通程度。

技能水平/心理功能 新手 先进的初学者 主管 精通 专家
回忆 Non-Situational 情境 情境 情境 情境
识别 分解 分解 整体 整体 整体
决定 分析 分析 分析 直观的 直观的
意识 监控 监控 监控 监控 吸收

我觉得这个怎么样

所以现在我对我所学到的不同的东西有了一些后见之明,可以比较客观地看待它,这是有可能看到哪些资源适合技能习得。所以首先,让我们从局限于新手的资源开始。

新手-就真正提供初学者水平的范围而言,我将不得不使用PyCharm Edu在Stepik上放置Python入门课程。开始学习这门语言并看看它是如何使用的是很有用的,所以对于这个目的来说,它是完美的,但你可能不会得到你需要的练习来进一步发展到更高的技能水平。

先进的初学者-大多数课程都符合这个水平。我会把头部第一个书,因为他们将带你通过基础知识,你就会开始探索和尝试的一些特性的语言,它会给你一套锋利的情境工具,但是书的范围并不带你进一步的自己的项目。但这并不是说书本中学到的东西不能直接应用到你所从事的项目中。

CS50在上面边界。课程涵盖了初学者的技能水平,但问题集把你放在高级初学者水平的顶端。如果你使用课程的理解来构建一个大型的期末项目,它也有可能达到胜任的水平。我想说,这门课程将很容易让你在高级初学者水平的顶端,如果不是进一步。

主管- 所有课程,拥有最大推动先进初学者水平的潜力最大的潜力是河道和Pycharm Edu的高级Python课程。它有很多练习和练习涵盖各种不同的情况,并且很多元素必须在您面前识别出问题并自己提出解决方案。我认为经历了这一点,你将有一个经过验证的技能组织和足够的能力和经验解决问题,以解决你面前的任何问题。这些练习中的大部分练习都必须在没有指导下进行工作,并且对于在他们肯定挑战之前没有进行编程经验的人则会进行工作,并将让您参加测试。它让你回忆起达到这一点的经验教训来完成它们。这意味着您正在识别出识别情况以及如何解决它们的识别以及如何解决它们的解决方法。当你有这个掌握时,你将​​处于主管水平。

精通和专家只能通过项目来实现。项目将推动边界,超越简单的基础,实际上是你可以开始职业生涯的东西。获得项目经验的唯一方法是自己完成任务和项目,例如作为个人项目或通过工作完成。你做的越多,项目越多样化,你就越能成为你所开发的领域的专家。

如何获得技能水平

我仍然认为,学习任何东西的方法都是遵循一系列特定的步骤,这与微观和宏观层面上的基础和技能提升相同。

第1步:基础。第一步是学习一些基本知识和理论,也就是基础。这可以通过书本、视频或教室里的老师来实现。基本上,它是为了了解事物如何运作的基本原理;我在新手部分使用的材料非常适合学习周期中的这一点。

步骤2:实践。使用您学到的理论并将其付诸实践。通过观察理论,然后将其应用于真实情况,您深化对概念的理解。这就是为什么CS50课程非常适应。但你真的需要花时间实际经历问题集。This is one of the biggest things I would have done differently as I ducked out of the problems sets on most occasions as I couldn’t find the time to get through them making the course probably only about 30% as effective as it could have been. The Stepik Adaptive Python course is another chance to get some good practice in though.

第三步:个人项目。为了真正获得技巧,你将不得不把自己推到你的舒适区之外,最好的做法是要接受你感兴趣的项目。如果我要继续,这将是我的下一步改善我的编码。关于它是个人项目的最佳部分是它真的可以关于你想要的任何事情,你可以强加你想要的任何限制,只是努力实现它。这也是填补技能差距的好方法,因为你可能会跨越障碍,这需要一点工作来克服并且必须了解新的东西来让项目正常工作。此外,启动个人项目的好处是您可能会发现自己伸出援手,并要求在社区中获得更多有经验的人的帮助。这种知识分享都既有方式,会给你一个谈论你的想法和讨论和了解其他人经验的东西。

第四步:职业化。如果你想成为一门手艺的大师,你就得花很多时间。如果你将1万小时规则作为掌握一项技能的近似值,那么如果你每天朝九晚五地学习一项技能,这基本上相当于5年。想要在你想掌握的技能方面成为佼佼者的最后一种方法是参加实习,甚至是一份工作。每天练习这项技能,并对它负责,将推动你真正变得非常擅长它。这就是业余爱好者(而非霍比特人)与专业人士的区别:当你的收入依赖于表现出色时,你就会很快变得非常出色。

我本可以做得不一样

在学习材料方面,我真的不能抱怨任何一个。人们推荐它们是有原因的。我希望我曾经参加过[在Coursera上学习Python课程],但我认为我现在有了一个很好的基础。在这里,时间是最大的问题,就像献身学习一样;我认为如果你真的把自己投入到这个过程中,没有像孩子出生这样的干扰,没有忙碌的工作和正常的生活,你可以在大约16周内完成所有的事情,你会达到一个像样的水平。最难的部分是,所有这些课程都有可能放下,然后重新开始。CS50课程有一定的时间压力,我想如果你能跟上课程的进度,一周接一周,这将是一个很好的学习方法。在这方面不断努力是正确学习的唯一方法;我已经休息了几周,过了一段时间就回来了,不得不在一段时间后接触高级Python,却发现自己完全被问题卡住了。我只是稍微研究了一下,才发现这个任务是我几个月前就学会的方法,但由于间隔,它绝对无法从我的记忆中恢复。

因此,就我如何接近该项目而言,我认为课程是以最佳顺序所采取的。即使没有以这种方式完全策划,它还为他们撰写了最合乎逻辑的顺序,把我从新手带到高级初学者,我仍然有一些工作要做,在我真的有能力,熟练是一个遥远的目标...专家,我想想,需要5岁左右。所以在6个月内到达一个水平,我可以用代码播放一点。我有利用其他人工工具制作最低可行的产品来建立最低可行的产品,因此这对我来说是一个完全可接受的水平。虽然我认为有可能再与此工作,纪律和承诺有所了解。

“接下来呢?”我听到你在问

这个过程还没有结束,至少还没有。我特别喜欢Head First的书,所以我将在这个系列中进一步研究一些技术。在使用Adaptive Python时,我还有很多练习要完成,一旦完成了,我还会再做一遍。尝试和完成这些练习是很好的练习,特别是因为我从来没有从头开始做过这样的事情,而且我做得越多,我得到的就越好。目标是能够在他们建议的时间限制下做练习,通常是5分钟左右。所以要做到这一点,你需要知道你的…东西。否则,我将开始一些我自己的项目,有一些想法,我认为将是有趣的创建。这就是编程的乐趣——你可以创造任何你想要的东西……也许一个人工智能会坐下来教你如何编程……嗯。

一切都会好起来的。如果它不是好的,那么它不是结束。-最好的异国情调万寿菊酒店的人。

发现更多的

Baidu