Full Stack Open(中文页译作「全栈公开课」)是赫尔辛基大学从 2019 年起开设的免费在线课程。它用 React、Node.js、MongoDB、GraphQL 和 TypeScript 串起一条从浏览器界面到数据库的链路,不卖课也不录视频,只提供按顺序读的教材和必须提交到 GitHub 的练习。学完可以下载课程证书,也能申请欧洲学分。
它和常见网课的区别在工作量:没有视频、没有在线判题,进度全靠自己推。下面拆开讲课程现在的结构、练习交到哪里、学分和证书的门槛差在哪,以及中文版能不能直接用。
Full Stack Open 是什么:从 React 前端到 Node 后端的完整链路

课程给自己的定位是「现代 Web 开发入门」,但入门不等于零基础。官方在所需基础里明确写了三条预期:良好的编程能力、Web 编程与数据库的基本概念、Git 的基本使用。同时它也写明不需要事先懂 JavaScript,语言本身可以在课里补。
形态上和付费训练营差别很大。教材是纯文本加代码片段,练习要自己搭环境跑起来、代码推到 GitHub、再到提交系统里勾选完成数量。每一部分的示例应用都放在开源仓库里,页面底部还有「提出修改」的入口,读者可以直接提 PR 改错字。
作者分工也写在首页:第 0 到 8 部分和第 13 部分由 Matti Luukkainen 撰写,第 9 部分来自 Terveystalo 的开发者,第 10 部分由 Kalle Ilves 编写,第 11 部分是 Smartly 的开发者,第 12 部分由 Jami Kousa 编写。教材采用 CC BY-NC-SA 3.0 协议,可以自由使用和分发,但不能直接拿去商用。赫尔辛基大学开放大学的课程页提到,2019 年以来已有超过一万名学员完成其中一门或多门课程,讨论主要发生在 Discord 的课程频道里。
十四个部分的学习顺序与近期改动
课程共十四个部分,第 0 部分沿用历史编号,从它开始读。官方的时间估算是:一部分大致对应一周、15 到 20 小时,但进度自由,没有截止日期,也不按年发版。
| 部分 | 主题 | 学分 |
|---|---|---|
| 0 | Web 应用基础 | 含在核心 5 学分内 |
| 1 | React 入门 | 同上 |
| 2 | 与服务端通信 | 同上 |
| 3 | 用 Node.js 与 Express 写服务端 | 同上 |
| 4 | 测试 Express 服务端、用户管理 | 同上 |
| 5 | 测试 React 应用、React Router | 同上 |
| 6 | 状态管理(现为 Zustand) | 1 |
| 7 | 自定义 Hook、esbuild | 1 |
| 8 | GraphQL | 1 |
| 9 | TypeScript | 1 |
| 10 | React Native | 2 |
| 11 | CI/CD | 1 |
| 12 | 容器 | 1 |
| 13 | 关系型数据库 | 1 |
| 14 | Next.js | 未标学分 |
学分的分配是这样:第 0 到 5 部分构成核心课(课程代码 CSM141081),合计 5 学分;第 6 到 13 部分各自单独计 1 到 2 学分;全部加满的上限是 14 学分。第 14 部分在 2026 年 4 月 25 日上线,材料已经迁到 MOOC.fi 的 Next.js 课程页,但课程说明里还没给出对应的学分代码。
不过两处官方说法并不完全一致:课程说明里把整体范围写成 5 到 15 学分,开放大学页面写的是上限 14 学分。报名前以开放大学的课程页为准,别按自己算的数去规划毕业学分。
更新节奏值得单独说。课程早就取消了「按年发版」,全年开放,每一部分每年改一到两次,多数是库版本和表述的修补,而且提交过的练习始终有效。最近一轮改动比较密集:第 6 部分把 Redux 换成 Zustand、第 7 部分把 webpack 换成 esbuild,都在 2026 年 4 月 5 日;React Router 与样式相关的内容在 2026 年 3 月 31 日从第 7 部分前移到第 5 部分;第 8 部分在 2026 年 1 月 3 日把 Apollo Server 升到 v5、Apollo Client 升到 v4;第 4 部分在 2025 年 8 月 13 日跟进 Express 5。跟着两年前的博客学,很容易在这些点上踩空。
练习怎么交:GitHub 仓库加提交系统
练习不走在线编辑器,整套流程三步,但每一步都有容易踩的地方。
- 为每一部分建仓库或建目录,结构可以参考官方的示例提交仓库;如果用私有仓库,要把 mattiluukkainen 加为协作者,否则课程方看不到代码。
- 打开提交系统,选对应部分,填上完成的练习数并提交。
- 交完就不能补,一个部分只有一次机会,所以别拖到最后一天再点提交。
提交的代码会过查重。和标准答案或多位同学的代码高度相似,会按赫尔辛基大学的学术诚信规定处理,这一点课程页面写得很直白。多数练习是一点点长成一个大应用,这种情况只交最终版本即可,不必每个练习单独 commit。
核心 5 学分的成绩就按练习总数换算,带星号的练习也计入:提交 72 个得 1 分,83 个得 2 分,94 个得 3 分,105 个得 4 分,116 个得 5 分。这张表在报名前就值得看一遍,它决定了你要给第 4、5 部分的测试题留多少时间。
证书、学分和考试不是一回事
这三件事的门槛完全不同,混在一起问是最常见的误区。
- 课程证书:练习做到及格线,就能在提交系统里下载,不需要注册开放大学,也不需要考试。基础部分(第 0 到 7)有一张总证书,之后每个部分各有一张。
- 大学学分:要先在开放大学单独注册对应课程,通过课程考试,再回提交系统确认完成。注册后系统会生成赫尔辛基大学的学号,成绩登记一般需要 4 到 6 周,7 月完成的会在 8 月登记。
- 项目学分:额外做一个 React 或 Node 应用,按投入的工作量给 5、7 或 10 学分,1 学分约等于 17.5 小时,评分只有合格与不合格两档,可以两人或小组完成。
考试在提交系统里在线做,限时 120 分钟,内容是第 1 到 5 部分,不计入成绩但必须通过;没过要隔一周才能重考。费用方面,赫尔辛基大学开放大学的课程页写明所有参与者免费,学习与学分都不收费,需要自己投入的是时间。
还有一条只对芬兰居民有意义:按满学分完成课程与项目之后,合作公司 Terveystalo 和 Smartly 会给出一次面试机会。这条承诺写在课程说明里,它是面试机会,不是录用承诺。
中文版能用,但别拿它当主线
官方提供英文、芬兰语、西班牙语、中文等多个版本,中文版由 Zhang Wei 翻译。问题在于版本滞后:中文首页的公告还停在 2022 年,目录只到第 13 部分,第 6 部分仍写 Redux,第 7 部分仍写 webpack,而英文版这两处早就换成了 Zustand 和 esbuild。
更实用的组合是「中文打底、英文核对」。概念和目录用中文版快速建立印象,遇到库名、版本号、代码片段就切回英文原文。术语不一致的地方,中文版反而拖慢理解,比如 part 有时译成「部分」、有时写成「章节」,对着目录找入口时容易错位。
英文版教材本身就是开源 markdown,每页底部都有「propose changes to the material」的入口,可以从源码看这一页最近改了什么。课程首页和 Part 0 的课程说明是所有规则的源头,报名、提交、学分这些细则都在这两页里,遇到冲突以它们为准。
适合谁学,以及每周怎么安排
三类人受益比较直接:想转行做 Web 开发的人、会一门后端语言但没系统写过 React 的人、想补测试与 CI/CD 的在职开发者。反过来,完全没有编程经历的人不适合从这门课起步。官方自己的估算是要达到「能用某门语言流畅写代码」的程度,通常需要 100 到 200 小时的练习。
环境准备不复杂:Chrome 或 Firefox 开发者版、VS Code、Node.js 至少 24 版,Git 必须装好。卡住的人多数卡在环境与测试,而不是语法。每周稳定投入 10 小时以上、按部分推进,是比较现实的节奏。有位完成了 13 学分的学员在 2022 年的复盘里写道,理论工时是 351 小时,他实际用了约 200 小时;教材此后改动很大,这个数字只能当参考。
补前置知识可以走免费资源:Git 命令行不熟,先过一遍Missing Semester 的版本控制讲次;JS 与 DOM 的细节回查 MDN 的学习路径;纯语法题想练手感,可以用 Exercism 的题库热身。三份材料都不收费,比在同一份教程里反复卡住要省时间。
最后提醒一句:这门课的价值不只在证书,而在那十几个推到 GitHub 的仓库。做到第 5 部分时,你手上应该有三个以上能讲清取舍的项目,那才是简历里能用的部分。
© 版权声明
文章版权归作者所有,转载需注明出处。未声明原创的皆为网络收集,如有侵权请邮箱lishiwenhuagx@sina.com联系下架处理。




