Codecademy是一个Web应用程序,旨在教会新开发人员编码的基础。它广受欢迎,但确实有很多可以做得更好的地方。
自2011年以来,他们已经教会了数百万人免费编码,并开启了成千上万开发人员的职业生涯。同时,他们的产品和教学方法还有很多不足之处。
那么,Codecademy有什么问题?应该讨论几个问题,学习它做得不好的事情可能会导致一些更好的替代方法来学习代码。
Codecademy问题1:它没有教给心态
真正地了解一种语言真是太棒了,但是成为一名程序员不仅仅是单纯地记住语法。这是关于具有特定的心态并学习如何分解问题,使用算法思维来解决问题,然后编写解决方案的代码。
您需要能够全面看待问题并理解您采取的每个步骤如何影响程序的其余部分。最重要的是,当您遇到精神障碍时,您需要能够忍受高度的挫败感和毅力。
您需要能够研究错误,Google寻求答案并传达您的信息问题给其他开发商。简而言之,您需要能够像编码员那样思考。
代码学院课程不会教您像编码员那样思考。
相反,它教给您数字基础知识编程语言中没有太多关于如何将其应用于现实问题的说明。
获得解决问题经验的更好方法是什么?
我很大项目Euler和Reddit的Daily Programmer Subreddit的爱好者,这些问题具有编程难题。我是后者的忠实拥护者,因为我们鼓励您共享代码并从其他开发人员那里获得反馈。
Daily Programmer subreddit附带了所有技能级别的拼图,从绝对的初学者到代码专家。
Codecademy问题2:眨眼,你会想念的
我对Codecademy的教学方法最大的沮丧之一就是课程的移动速度。您将学到一些东西,完成一个挑战,并且可能永远不会再次访问该主题。 眨眼,您会错过的。
如果您想巩固自己的进步,则必须在Codecademy之外进行一些有意识的练习。最好的方法之一就是简单地编写代码。许多程序员发誓要记笔记并使用抽认卡进行充实。
纸抽认卡既便宜又有效。实际上,您可以在亚马逊上购买1,000包以开始使用。
如果您更喜欢数字化,还可以使用很多应用程序。我非常喜欢Anki,因为它具有可自定义的功能。它具有成千上万个社区构建的抽认卡,并且可以通过其应用程序编程接口(API)进行扩展。
对于移动用户,还有许多用于Android和iPhone的抽认卡应用程序。
Codecademy问题3:语法不等于编程
Codecademy将教您一种编程语言的语法,但是在大多数情况下,它不会告诉您如何应用它。这就是为什么您经常看到这样的问题,并发布在LearnProgramming Subreddit上的原因。
开发人员正在学习JavaScript并开始理解该语言,但不知道如何实际应用它。可能不是开发人员的错。
JavaScript入门课程不会深入探讨如何将文档对象模型与JavaScript结合使用。 Java课程不会教您如何编译代码以运行代码。
这并不是所有容易被掩盖的东西。 Codecademy不会为您提供编写简洁代码的提示。它不会教您如何编写具有自我说明性的代码。它不会教您有关包管理或如何在您自己的项目中使用其他人的代码的问题。
这可以通过找到Codecademy的替代方法来克服。寻找可以教这些重要习惯的指令,您的编码就会蓬勃发展。
Codecademy问题4:不解释理论
Codecademy成功的原因是它需要编码并进行转换它变成容易上瘾的咬成大小的碎片。现在感觉不错,但从长期来看,感觉并不好。学习成为一名开发人员意味着要学习软件开发的原理,这实际上是非常具有挑战性的。这就是优秀的开发人员如此有价值的原因。
在Codecademy的课程中,您不会了解编程理论。 Donald Knuth用了数千页的内容(以及二十年的大部分时间)在《计算机编程的艺术》中写作。
Codecademy使您摆脱了编程的复杂部分。除了拥有自己的研究纪律之外,没有其他解决方法。如果您不知道要看什么,学习的一种好方法是找到经验丰富的开发人员来指导您。
Codecademy替代品
如果您喜欢Codecademy的结构提供但希望有一些替代方案,但有一些选择。
代码学校将教您如何像Codecademy一样进行编码,但具有一些明显的优势。 Code School(最近被Pluralslight收购)提供了从软件开发到网络安全的更广泛的课程选择。
课程由编码专业人士通过视频进行讲解,以深入地介绍概念。课程范围从开始到高级编码。 Code School的学习被划分为编码路径,每种路径仅用一种语言就可能长达20个小时。
Code School不是免费的,但是您每月支付的价格将覆盖其所有材料。
顾名思义,FreeCodeCamp是免费的,就像Codecademy一样。就像Code School一样,您将获得一些非常深入的学习材料。
FreeCodeCamp围绕着为您找到一份工作。他们吹捧着40,000多名毕业生在Microsoft和Google等知名公司找到工作。他们提供七个不同的证书,每个证书大约需要300个小时。
您将看到真正的区别是编码面试准备。 FreeCodeCamp提供了数千小时的挑战,所有挑战都围绕着学习编码背后的逻辑。公司想知道您如何解决问题而不是记住一种语言,所以这是一个巨大的好处。
Codecademy并不坏
现在看,Codecademy有很多让人喜欢的地方。这并不是要阻止新兴的程序员,学习始终是目标。 Codecademy已经向计算机科学的基础知识介绍了数千种。但是,还有很大的改进空间。
学习代码还有其他选择。对于希望成长的Web程序员,您可以通过这些Udemy课程学习JavaScript。