原文: freeCodeCamp Turns 10 + Major Certification Updates

十年前的今天,我坐在旧金山公寓的壁橱办公室里,写下 freeCodeCamp 最初的几百行代码。

Quincy 的壁橱办公室

当时我并不知道,fCC 会迅速成长为一个全球社区,忙碌的成年人们在这里一起学习编程。

其中很多 camper ——我们现在这样称呼自己——已经找到了软件工程师的工作。并且很多 camper 也为 fCC 的开源代码库贡献了代码。

在纽约的一次 freeCodeCamp 活动上的 Camper 们

在过去的十年里,我们构建了:

  1. 一套 3,000 小时的交互式核心课程,教授数学、编程和计算机科学

  2. 一个拥有超过 12,000 篇编程教程的图书馆——包含数十本长篇书籍——发布在我们的专栏,即 freecodecamp.org/news

  3. 一个 YouTube 频道,发布了超过 1,000 个免费的完整课程。就在不久前,我们达到了 1,000 万订阅者。

  4. 地球上最友善、最善于提供支持的编程论坛。我们还有一个同样友好的 Discord 服务器。

团队从只有我一个人发展到拥有 35 名教师和工程师。而这只是冰山一角,大量工作由开源社区完成。每天都有志愿者站出来改善我们的代码库、创建新的开放学习资源,并在论坛上互相帮助。

a screenshot of the freecodecamp github repo

而我们才刚刚开始。因此,与其感佩万千地回顾 freeCodeCamp 的 10 年,我们不如把重点放在下一个 10 年的计划上。

毕竟,我们的慈善机构的使命是创建免费学习资源,帮助人们学习数学、编程和计算机科学,还有很多工作要去完成。

在本文中,我将列出我们未来十年的主要计划。我还会向你展示一些重要进展——其中一些将在圣诞节时推出。

汇合成一个认证

最大的改进是我们将把当前课程的大部分合并为一个综合认证——全栈开发者 (CFSD) 认证。我们还将从头开发几个类似的综合认证。

我们从 CompTIA 和 (ISC)² 等知名开发者认证非营利组织中汲取灵感,全面重构了我们的认证,以更接近于业内公认的认证。

我们的新认证将:

  • 更加全面

  • 包含一个期末考试

  • 包含一个压轴项目

  • 有效期为 3 年,并提供续期路径

和 freeCodeCamp 创建的所有内容一样,这些认证将保持完全免费

认证全栈开发者认证准备课程将涵盖:

  • 语义化 HTML

  • 无障碍

  • CSS 基础

  • CSS Flexbox

  • 面向开发人员的设计课程

  • 字体排印学

  • 代码编辑器

  • JavaScript 基础

  • 函数式编程

  • 高阶函数和回调函数

  • DOM 操作和事件

  • Web 标准

  • React 基础

  • TypeScript 基础

  • 测试概念

  • Bash 脚本

  • SQL 和关系型数据库

  • Git & GitHub

  • 安全和隐私

  • Node.js

  • Express.js

  • Python 基础

  • 算法思维

  • 数据结构

  • 面向对象编程

  • 动态编程

  • 面向 Web 开发人员的安全课程

  • 工具和部署

  • 使用 API

  • AI 工程基础

  • 如何找到开发者工作

  • 等等

应大家的要求,我们将在核心课程中讲解更多理论。

之前,我们的认证 100% 专注于构建项目。我们收到了很多 camper 的反馈,认为我们在“通过实践学习”的方向上走得太远,很多 camper 也希望有更多理论的解释。

没错——你将不再需要用我们 YouTube 频道的理论视频或我们专栏的书籍来补充 freeCodeCamp 的核心课程。从现在开始,我们将在学习过程中覆盖所有必要的理论。

我们将通过增加由 freeCodeCamp 的教学设计团队(包括 Beau Carnes 和 Ania Kubów)讲授的简短视频讲座来实现这一点。每个视频还将附有完整的文字记录,供那些更喜欢阅读而不是观看的 camper 使用。

我们还增加了大量小测验,以便你复习理论知识并再次检验自己对知识的理解。这些内容加上我们内置的间隔重复系统,将大大巩固你对关键概念和编程技术的记忆。

我们会更早地让你进入“空白画布”风格的编程实验室,以尽量减少手把手的引导。

这是新认证的全栈开发者路径的完整内容。这真是一项大工程:

  • 64 个工作坊 – 关于从 HTML 到 SQL 再到 Python 等工具的交互式分步骤编程课程

  • 513 场讲座 – 涵盖计算机科学概念的短视频,并附有选择题来检验你的理解

  • 83 个实验 – 你将从一个空白编辑器和一个测试套件开始,通过建立你的项目来通过所有测试

  • 62 个回顾页 – 每个模块的主题综合列表,供你复习以帮助准备测验和考试

  • 66 次测验6 次备考考试 – 确认你对全栈开发概念和工具的掌握

  • 1 个毕业项目 – 一个大型、独特的项目,你将创建它并放到你的作品集中,并由 freeCodeCamp 社区的教师审核

  • 1 次期末考试 – 在 freeCodeCamp 的考试环境中进行的全面的 90 道题认证考试

完成所有这些课程后,你将有资格参加最终考试。我们构建了自己的开源考试环境,在那里你可以参加一场关于你所学内容的深入考试。

如果你没有通过考试,你可以每 24 小时重考一次,直到通过。每次考试的内容将从大量的考试题目中随机生成。

你可能听说过一些关于参加在线考试的人被误认为作弊的恐怖故事。我们对如何执行我们的学术行为准则进行了深思熟虑,会有真人参与决策流程。

不会由于“你因为你的宝宝开始哭而从椅子上起来”这样的情况而自动取消考试资格。我们将考虑所有这些因素来管理这些考试。

一旦通过,你将获得一个免费的已验证、带序列号的认证,你可以将其添加到你的简历或 CV 中,并嵌入到你的 LinkedIn 账户中。它的有效期为 3 年,届时你可以完成一次免费的继续教育过程来重新认证。

这是一个 5 分钟的视频,将带你了解 freeCodeCamp 课程的一些重大更新。

我们也在开发另外三个认证

在新的认证全栈开发者认证上线后,我们的教学设计团队将转向构建另外三个认证:

认证机器学习工程师认证 (fCC-CMLE)

该认证将涉及学习 Python 及其众多库。你还将学习大量数学和理论。许多项目将涉及创建你自己的模型。Kylie Ying 已经在与机器学习工程师合作设计此内容。我们计划在 2025 年发布部分内容。

认证软件系统工程师认证 (fCC-CSSE)

该认证将涉及底层编程和高性能计算。你将学习如何用 C 和 C++ 编程,并构建一些项目——例如你自己的编译器和搜索引擎。我们计划在 2026 年发布部分内容。

认证数据科学家认证 (fCC-CDS)

我们已经花费数年时间来开发一个全面的数据科学课程。如你所知,freeCodeCamp 已经在其社区 YouTube 频道上推出了许多广受欢迎的关于数据科学工具的课程,如 Python、R 和统计套件。

教授数据科学的难点在于教授这一领域涉及的大量数学知识。我们还需要实现可编程评分的面向项目的学习。

我们的目标是提供最佳的数据科学教育,这在博士项目之外是无法获得的。这将是最大的挑战,但我们已经准备好了。

我们计划在 2027 年发布部分内容。

什么时候会有关于这些认证及其课程的更多信息?

我们正在为此制作全面的课程大纲,并计划在 2025 年公布其中一些。

当前的 freeCodeCamp 认证将如何处理?

freeCodeCamp 一直以来都有保留旧的认证课程的传统。这次也不例外。

我们鼓励你在今年圣诞节新的全栈开发者认证课程上线后进行切换。你可能已经完成了一些项目,因为其中许多项目来自我们的旧认证。

尽管如此,如果你在旧认证中已完成一半,并想继续进行下去,也是可以的。

旧认证会过期吗?

是的。所有这些旧的认证将于 2027 年 12 月 31 日到期。这也包括人们过去获得的所有 freeCodeCamp 认证。

我们希望给予大家充足的时间使用当前的认证,然后再去获得新的全栈开发者认证。我们认为三年的时间已经足够。

我们已经为所有 freeCodeCamp 的认证添加了这个到期日期。

从现在开始,无论是获取全栈开发者认证还是即将推出的其他三个认证之一,它们的有效期都将是从你获得认证之日起的三年内。

再次说明,我们正在开发一个继续教育项目,你可以在三年后使用该项目来续期你的认证。并且,所有这些将完全免费。

freeCodeCamp 为什么要求考试并为认证增加到期日期?

我们这样做是为了使这些认证更符合其他技术行业认证。所有这些主要认证都需要通过认证考试,并在三年后到期。

我们的目标是让 freeCodeCamp 的认证尽可能符合惯例,从而使雇主更容易理解它们。

freeCodeCamp 是否打算进军招聘或职位推荐领域?

我们没有这样的计划。我们的慈善使命很简单:创建免费的学习资源。我们计划保持小而专注的教师团队,而不是引进大量非教师人员。

各个认证课程之间会有多少重叠?

一些认证会共享少量共同的项目和课程。例如,如果你在获得全栈开发者认证时已经完成了 Python 入门课程,那么在获得机器学习工程师认证时无需重新完成这些。

我的旧认证会在线保留吗?验证链接会继续有效吗?

过期的认证仍会显示在你的个人资料上,并且可以通过直接链接访问。它们会被明确标记为“过期[日期]”,直到你续期为止。再次说明,在 2027 年 12 月 31 日之前,任何 freeCodeCamp 认证都不会发生这种情况。

freecodecamp.org/learn 上当前列出的这11个认证会发生什么?

它们至少还将在那里几年,作为旧的认证。其中的大部分课程内容会被改编和改进,以作为这些新认证的一部分。

我需要重新做我已经完成的项目吗?

旧认证中的某些课程内容会保留在这些新认证中。在大多数情况下,你不必重新做已经完成的项目。如果你已经创建了一些项目,当你查看新认证时,其中的一些部分可能已经显示为已完成。

在教授 Rust 和 Java 等编程语言或 NoSQL 数据库工具方面有什么安排?

我们会保持核心课程专注于最受欢迎的工具,以帮助学员们在开发者工作中占据有利位置,也就是 Python、JavaScript、SQL,以及像 Git 和 Linux 这样的工具。

我们在 freeCodeCamp 社区的 YouTube 频道上有大量其他热门工具的视频课程,还有 freeCodeCamp 专栏的教程。我们将继续将这些作为课外主题教授,供任何想要学习的人学习。

英语课程进展如何?

我们一直在努力创建一个互动的英语课程,以帮助学员提高英语水平。

我们通过视频和交互式练习相结合进行教学,之后是一个正式的认证考试。

freeCodeCamp 的英语课程用户界面的截图

我们目前正在完成 A2 级,并开始了 B1 级的工作。

CEFR 级别图

免费大学学位课程进展如何?

我们正在稳步推进,准备提供数学副学士学位和计算机科学学士学位。我们已经开发了两门数学课程,并正努力完成剩余的 38 门大学水平的课程及其讲座、实验和考试。

freeCodeCamp 有一个小型的课程设计团队,目前我们主要专注于全栈开发者认证的课程和英语认证课程。在完成这些之后,我们将分配更多资源到学位课程,以进一步加速其开发。

十年只是序幕。

freeCodeCamp 团队的一部分成员在达拉斯公共图书馆前合影

我们作为一个社区在短短十年内取得了令人惊叹的成就。

  • 包含 3000 小时交互式学习资源的免费课程
  • 数以千计的视频课程、书籍和教程
  • 数以万计的学员找到开发者工作
  • 数以万计的贡献者通过开源项目和帮助其他学员获得经验

我们的征途刚刚开始。

我鼓励你参与到全球 freeCodeCamp 社区中。你可以浏览我们的2024 Top Open Source Contributors。如果你想深入了解,这里有我们的贡献者指南

我也鼓励你成为支持者。如果你已经每月支持我们,并且想要在年底为我们的慈善机构捐赠,非常感谢。这里有一些支持我们使命的免税方法

如果你对支持我们慈善机构的使命有任何疑问,或者只是需要税收捐赠收据,请直接给我发邮件:quincy@freecodecamp.org

我们一起展望下一个十年。

—— Quincy