如今,学习如何编程已不再是 IT 专业人员和软件工程师的专职了。随着绝大多数企业都将自己的业务迁移到了网上,如何准确呈现网站访问者想看到的,和如何能够交互网站内容就显出尤为重要。

可见,了解如何编写程序已是一项需要学习的、直接影响到个人职业发展的、非常重要的技能。

可以说,如果您能给线上服务带来价值,那么您就会对任何业务产生积极的、可估量的影响。

在哪儿能学到在线编程?其实,我们有许多不同类型的学习方式,包括:各种预制的学习路径,以及采取单独的个人定制课程。

在此,我为正在寻找编程学习资源的您,列举了 25 个最好的网站,供您参考和选用。


1.Codecademy(https://www.codecademy.com/


Codecademy 致力于提供最好的学习体验,打造最好的编程学习网站。Codecademy 考虑到编程不应该是传统思维所考虑的那种公立学校教育模式,而是应该找到了一种在线课堂的模式,来掌控教育的效果。

Codecademy 所要构建的教育模式是为整个世界的用户提供一种引人入胜的教育体验。

如今,超过 2400 万名学员正在通过使用 Codecademy 所提供的 JavaScript、HTML、CSS、PHP、jQuery、Ruby 和 Python 课程,来学习如何自行编写代码。

而且,该网站拥有超过 300 小时的免费在线内容,为世界各地数以百万的用户提供学习服务。

这些用户可能在编程技能和电脑知识上参差不齐,但是他们总能在此获得自己想要的知识。


2.Udemy(https://www.udemy.com/


该在线学习平台成立于 2010 年,它被作为个人学习和工作技能的一种提高方式。

在网站上,它有一个小部分可选的、带有视频的免费编程课程,当然也有一些整套售卖的课程。

它是一个全球性的在线教育和学习平台,来自各自领域的专家级导师在此提供了超过 45000 种课程库,以帮助学员掌握新的技能,并达到他们的目标。

该网站上有着大量的、售价从免费到 200 美元以上不等的编程课程。同时,网站也为不知道自己喜欢什么、想学什么的零基础访客准备了足够多的免费课程。

学员们不但能够看到那些被系统评为五颗星的课程,他们还能看到其他学员的评论。


3.EdX(https://www.edx.org/


这是一个非营利性质的、开源的、优秀的在线学习平台。它成立于 2012 年,由哈佛和麻省理工创办,您可以在此学到最新的前沿理论和技术。

EdX 在全球拥有超过 90 多个合作伙伴,包括一些世界领先的非营利组织、大学和机构。网站会员可以选择来自 60 所院校的课程。

由于 EdX 是由各所大学创立并管理的,因此其课程主要集中在工程、计算机科学、语言、写作、市场营销、生物学等领域。

开放式 EdX 提供着各种免费的课程。不同的技术专家和教育工作者都能够为该平台构建工具、并添加新功能、以及创造出让全球学员都能受益的突破性方案。


4.Coursera(https://www.coursera.org/


自 2012 年成立以来,Coursera 已发展成为了一个大型的非营利性的教育科技公司,它提供来自 119 个机构的超过 1000 门课程。

其中一些来自于 Vanderbilt 大学、多伦多大学、斯坦福大学,和华盛顿大学的入门级免费课程。当然,某些更高级的课程还是要收费的。

课程语言包括英语、西班牙语和法语,而课程下方一般也配有英文、西班牙语或中文字幕。

课程类型包括:商业、科学和计算机科学等。可以说,每一门视频讲座都是由世界顶尖的教育机构、社区论坛、和同行评审作品所提供。

学员在完成了他们的课程之后,会获得一份课程电子证书。一般而言,课程的周期从 4 到 6 周不等,售价通常为 29 美元到 99 美元,它们不仅有在线模式,还提供大家远程访问的主机。


5.Simpliv(https://www.simpliv.com/


Simpliv 是基于 CA 的在线学习平台。它旨在将教育延伸到世界的每个角落,并帮助那些想通过学习改变现状的人们。该平台的课程品类非常广阔:从心理学到管理学,从灵气学到财务管理。

学员可以自行选择他们喜欢的编程语言,如 C++、Java、JavaScript、Rust、Ruby、PHP、SQL、Swift、TypeScript 和 Crystal 等。

同时,他们可以通过自我挑战来提高自己的编程技能。通过使用自己的浏览器和各种测试用例,他们能够自行检查学习的进度。

Simpliv 通常使用创新、新建和优化的学习方法,来帮助学员“沉淀”他们所学到的知识。


6.FreeCodeCamp(https://www.freecodecamp.com/


Free Code Camp 的主要宗旨是向非营利组织传授编程技能。目前,该组织已解决了 3000 万条编程难题,并为开发工作捐赠了超过 140 万美元。

除此之外,超过 4000 多名学员已通过 Free Code Camp 所提供的课程学习找到了工作。

该平台的课程种类包括:HTML5、CSS3 和 JavaScript 等。通过社区聊天室,学员们能够得到实时的帮助,同时也能够见到同城的其他开发者。

学员们不但可以按照自己的节奏进行学习,还能够按需使用电脑或手机进行在线学习。

在学习过程中,每个学员需要将自己的身份与自己的实际的应用套件相组合。

课程的传授方式包括:教学互动、集中式作业和教程发布等。另外,它对于初学者来说是免费的。


7.GitHub(https://github.com/


程序员们经常将 GitHub 作为一个速查的参考点。在 Git 的托管存储库中有着 500 多本免费的编程书籍,覆盖 80 多种不同的编程语言。另外,网站合作者们也持续保持着资源的更新与准确。


8.Odin 项目(https://www.theodinproject.com/


这是维京代码学校(知名的在线编程训练营)的免费版本。根据 Odin 项目设定的学习路径,学员能够获取学习 Web 开发和编程的正确方式。

学员们在该项目中建立自己的档案信息,这将有助于后续的学习进程、以及职业道路。

在 Odin 项目中学员也能够方便地找到志同道合的学友。在此,学员们通过学习诸如:Web 开发入门、网站开发 101、Ruby 编程、HTML5、Ruby 规则、CSS3、jQuery 和 JavaScript,最终将成为一名 Web 开发人员。

Odin 项目提供的课程类型包括:视频、教程、博客、以及专题课程。它们通过各种课程来引导学员构建自己的不同项目。


9.Khan(可汗)学院(https://www.khanacademy.org/


该网站提供了各种形式的教育实践活动、个性化的学习仪表板(进度)显示、和教学视频。

来自世界各地数以百万计的学员,能够按照自己的节奏去学习编程要领。该平台的资源可被翻译成 36 多种语言。另外,网页编程类学员可以使用其扩展的编程教育课程和资源网页。

该机构的使命是提供一个世界级的、向任何地方、对任何人开放的免费教育平台。

学员们既可以浏览全部,也可以通过诸如视频、文章、程序和练习等分类来查找自己喜欢的资源。

另外,学院既有一些刚入行的初学者课程,也有适合那些希望提高编程技能的专业人士课程。


10.MIT(麻省理工)开放式课程(https://ocw.mit.edu/index.htm)


麻省理工开放式课程的特点是任何人无需申请,只要有一台电脑,就可以访问其课程。它们根据不同的主题设立了在线图书馆,访客不需要任何帐户便可登录。

他们可以浏览所有可用的课程,甚至可以对查找结果进行评估、根据是否为讲义、视频、音频、以及在线教科书等特征进行筛选。

同时,麻省理工开放式课程也能帮助各位教师改善他们的课程,让学员寻找获取进阶的增值资源。

总的说来,学员完全可以免费地、自行选择想要学习的编程课程,而且能够完全按照自己的节奏去完成。


11.UdaCity(https://www.udacity.com/


UdaCity 的宗旨是向全世界提供经济实惠、方便、且高效的技能教育。这些教学内容是如今行业领先的公司(包括 Facebook、Google、IBM 和 AT&T)所亟需和认可的,也是传统学校鲜少涉及到的。

由导师、评审人员和教练所组成的团队,会对学员的水平进行把关,以确保他们胜任其目标岗位。

学员们可以免费学习 JavaScript 的基础课程,而对于一些深入的课程则需付费。


12.Code Avengers(https://www.codeavengers.com/


该平台通过 1000 多项热门的编程问题、测验、和视频,为学员提供专业的、步进式的指导。

学员从学习如何构建简单的网站和应用开始,迅速进阶到真正的、能向潜在雇主展示的应用场景之中。

当前,该平台拥有来自 190 多个国家的超过一百万名学员,他们或实现着自己的目标、或尝试着改变世界、或开办自己的公司。

因此,普通学员可以免费使用其 7 天、每门 5 个课时的受限教程;而其付费的无限制套餐则包括所有的课程、测验、项目、和应用渠道。


13.David Walsh 博客(https://davidwalsh.name/


David Walsh 是一名 33 岁的 Web 开发人员和软件工程师。他既是 Mozilla 的高级软件工程师,又是自己博客的技术作者,还为世界各地的其他会议提供演讲服务。

他擅长于 MooTools JavaScript 框架,并能创建 MooTools 插件;同时他也是 Script & Style、以及 Wynq Web 实验室的创始人。

他时常撰写 JavaScript、AJAX、PHP、WordPress、CSS、以及 HTML5 等方面的博文。访客可以通过搜索其博文的关键字标签,来获取并学习相关文章。


14.Tuts+(https://tutsplus.com/


该平台以免费和付费两种形式提供由专业人士打造的,超过 570 个视频课程。同时,Tuts+ 也出版电子书,并支持用户的搜索功能。

该网站所拥有的课程类型不仅限于计算机方面,它通过成千上万种免费教程,向学员传授开发 Web 应用、和移动设备等方面的知识。

Tuts+ 将初学者教程分为三大类:

通过 Web 开发,来教授开发语言、框架、和所有相关工具。

通过提供素材,让学员成为WordPress插件和主题方面的专家。

传授能够用于各种平台(包括 Android 和 iOS)的移动开发技能。


15.SitePoint(https://www.sitepoint.com/


SitePoint 是一个 Web 开发者的分享中心,同时它也能给设计师、开发者、创业者、产品经理和程序员提供帮助。

访客可以简单地在其搜索框中输入关键词,以查找并浏览相关文章。而各种文章既可以按照类别排序,也可以按照作者排序。

当然,访客还可以使用其菜单栏,搜索自己想要的编程语言,其中包括:HTML、CSS、JavaScript、PHP、Ruby、移动应用设计、WordPress、和 Java 等。


16.HTML5 Rocks(https://www.html5rocks.com/en/


这个网站创办于 2010 年,涵括了有关 HTML5 的所有更新资源与教程。由于它是开源的,因此开发者可以任意使用其 HTML5 的代码。

由于其课程相对专业,因此不太适合入门级开发者。访客可以通过站内搜索来浏览所有教程。

许多教程的作者都来自于不同领域、使用不同语言的 Web 开发和编程高手。


17.Hack.pledge()(https://hackpledge.org/


该网站是一个开发者的互助社区,导师和学员们可以在此持续交换信息,从而将那些可能被“卡壳”的时间,转换为提升写出更好代码的速度。

为了降低运营成本,它通过 Pluralsight(在线教育网站)来将导师与学员自动关联,以促进学习成果的转化。同时只要导师在线,学员们就能够按需免费地得到他们的指导。


18.aGupieWare(http://blog.agupieware.com/2014/05/online-learning-bachelors-level.html


这实际是一个被用来调查全美顶级机构的独立应用开发平台。麻省理工学院、伯克利、卡耐基-梅隆大学、和哥伦比亚大学在此提供了各种免费的课程。

该平台上有 15 种课程,分别是:3 门介绍课、7 门核心课、以及 5 门选修课。虽然该网站并不提供学分,但它的确是初学计算机程序设计与编程的好地方。

其在线学习课程根据学员们的学习轨迹进行划分,包括 Python、计算机科学、敏捷开发、黑客学、安全测试、和 Linux。此外,其博客里也有许多有关最新电脑技术的文章。


19.Crunchzilla(http://www.crunchzilla.com/


该平台由数据专家、代码专家、代码怪物、和游戏专家四个板块组成,它是一个适合于各个年龄阶段学习者进行编程实验、测试和研究的网站。

一般而言,代码怪物提供最简单的教程,适合于 9-14 岁的青年学习。代码专家的目标人群是 13 岁及以上,提供了更难更深的议题,以及更多的解释。

游戏专家是专为已经有一些编程经验的青少年和成年人准备的,它通过步进式教程教您如何编写视频游戏。

上述三个板块通过实时的课程方式,以动手为主、解释为辅。数据专家板块则专注于数据统计,能够提供统计的相关问题,并为新项目提供数据。


20.Dash General Assembly(https://dash.generalassemb.ly/


这是一个免费且有趣的在线课程网站。用户可以在浏览器上简单地实践它所涉及到的 Web 开发基础知识和项目。

例如:

用户既可以学到 HTML5 的正确编程方式,又能学习如何构建美观现代的网站、以及如何设计页面导航和内容布局。

CSS3 资源将帮助用户创建全功能的登陆页面,包括:时髦的导航栏、多栏目布局、和移动响应式设计等。

用户可以通过学习 JavaScript,来创建一个管理用户事件的动态界面、以及添加用户交互的动画效果等。

Dash GeneralAssembly 面向未来地为学员免费提供了职场热门需求的编程技能和培训。


21.Code School 代码学校(https://www.codeschool.com/


这是为有经验的开发者所准备的互动式学习平台,它涵括了约 237 个国家、100 多万名学员。该平台的课程按技术种类进行分类。

通过搜索,学员可以选择 HTML/CSS、JavaScript、Ruby、Elixir、PHP、.NET、Python、iOS、Git、SQL 课程、和一些选修课。

学员们能够从富有经验的导师那里学到高质量的视频课程,并能通过浏览器回答各种编程问题,以及获取及时的反馈。各种有关编程的问答将被运行在浏览器中,学员籍此获得即时的反馈。

作为激励,学员们将通过回答问题,来获取每一门的积分,并累积到最后换取结业徽章。

一旦完成注册,用户将拥有 69 门课程和 253 个视频课件,当然您也可以随时注销自己的账户。学员一般需要每月支付 29 美元,或者一次性支付 228 美元的年费。


22.Treehouse 树屋(https://teamtreehouse.com/


该网站的学员将能够学习到超过一千多个来自建站专家的编程视频,而且其视频库还在持续更新中。

完成学习后,学员们可以在平台上进行测验和交互代码问答。在整体课程与测验完成之后,学员们将获得徽章,以表明其获得了相应技能,以供聘用公司到本网站上查询核实。

该网站的使用模式为:先免费试用,之后用户可选择每月 25 美元的基本套餐,或每月 49 美元的专业套餐。

如今,数以百计的社区组织、学校和企业都受益于该平台所带来的开发价值。


23.Infinite Skills by Udemy(https://www.udemy.com/user/infiniteskills/


该公司通过高质量的教学视频、动手练习、实践经验和全方位的参考文件,提供了一个不断更新的 eLearning 解决方案。

它的每一个课程都是由经验丰富的导师和专家精心制作而成,重点针对的是商业环境中的“实战”场景。

目前,它已有超过 689000 名学员、331 门课程、和 38098 条评论。课程售价从免费到几百美元不等,同时它为初学者准备了充足的免费课程和学习路线图。


24.Lynda(https://www.lynda.com/


这是由 LinkedIn 里的各个行业领袖所带来的,横跨技术、业务、和创造等领域的技能网站。

目前,课程量已达 5877 门,其中软件开发类,有超过 600 门;Web 开发类,有超过 700 门。通过免费试用,用户可以无限制地访问、和广泛地阅读他们所选的资源。

用户可以随时随地进行学习,并能在电脑、移动设备和平板之间相互切换。该平台能为具有特定职业道路发展需求的学员,提供预制的课程。

免费试用后,用户可以选择每月 29.99 美元的基本套餐,或是无限制访问所有课程的高级套餐。


25.CodeHS(https://codehs.com/


该网站囊括了有关计算机科学的诸多方面,且更加注重营造教学课堂的模式。

其特征包括:基于 Web 的课程、管理员的视角、教师的工具集、和专业的开发团队。

它通过步进式课程模式,帮助学员们在最佳实践中培养解决问题、和逻辑思维的能力。

作为教师,他们有权根据学员需求定制教学大纲、教案、习题、以及调整分级等。