freeCodeCamp 五周年记丨帮助全世界人们免费学习编程

freeCodeCamp 五周年记丨帮助全世界人们免费学习编程
0

原文:The Future of freeCodeCamp.org - Lessons From 5 Years of Teaching the World to Code
作者:Quincy Larson, freeCodeCamp 创始人
译者:Miya

译者注:非营利组织 freeCodeCamp.org 自 2014 年成立以来,以“帮助人们免费学习编程”为使命,创建了大量免费的编程教程,包括交互式课程、视频课程、文章等。线下开发者社区遍布 160 多个国家、2000 多个城市。我们正在帮助全球数百万人学习编程,希望让世界上每个人都有机会获得免费的优质的编程教育资源,成为开发者或者运用编程去解决问题。欢迎阅读这篇文章了解详情。

创始人 Quincy 在本文中介绍了 freeCodeCamp 社区 2020 年的一部分计划,包括开发更多编程课程(当然,完全是免费的),发布更多剖析技术热点的文章(Tech Journalism)。此外,社区还将开发“课堂模式”以赋能老师们更好地使用我们的课程进行教学,以及合并中文学习资源。

从 2016 年起,100 多位中文社区的志愿者协作翻译了 freeCodeCamp 的各类教程,分享给更多学习者。最新版中文课程发布在 https://www.freecodecamp.one/ ,近期我们将把中文课程(以及我们其他的中文学习资源)合并到 freeCodeCamp.org,并专门发表文章向 freeCodeCamp 全球社区介绍这一进展。

欢迎大家转载本文或者我们稍后发表的关于中文学习资源合并的文章,携手推动教育公益事业的发展。


2014 年 10 月,freeCodeCamp 正式上线,在此后的五年里,这个项目有许多进展。

在这篇文章里,我们一起来聊聊:

  • freeCodeCamp 社区在过去五年里取得了哪些成绩
  • 我们年度财务预算是多少,我们目前达到了怎样的规模
  • 社区最近的更新
  • 2020 年我们有哪些大的规划

2
5 年前的一个周末,我在贮藏室里的这张桌子前开发 freeCodeCamp 的第一个版本

以下数据可以帮助你快速了解 freeCodeCamp 社区在编程教育领域所做的贡献。

4 万余名 freeCodeCamp 学员目前就职于 Apple、Google、Microsoft、Amazon、Spotify 等科技企业。

每个月有数百万人通过观看 freeCodeCamp 在 YouTube 的教学视频学习编程。

每个月有数百万人阅读 freecodecamp.org/news 的文章。

每个月人们在 freeCodeCamp 论坛提出成千上万条技术相关问题,并互相帮助解答。

freeCodeCamp.org 目前名列最常用技术站点之一。

3
常用技术站点及其 Amazon Alexa 排名(2019 年 10 月 9 日数据)

freeCodeCamp.org 位列第 1,596 名

freeCodeCamp 是一个组织效率很高的公众捐赠支持的非营利组织

2019 年(到目前为止),人们使用 freeCodeCamp 的技术教育资源共计 11 亿分钟,而我们今年的财务预算只有 373,000 美金。

1,120,000,000 分钟 / 373,000 美金 = 50 小时 / 1 美金

也就是说,我们收到的每 1 美金捐款,对应 50 小时的免费技术教育。

就成本效益而言,freeCodeCamp 超出众多在线学习平台 10 倍,超出大量线下教育机构(如高校、编程训练营、培训中心)等 100 倍。

虽然我们是一家注册在美国的非营利组织,但是我们的学员中只有大约 20% 是居住在美国。

大部分学员所在的国家,当地人们日均生活成本不足 10 美金。所以,每一位 freeCodeCamp.org 的捐款人都在和我们一起帮助那些地区的人们,使他们不必为了支付学习编程的费用而再节衣缩食,使他们也能有机会获得免费的学习资源。

展望未来

现在,你已经基本了解了 freeCodeCamp 的规模以及预算情况,我们一起来探讨社区的未来吧!

我们如何帮助更多人掌握“编程”这项面向未来的技能呢?

最近的重大更新

在过去的一年中,freeCodeCamp 社区做了大量工作,以提升平台性能。

上个月,freeCodeCamp.org 有如下更新:

课程更新和 bug 修复

我们的开发者们对课程、指南及测试部分都进行了优化,确保更易懂易操作的学习体验。

今年上半年,我们启动 freeCodeCamp 课程 7.0 版本的开发工作,目前进展顺利,我们计划在 2020 年上线这一版本。7.0 版本的课程仍然包括 6 个证书,要获得每个证书,你仍然需要构建 5 个项目,不过目前课程中的一道道闯关式题目将被取消,变成一个个练习项目,例如:

  • 通过开发角色扮演游戏项目来学习 JavaScript
  • 通过设计营养标签来学习版面设计
  • 通过构建表格应用来学习函数式编程

通过这样的面向项目的学习方式,你还会学习大量别的技术概念和工具。

提示:网站刚升级,我们还在处理一些 bug。如果你是 2018 年之前在 freeCodeCamp.org 注册的账号,那你可能会遇到一些登录问题(很有可能是因为账号重复),请发送英文邮件至 [email protected],我们会尽快帮助你处理。

新的界面设计

新的界面设计结合了复古计算机美学和现代易用性设计最佳实践,我称之为“命令行时尚风格”。

你可以在你的设置项下轻松切换白天/夜间模式。稍后你也可以在未登录状态下从导航栏切换。

更好的移动端编程体验

从 freeCodeCamp 创立初期,我们就希望把移动端体验做得越来越好,让你在手机上就可以轻松写代码和运行测试。

在 7.0 版本课程的开发中,我们会更加关注移动端体验。


freeCodeCamp 移动端展示(图片由 Jackson Bates 提供)

我们把课程分为一系列选项卡,你可以在写代码、指南、测试和预览几个界面轻松切换。同时,按钮都放在屏幕下方,你就不需要滑动页面去点击按钮了。我们会持续改进,带给大家更便捷的移动端体验。

试试看在你的手机上做 https://www.freecodecamp.org/learn 的题目吧,虽然体验不如鼠标键盘来得方便,但是对比之前的移动端体验,已经好多了。

网站速度更快

我们基于 Gatsby 把 freeCodeCamp 重构为 JAMstack React web 应用。

使用 Google Lighthouse 测评一下 freeCodeCamp 的性能:
6
可访问性、最佳实践、SEO 三项都是 100 分,页面性能 71 分(对于这么一个大型项目来说还不错),我们会持续提升。

下图展示了 freeCodeCamp.org 的完整服务器架构,你可以看到我们是如何使用 CDN 以及 Gatsby 和 Netlify 这样的新工具的。


freeCodeCamp 的三大核心包括/learn(课程)、/forum(论坛)和 /news(文章),用到各种工具和云服务,其中 /learn(课程)是 JAMstack app,比之前更快了

现在我们把 freeCodeCamp 的代码都放到一个 GitHub 仓库了,可以自动化搭建/测试/部署新特性及修复 bug。此外,为了用户体验统一化,所有面向用户的子域名都改为子目录,比如,donate.freecodecamp.org 现在改为 www.freecodecamp.org/donate

freeCodeCamp 2020 年计划:更多技术文章,更多 Python 学习资源

很多人是在笔记本电脑上写代码,确实,在手机上写代码挺难的,(如上所说,我们会持续优化移动端体验),不过,手机本身就是更多为了满足人们的消费需求,而非创作需求。

我自己在刚开始学习编程的时候,即便不在电脑前,我也会有效利用时间,比如在早间通勤的时候在手机上获取各种技术内容——读文章,听播客,看视频。其实,你也可以通过手机学习到大量关于设计、计算机科学、数据科学、安全…的知识。

我们可以通过解读技术新闻,在一定的场景下为你讲解这些知识。所以,2020 年,一方面我们会继续录制播客访谈节目,写作深入的教程文章,制作比较长的视频教程,另一方面,我们将发布大量类似新闻的技术文章,解读其中的技术细节。

不妨想象:《时代》上的一篇文章包含代码片段和数据库架构分析,《新闻周刊》耐心地一层层地剖析某个技术话题。

对,我们想为你打造这样的技术文章!

Tech Explained. No ads. 剖析技术,不含广告

当你不在桌子前敲代码的时候,你可以通过阅读我们的文章来学习技术。这些文章是关于技术方面最新的重大的事件,比如最新的重大安全漏洞,或者最新的计算突破。我们会用尽可能易懂的方式来解读这些事件,并剖析其中的技术细节。

不含广告

对我们来说,光是免费还不够。广告不仅会影响网站速度,还会透露你的隐私数据。我们生活在广告无处不在的移动应用时代,Google 正在对 Chrome 进行更改,限制广告拦截器的功能。

freeCodeCamp.org 线上平台从未展示广告,我们发给学员的电子邮件中从来没有赞助商链接,我们的 YouTube 视频教程中也从来没有出现过广告(我们的频道是整个 YouTube 平台上最大的无广告频道)。

我完全理解对于一个网站、一档播客或者一个 YouTube 频道来说,发布广告是一种不错的筹集资金的方式,有些提供免费学习资源的平台也是通过广告收入支撑自身的运营。

但是,这个世界也需要一些完全没有广告的同时又免费的学习资源,这是 freeCodeCamp 从前、现在、未来都会坚持的理念。

更多 Python 课程

目前 freeCodeCamp 社区中搜索量最高的就是 Python 相关词条。

同时我们的 YouTube 视频教程中最热门的也是 Python 教程。

一些国家或地区甚至将 Python 纳入小学、中学的信息技术考核范围。

虽然我们之前已经发布了大量 Python 相关的学习资源,但是我们还并没有将 Python 纳入核心课程。

现在,我很开心告诉大家一个好消息:freeCodeCamp 会在未来的课程中增加 Python 项目以及证书,主要是 Numpy 和 TensorFlow 这两个在数据科学和机器学习中广泛使用的库。

这个世界需要一个非营利社区,让人们可以在其中免费学习编程和技术

诚然,已经有许多涵盖基础技术知识的问答社区、提供编程教程的网站以及技术资讯平台在为人们服务。

freeCodeCamp.org 的不同之处在于:这是一个草根支持的公益组织,不受企业投资人的约束,不接收广告,由开发者社区运营和支持,成果属于社会大众。

我们将继续不懈努力,尽可能帮助更多人学习编程,携手创造这样的未来:每个人——而不只是硅谷的工程师们——都可以利用技术的力量去改善自己工作和生活。

感谢我们的 5,000 多位捐款人,是他们每个月给 freeCodeCamp 捐款 5 美金,才使这样的未来不只是一个梦想。

还记得我在前文提到的算式吗?可以计算一下,你每给 freeCodeCamp 捐款 5 美金,就相当于你帮助世界各地的人们在 freeCodeCamp 学习了 250 小时。

点击这里成为我们的捐款人吧!

让我们一起祝福 freeCodeCamp 五周岁生日快乐吧

谢谢所有支持 freeCodeCamp 的朋友们,是你们的支持促成这场免费教育的实验取得今天的成绩,给世界各地的人们带去深远影响。

未来可期,携手共创!

5赞

萌新报道,期待新课程:smiley::clap::clap:

2赞