原文: freeCodeCamp Turns 10 + Major Certification Updates
十年前的今天,我坐在旧金山公寓的壁橱办公室里,写下 freeCodeCamp 最初的几百行代码。
当时我并不知道,fCC 会迅速成长为一个全球社区,忙碌的成年人们在这里一起学习编程。
其中很多 camper ——我们现在这样称呼自己——已经找到了软件工程师的工作。并且很多 camper 也为 fCC 的开源代码库贡献了代码。
在过去的十年里,我们构建了:
-
一套 3,000 小时的交互式核心课程,教授数学、编程和计算机科学
-
一个拥有超过 12,000 篇编程教程的图书馆——包含数十本长篇书籍——发布在我们的专栏,即 freecodecamp.org/news
-
一个 YouTube 频道,发布了超过 1,000 个免费的完整课程。就在不久前,我们达到了 1,000 万订阅者。
-
地球上最友善、最善于提供支持的编程论坛。我们还有一个同样友好的 Discord 服务器。
团队从只有我一个人发展到拥有 35 名教师和工程师。而这只是冰山一角,大量工作由开源社区完成。每天都有志愿者站出来改善我们的代码库、创建新的开放学习资源,并在论坛上互相帮助。
而我们才刚刚开始。因此,与其感佩万千地回顾 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 专栏的教程。我们将继续将这些作为课外主题教授,供任何想要学习的人学习。
英语课程进展如何?
我们一直在努力创建一个互动的英语课程,以帮助学员提高英语水平。
我们通过视频和交互式练习相结合进行教学,之后是一个正式的认证考试。
我们目前正在完成 A2 级,并开始了 B1 级的工作。
免费大学学位课程进展如何?
我们正在稳步推进,准备提供数学副学士学位和计算机科学学士学位。我们已经开发了两门数学课程,并正努力完成剩余的 38 门大学水平的课程及其讲座、实验和考试。
freeCodeCamp 有一个小型的课程设计团队,目前我们主要专注于全栈开发者认证的课程和英语认证课程。在完成这些之后,我们将分配更多资源到学位课程,以进一步加速其开发。
十年只是序幕。
我们作为一个社区在短短十年内取得了令人惊叹的成就。
- 包含 3000 小时交互式学习资源的免费课程
- 数以千计的视频课程、书籍和教程
- 数以万计的学员找到开发者工作
- 数以万计的贡献者通过开源项目和帮助其他学员获得经验
我们的征途刚刚开始。
我鼓励你参与到全球 freeCodeCamp 社区中。你可以浏览我们的2024 Top Open Source Contributors。如果你想深入了解,这里有我们的贡献者指南。
我也鼓励你成为支持者。如果你已经每月支持我们,并且想要在年底为我们的慈善机构捐赠,非常感谢。这里有一些支持我们使命的免税方法。
如果你对支持我们慈善机构的使命有任何疑问,或者只是需要税收捐赠收据,请直接给我发邮件:quincy@freecodecamp.org
我们一起展望下一个十年。
—— Quincy