国内有哪些能在线学习编程的平台

> 五个免费在线学习编程的网站推介
五个免费在线学习编程的网站推介
学编程和从事计算机行业是两码事情。并不是会写点程序就能从事计算机行业,反过来说,学编程也并不一定是为了专业从事计算机行业,编程可以作为一种很好的业余爱好或作为复合型人才的&第二技能&,当然,如果有适当的机会,也可以考虑转行。
初学编程者看不懂书是正常的。所有程序员都是从那一步走过来的。除了看书你还可以利用丰富的互联网资源,而下面将为你介绍五个免费在线学习编程的网站,而不需要昂贵的学费以及需要你安排固定的时间。
1. CODECADEMY
它是一种基于网络的互动编程教程,手把手帮助用户了解JavaScript的一些基本原理,更重要的是,使用Codecademy学习编程充满了趣味性,它的联合创始人是Zach Sims和Ryan Bubinski。另外,该网站在去年已经推出了中文版。
在用户第一次打开首页的时候,会如上图中所示的那样,会让你简单的进行一些操作,让初学者初尝编程的乐趣。
用户一旦进入网站就能轻松完成编程的第一课,若用户要想知道自己的名字有多少字母,只需将自己的名字输进双引号中,再输入&.length&,最后点击enter键即可,非常简单。
很多的编程网站内容错综复杂,有数以百万计的课程,而Codecademy只提供特定的计算机语言,例如:JavaScript和Ruby。
2. LADIES LEARNING CODE
Ladies Learning Code的网站创始人是Heather Payne,她的目标是使得促进女性和女生对计算机编程的学习,打破男性一直以来主导高科技领域的情况。这是一家总部设在多伦多(加拿大)的非营利编程组织,其网站主页上显示,只要你是有抱负的人,无论你是9岁还是49岁都能来学习。
Ladies Learning Code诚邀女子(偶尔也有男性)进行协作学习技术技能,所有课程都是从各种编程语言入门级开始教授。
你可以在任何时间和地点进行学习,另外网站也会提供一些关于JavaScript、HTML和Photoshop的研讨会。
3. CODE RACER
Code Racer是一个在线编程游戏,会强迫你快速编程,在编程游戏中,Code/Racer所属Treehouse团队拥有超过650个教学视屏,当你完成某个课程的话,就会获得相应的徽章。另外,高级程序员或者有经验的程序员可以考核初学者,测试他们的技能。网站的教学侧重于HTML和CSS。
4. UDACITY
UDACITY是由斯坦福大学(Stanford University)教授创办的盈利性网站,不过没有跟大学结成联盟,主要教授Java、Web开发、HTML5和软件测试。
网站会有基于软件的测试、习题集、跟编程相关的作业。另外,每个单元的每个知识块都有相应的习题和答案。而且,任意一个选择题都是教授自己手写的,每一个答案又单独做成了一个小视频。在习题集里面同样包含视频,学生可以在线输入代码,测试代码。
学生能获得很多,网站会根据学生的学习表现颁发不同层次的证书:结业、良、良好、优秀。另外,科罗拉多州立大学(Colorado State University)的环球学院已经认可Udacity上部分课程的学分。Udacity还发布了一个免费的就业匹配计划,可以将学生的简历根据公司的招聘情况和学生的成绩发给包括 Google、Facebook、Twitter、美国银行在内的合作公司。
5. GIRLS WHO CODE
Reshma Saujani创立的Girls Who Code致力于教育女青年编程和学习科技技能,教育女生编程,将有助于缩小她们在科技领域与男性之间的差距,提升她们的竞争力,获得更好的职业发展。
这些女孩子将会学会怎么建立网站和移动应用,甚至开设自己的公司。课程中也包含财务知识、计算机科学和机器人技术。该组织表示已经得到了一些公司的经济援助,包括Twitter、通用电气、谷歌和eBay。
Reshma Saujani是&编程女生&的创立人,也是纽约公共宣传的正式代理人。她说,该计划的萌芽是在2010年,她在美国国会上竞选失败,失败原因是科学界男女比例的不平衡。如果当初学习编程时能有人给我这些忠告该多好 - 文章 - 伯乐在线
& 如果当初学习编程时能有人给我这些忠告该多好
伯乐在线导读: Cecily Carver
是多伦多的一位程序媛,和 Jennie Faber 一起创办了一个游戏制作工作室。她喜欢歌剧、舞蹈和弹钢琴。Cecily 在这篇文章分享她在编程道路上的所感所想,给出很多值得思考的编程箴言以及一些思想误区,比如在你学习编程之前思考一下你的目标、编程不是什么神秘的东西、坚持比方法更重要等,可以让我们在编程路上少走一些弯路,从而有更多的时间学习技术让自己变的越来越强大。
在你学习编程之前思考一下你的目标
要知道编程大多时候就是在创造,当你有最终目标感时道路会更加的清晰。如果你的目标是“学习编程”而不是更具体的学习哪种程序及如何让你的生活更好,那么你可能会发现这不过是一次令人沮丧的实践。
我有点惭愧地承认我学习计算机科学的部分动机是为了证明我聪明,及我想干“聪明人”的工作。我也喜欢思考数学和理论(《 》这本书在我易受影响的年纪进入了我的脑海),编程是一个不错的选择。当然这并不足以使我坚持这么久,真正让我坚持的是我发现了编程可以将科技与我真正喜爱的东西(如音乐和文学)连接到一起。
那么,你想要写什么?网站?游戏?iPhone应用?致富的商业软件?交互艺术?你是想让老板印象深刻?或你是想自动执行一些乏味的任务以让你有更多的时间看水獭照片吗(译者注:这里应该指有更多的时间看外面的风景)?也许你只是想更具有就业竞争力,因为可以将技术流行词添加到简历,或者只为了实现你的教育需求。所有的这些都是有价值的目标,你得确定知道哪个才是你想要的目标然后相应的去学习吧。
没有什么神秘的东西
编程跟其他东西一样,是一门技术。跟语言学习一样,有需要掌握的语法和词汇;跟数学一样,有解决特定类型问题的流程方法;像各种工艺和艺术创作一样,有技术、工具以及人们经年累月发展起来的最佳实践方案,专门解决各种不同类型的任务,你可以自由的使用、修改或弃之不用。
Joel Spolsky(一个非常聪明的家伙,他的一些其他的观点我也很喜欢且频繁认同)曾论断:在有着“程序员真正思想”的人和缺乏该领域成功所必备的知识能力的任何人之间有一条很清晰的界限。据他所言,这条界限包括指针和递归(和有为感兴趣的人提供的入门资料)。
我在学校学习过指针和递归,当我掌握了过后,大脑发生了一次愉悦的波动—这种智力快感使我想要将学习计算机科学排在第一位。但是,除了课堂练习外,其他时候用指针和递归来完成任务的次数就相对较少了。后来在一次次的帮助他人学习时,我发现大家根本不用掌握这两项技术中的任何一项就可以完成一些非常有趣有益的项目。
想知道或怕知道自己是否“足够聪明”其实没什么意义。当然,你的任务越复杂越深奥,你需要掌握的知识水平就越高。不过这也同样适用于其它的任何领域。除非你计划完全靠编程生活,否则你可能并不需要成为一个掌握递归的天才来完成你的任务。
第一次运行一般不成功,第二次第三次也可能不成功
当你第一次学习编程时,你会很快遇到这样的特殊经历:你认为已经按照所想的完成了每一件事,检查了一遍又一遍,却发现仍然运行不了(出现bug了)。你完全不知道该从哪开始修复它,错误信息(如果你够幸运只有一个的话)好像在说“fuck you”。你可能就此放弃,心里想着自己恐怕永远也解决不了了,那么你就不适合干编程这行。我一开始就有这种感觉,尝试着用C++写一个程序然后运行它,却只得到“segmentation fault”这个麻烦。
但是这种经历对所有不同技术水平的程序员来说都太普遍了,这绝对与你的智商、技术悟性或者是否适合干编程这行没有任何关系。初学者会碰到这样的情况,经验丰富的程序员也会碰到这种事情。主要的区别就在于你如何应对这种情况。
我发现新手程序员和有经验的程序员之间一个很大的不同点,就在于一种信念(指有经验的程序员所具有的信念):相信事情出错是因为逻辑原因并且一定能找出来;相信bug可以修复;相信有办法实现目标。从“运行错误”到“运行正确”的过程可能不是很明显,但是有耐心你通常都可以找出问题。
总是有人说你做错了
;;,;你应该使用,但实际上你又;你应该总是,但是。
基本上对于一个特定的问题总是有许多不同的方法,没有所谓单一的“正确方法”。许多程序员都非常擅长倡导他们首选或偏爱的方法,但是那并不意味着这是“唯一正确的方法”。如果与人们面对面争论后告诉我:我是错的,那么我也会尽力搞明白是否他们就一定是正确的,这是我早期职业生涯比较重要的一个方面。
如果你在一个小组里与其他人一起编程的时候,肯定会有人总是对你做的东西指指点点,有时候他们说的的确是正确的,但是总是值得去探究下看你是否真的“做错了”。但有时候他们完全就是胡扯或只是再次引起了一场古老而没有意义的争论,那么你最好适应这样的情况然后忘掉它吧。另一方面,如果你个人喜欢这种古老且没有意义的争论的话(比如语法狂,一直看着大家),那么不用多说,你来对了地方。
总是有人说你不是一个真正的程序员
;;;;;; 。
“编程”对不同的人有着非常不同的含义,而且现在看起来与过去也不太一样。有趣的是,大家都知道,工具、包和框架能够让初学者甚至受过训练的开发者更快更容易的做开发,但正因如此这些东西往往被贴上“不是真正的程序员”的标签。(看:“”)
其实这背后隐藏的是一种害怕心理:(译者注:也就是都不敢自称自己是真正的程序员)。但是我认为这种保守行为是非常具有破坏性的。
使用那些让你最容易开发的工具吧。如果这意味着你的游戏是用Stencyl 或者GameMaker做的,而不是自己从头开始写的,没关系啊。如果你首次编程用的是HTML或者Excel宏,也OK啊。只要你能坚持下去就行。
当你越来越舒服的时候(没任何挑战力),你会自然的开始找出那些工具受限的不足的(而不是有帮助的)地方接而寻找功能更加强大的工具,但是大部分情况,很少有人会去看你的代码或问你用什么工具—你用这些工具实现了什么功能才是关键。
忧虑所谓的“极客声誉(geek cred)”相当于慢性自杀
如前所述,我过去(尤其在学校)一度非常担心从我的穿着,我的讲话,我选择的阅读资料,甚至我的软件定制选项是不是证明了自己“不是一个真正的极客”(不是真正的极客貌似就没啥资格进入技术社区),这严重消耗了我的精力,后来我决定完全不考虑这些东西后我的技术更强了(译者注:与其花时间搞那些没意义的东西不如多学点技术,这样你的技术就会越来越强)。
你需要谨记一点:你擅长编程的能力与你到底有多适应各种极客亚文化没有一丁点关系。如果你内心深处知道自己永远都不会适应这些亚文化(而因此焦虑的话),那就需要加倍的记住了。你为了证明自己所浪费的精力应该用来做真正有有意义的事情,并且就算你是一名无可争辩的极客,眼窝中流露中可信赖的光芒,那么也请记住:当你评价其他人的信誉水平时,也并不意味着你认为的就一定对,一定是事实。
坚持比方法更重要
我们永远不缺像学习编程的“正确”或“最佳”方法这样的文章,其实还有很多潜在的方法。你可以从或通过或通过来学习概念。当然,在你第一次学习的时候有许多的语言供你选择,每种语言都有相应的宣传和倡导。
关于“自学编程”流程和讲习班的一个常见的抱怨就是:一开始你会很愉快的轻松度过初级材料的学习,然后会越来越困难,这时你就会很快走上陡峭的学习曲线。你知道如何在页面上打印输出一些文本行,但是你不知道从哪开始进行一个“真正的”有用的项目。你可能感觉你只不过遵循了一些指南而没有真正的掌握,然后你可能就会指责学习资料。
当你到了这一步后,大部分可用的教程和在线资源都不是那么有用了,因为他们已经让你成为一名有经验的程序员了。然后困难进一步加剧为这样一个事实—“你不清楚自己还有哪些不知道的东西”,而且试图搞清楚你下一步到底要学习什么本身就是一个难题。
不管你遵循的是什么“编程”方案,冲破这堵墙的唯一方法就是持之以恒。这意味着你要持续的尝试新东西,学习更多的知识,并且一步步的搞明白怎么去开发你的项目。如果你非常清楚自己为什么要将编程放在首位的话,最后你也非常有可能成功。
如果你坚持一点一点的铺砖,可能会花费很长时间才能得到一道墙,但是最终你还是会得到。这时候我先前提到的信念就派上用场了。如果你相信随着时间和耐心,你可以完成整个编程任务,那么到时候你肯定会达成所愿的。
关于作者:
可能感兴趣的话题
看了这篇文章就如同她的标题.感觉很受益.跟Angela在TED演讲时所讲的耐力对一个人是否成功起着至关重要的作用.哎,浪费了大量时间,不知现在回头还来得及吗?上海的这鬼天气雾茫茫让人心情更加郁闷看不到前方...
关于伯乐在线博客
在这个信息爆炸的时代,人们已然被大量、快速并且简短的信息所包围。然而,我们相信:过多“快餐”式的阅读只会令人“虚胖”,缺乏实质的内涵。伯乐在线内容团队正试图以我们微薄的力量,把优秀的原创文章和译文分享给读者,为“快餐”添加一些“营养”元素。
新浪微博:
推荐微信号
(加好友请注明来意)
– 好的话题、有启发的回复、值得信赖的圈子
– 分享和发现有价值的内容与观点
– 为IT单身男女服务的征婚传播平台
– 优秀的工具资源导航
– 翻译传播优秀的外文文章
– 国内外的精选文章
– UI,网页,交互和用户体验
– 专注iOS技术分享
– 专注Android技术分享
– JavaScript, HTML5, CSS
– 专注Java技术分享
– 专注Python技术分享
& 2017 伯乐在线

我要回帖

 

随机推荐