Uncategorized

初学者在学习编程时需要了解的10件事情

学习编程绝不是容易的事情。很多网站为了鼓吹人们学习写代码,而会使用一种论调说,编程是一个很容易就能成为专家的行业。然而事实上,要拥有过硬的编程技术并成为这个行业的专家,需要付出很多努力。作为初学者,你可能想知道在学习编程的过程中如何把握方向,或者是从初学者上升到中级水平,会是一个怎样的过程?每个人的学习经验会因人而异,因此你可以自由地选择适合自己的学习路径。本文所分享的内容,是想让初学者在学习编程前要知道以下10件事情,这样可以有助你有一个更好的开始,并知道如何接近编程。

1. 打好基础

当你开始学习编程的时候,首先你要确定的东西是“基础”。要打好基础,你需要学习计算机科学。现在,我们可以在网上找到很多针对初学者的课程。互联网的确为初学者提供了便利,使你可以通过网络找到大量有用的信息。因此,你得花时间研究一下这些信息,从中选择最适合自己需求的。

 

以下这些网络课程可以帮助你开始学习编程:

2. 建立耐心

作为一名程序员,要想获得成功,首先要建立耐心。它可以令你在经历了无数次打击后仍然能够站起来,让你随时作好准备应对失望。耐心可以帮助你成为一个更出色的问题终结者,它还可以提高你对计算机的认识。计算机的概念是很复杂的,它要求要灵活,耐心和努力工作去理解它。绝大多数时候,当初学者开始学习编程的时候,他们并没有正确的期望。在初学阶段,你不要期待想获得一切,寄望过于乐观是危险的。由于不正确的期望,很多初学者很快就放弃了,转而学习其它东西了。要对付这个问题,你应该建立耐心,并且要想着最终的目标。

siliconvalley5

 

3. 设定目标并向目标前进

设定目标是一种有力的,有激励性的方法,鞭策着你不断进步。例如,当你开始学习PHP的时候,你可以设定一个目标,要求自己完成一个简单的项目。一旦你的目标达到了,再设定另一个,并重复这个循环。 编程的学习和提高是永无止境的,因此不断地为自己设定目标,而且不要忘了你的主要目标。

 

作为初学者,你可以尝试设定以下这些简单的目标:

  • 使用 CSS和JavaScript创建一个计算器
  • 使用HTML, CSS 和JavaScript开发一个自适应网站
  • 使用后台编程语言,如PHP, Ruby, Python等开发一个动态网站
  • 使用JavaScript设计一个简单的2D游戏

 

livecoding.tv上,就有很多初学者在尝试开发一些简单的项目。你可以看看他们分享的视频。作为初学者,你可以从别人的经验中学到很多东西。

beginner-videos

 

你设定的目标应该是切实可行的,在现阶段,不要想着去开发像facebook这样的网站或者是一个功能齐全的游戏。尝试一步一步来,当你的能力去到另一个阶段时,你就可以专注更大,更复杂的项目了。

 

4. 多做项目

通过做更多的项目,你不仅可以了解你自己的局限性,而且可以提高你分析和解决问题的能力。毕竟,学习代码不完全是只学习语法,而是要学习如何使用手中的工具去解决问题。

 

编程还需要具有创意的见解以及要有计划地去做一些有意义的事情。对于初学者,很难产生一个好的项目创意,因此你可以多看看别人的项目。例如在livecoding.tv 上,你可以看其程序员在线编程,开发产品。这是一个很好的学习机会。通过看别人的项目,你可以获得灵感来帮助你创建自己的项目。另一个好处是,你可以发现别人在开发项目有可能碰到哪些问题,然后如何解决它们。这些问题在你开发项目的时候,也有可能会碰到。因此这是一个很好的借鉴机会。

 

您也可以注册成为GitHub的用户,在网站上保存你的代码以便随时用到它们。在互联网上,你可以找到各种编程语言的公共资料库,通过浏览相关资料,你可以发现很多项目创意。

 

5. 参与社交编程

学习写代码从来不是“一个人在战斗”。如果你觉得不需要任何帮助就可以创建一个更大的应用软件,那么你就错了。事实上,编程是一项集体活动,如果你想坚持下来,你需要从各种社交平台上获得帮助。例如,GitHubStackOverFlowLivecoding以及其它的社产平台,都是很多程序员聚集的地方。每一个社区都各有特色,选择合适自己的社区,积极参与社交编程,可以帮助你提高技能。

siliconvalley4

 

6. 平衡好你的学习

作为一个开发人员,能力的提升是永无止境的,而持续的无助感只是作为一个开发者的一部分而已。新技术的诞生不会令开发者轻松下来,因为他们需要不断地提升自身的能力来适应市场的要求。作为初学者,你应该随时准备学习新的东西。即使是有经验的开发者,他们也会对自己的能力缺乏信心,因为市场上会不断有新的工具,技术和标准涌现,这需要开发者与时并进,才能跟得上变化。但这并不是说你得知道一切事情,只要了解你要了解的事情就可以了。关键是不要停止学习新的东西。

emulation

 

7. 学习算法

当你获得一定的项目经验后,你就应该开始学习算法了。 算法是构成计算机科学的核心。无论你是正在做网页开发还是游戏开发,你总得使用算法来实现最终的结果。

 

随着算法熟练程度的提高,你的技能可以达到新的高度。算法思维也可以帮助你找到第一份工作,因为大多数工作在面试时都是基于算法和解决问题的能力。你应该每天专注于解决至少一个算法问题,并保持解决问题的能力,以达到拔尖的水平。

 

8. 利用代码文件

代码文件帮助你了解你正在使用的编程语言,框架或者是库。它们包含了关于某个具体主题的丰富信息,可以帮助你学得更快。作为初学者,有时候你会觉得阅读代码文件是一件可怕的事情,但这是你在学习过程中必须要经历和克服的。开始时先慢慢来,并学习如何阅读代码文件,遇到不明白的地方,你可以求助强大的google。

 

9. 习惯使用工具

与任何其他的行业一样,在编程行业中,使用工具可以帮助比平常更快地完成琐细的事情。无论你学习的是哪种语言或框架,你都应该学会利用可用的工具。它们还可以帮助你自动完成大多数人手工作,让你可以专注于主要的问题。你应该使用的工具诸如GitSlackcode editorsChrome DevTools,编程框架(前端和后端)等等。

 

10. 寻找导师

如果你没有一个导师来指导你,编程可以是一个耗时的工作。在导师的帮助下,你节省的不仅是时间,还有从导师身上学习到的宝贵经验。一个有经验的导师可以引导你如何开发项目,并帮助你成为优秀的程序员。因此,在你开始学习编程的过程中,寻找一个导师来指导你,这样可以加快你的学习进度。现在你可以有很多渠道找到合适的导师了。无论是“面对面”的指导还是通过网络授课,都是很不错的方法。(阅读《Code Mentorship:只需五步,你就可以获得编程导师的指导》了解如何聘请导师)

Add hCode Mentorship- 4 Steps of Epiphany to get a Code Mentoreading

 

结束语

学习编程会成为你一生中一个很棒的决定,记得要参与编程有关的圈子,无论是技术社区还是社交平台,在这些地方你可以认识很多志同道合的朋友。一旦你的技术和能力达到了一定的水平,你还可以尝试通过一些自由职业者的平台,例如Upwork 和Freelancer,找到了一些兼职的工作。livecoding.tv也有各种大大小小的专门针对程序员的工作任务。只要你有足够的能力,肯投入时间和努力,再加上一点点运气,好的工作就有可能降临到你身上了。

 

(本文为编译,英文原文出处:http://www.hongkiat.com/blog/get-started-with-programming/ 感谢原作者在文中对livecoding.tv的推荐。)

 

你可能感兴趣的文章:

“嘿,程序员们,不要光顾着写码——编程大牛们对年轻程序员的职业建议”

这8个免费的网上课程可以有助你的技术成长

10个最好的JavaScript在线编辑器

About author

About Author Dr. Michael Jurgen Garbade is the founder of LiveEdu.TV, Kyuda, Education Ecosystem. He is future Venture Capitalist, Future Politician and always on the lookout for the Next Big Challenge. Obtained Masters in business administration and physics, and a Ph.D. in finance with professional work experience in high-paced environments at Fortune 500 companies like Amazon and General Electric. Expertize: Python, PHP, Sencha Touch & C++, SEO, Finance, Strategy & E-commerce. He speaks English and German and has worked in the US, Europe, and Asia. At Education Ecosystem he is the CEO and runs business operations.
Related posts
Uncategorized

Quarterly LEDU Distribution to Viewers: 250,000 LEDU for Q3-2019

Uncategorized

Quarterly LEDU Payout Session 3

Uncategorized

Product Development Update

Uncategorized

Education Ecosystem正在调整价格计划