在这篇文章中,我想总结一下我对开始编码之旅的想法。 在过去的几个月中,我对基本的“入门包”提出了很多疑问,最终决定以混乱的方式结束答复,仔细考虑并提出结构化的建议,希望会对您有所帮助。
不要跟随趋势
对于那里的每个绝对初学者:IT世界太动态了,不能一劳永逸地选择一种技术或编程语言,仅因为它目前可以为您带来一份丰厚的工作,并在您的整个职业生涯中坚持下去。 相反,您可以做的是从what开始。 您要建立网站或移动应用程序吗? 维护功能强大的数据服务器或训练神经网络进行对象识别? 一旦选择了要做的事情,那么学习如何做的想法就会激发您足够激动,以至于在事情变得复杂的几周后,一切都不会消失。 这是根据我的经验得出的一个例子:我一直想制造硬件,但不完全喜欢微控制器的原始特性-在原型设计阶段不是非常用户友好的:

当我意识到如今的每个人都将一套传感器连接到口袋里的一台小型超级计算机并看到它可以做什么时,我立即确信Android的潜力。 在看到使用神经网络的识别功能后,我最近经历了同样的激动过程–我只想学习如何做类似的事情。 感觉就像魔术!
从最明显的事物开始并不总是最佳的
假设您决定做什么,经过一些研究发现,答案是Java。 立即进入Youtube教程可能很诱人,但它几乎总是以糟糕的结果结束。 事实是,您可以使用更简单的语言轻轻地进入编程,然后,当您感到足够自在时,就跳入其他内容。 总体而言,您可能会花费较少的时间先使用“软核”来掌握所需的技术。 示例:我的第一行代码是用Python编写的。 对于初学者来说,这非常简单明了。 这里是一些行之有效的资源,您绝对应该检查一下:
https://www.coursera.org/learn/interactive-python-1
https://www.coursera.org/learn/interactive-python-2
http://bit.ly/2qZYtxc
如果您不完全相信Python,请尝试一下! 麻省理工学院每年都会培训世界各地的一些最好的计算机科学家,它正在将它用作学生的入门语言,声称它简单但功能强大,足以应付大量任务。
不要陷入理论家的陷阱
写得好书总是很重要的资源。 但是,它很容易让您认为自己正在学习某些东西,而过去几周所做的只是一页又一页地阅读,而无需花一秒钟的时间来消化您阅读的内容甚至编写代码! 我发现最好的解决方案是合理地混合许多资源。 它可以防止您陷入“理论家陷阱”,并避免您感到无聊。 在下面,您可以看到我一开始使用的各种资源:
https://ocw.mit.edu/
来自世界上最好的科技大学的讲座直接以学生为中心而创建-使用花哨的科学词汇可以使所有事情变得复杂,但是即使对于绝对的初学者,麻省理工学院的工作人员在入门课中的讲授也非常清晰。
https://www.udacity.com/
https://www.coursera.org/
理论与实践(测验,项目)的平衡组合。 只需键入“编程”,您就会看到有多少门入门课程。
https://www.youtube.com/user/thenewboston
这个家伙真好玩! 作为一个初学者,他犯了一些本不应该引起您的错误,但是我在观看他的视频时笑了很多。
书籍:Stephen Prata的“ C Primer Plus”。 与Bruce Eckel的“ Thinking in Java”相比,我更喜欢它,但对于已经花了几周编程时间的初学者,我都推荐使用它们。 只需记住练习从中学习到的所有材料即可。 每本书大约需要9个月的时间才能正确阅读,完全可以。 同时,您将学习更多有关Udacity的课程,或者观看Youtube教程。 耐心一点,记住您可以从头到尾阅读这两个书,但是您也可以只关注几章,也许在观看MIT讲座时会发现更多的乐趣。 每个人都有自己的学习过程,您应该找到自己的学习过程。 例如,我的全部是关于多样性的-有时一周之内就可以完成在线课程,书籍,YouTube视频和附带项目。
不要忽略算法
尽管可能确实在每天的工作中都没有使用许多算法,但是它们是计算机科学的本质,因此是您编码过程中不可分割的一部分。 它们可以提高您的问题解决能力,这是IT部门极为必要的,可以提高您的编程技能。
算法| 计算机科学| 计算| 可汗学院
我们已经与达特茅斯大学的教授汤姆·科门(Tom Cormen)和德文·巴尔克姆(Devin Balkcom)合作,教授入门计算机科学…… www.khanacademy.org
可汗学院是学习任何技术领域的新事物的绝佳资源。 我强烈建议您查看他们的算法介绍网站。
https://www.topcoder.com/
您还应该在TopCoder网站上通读最简单问题的解决方案,甚至尝试自己解决其中的一些问题。
总是有一些很酷的事情可以想到
我相信,在这个漫长的学习过程中不要完全放弃的最佳方法是记住一个很酷的项目,并尝试每天一砖一瓦地建造它。 当我开始学习Android时,我脑子里有了一个简单的游戏构想,后来这个构想就出现了(看起来很烂,每分钟崩溃几次,但仍然让我感到骄傲)。 我能提供给您的最后一条建议是,以正确的心态闯入编程-这不仅与金钱或相对稳定的就业有关,还在于从稀薄的空气中做一些很酷的事情,潜在地许多人可以使用。 只要记住这很酷的东西,尝试构建它,那么您肯定不会因为这么快的编码而推迟😉