Full Stack Open 全栈公开课:14 个部分的学习顺序与学分申请

教程资源11小时前发布 一方
1 00

Full Stack Open(中文页译作「全栈公开课」)是赫尔辛基大学从 2019 年起开设的免费在线课程。它用 React、Node.js、MongoDB、GraphQL 和 TypeScript 串起一条从浏览器界面到数据库的链路,不卖课也不录视频,只提供按顺序读的教材和必须提交到 GitHub 的练习。学完可以下载课程证书,也能申请欧洲学分。

它和常见网课的区别在工作量:没有视频、没有在线判题,进度全靠自己推。下面拆开讲课程现在的结构、练习交到哪里、学分和证书的门槛差在哪,以及中文版能不能直接用。

Full Stack Open 是什么:从 React 前端到 Node 后端的完整链路

Full Stack Open 官方首页,展示开始课程按钮与十四个课程部分的目录
截图来源:fullstackopen.com(2026-11-03)

课程给自己的定位是「现代 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 小时,但进度自由,没有截止日期,也不按年发版。

部分主题学分
0Web 应用基础含在核心 5 学分内
1React 入门同上
2与服务端通信同上
3用 Node.js 与 Express 写服务端同上
4测试 Express 服务端、用户管理同上
5测试 React 应用、React Router同上
6状态管理(现为 Zustand)1
7自定义 Hook、esbuild1
8GraphQL1
9TypeScript1
10React Native2
11CI/CD1
12容器1
13关系型数据库1
14Next.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 仓库加提交系统

练习不走在线编辑器,整套流程三步,但每一步都有容易踩的地方。

  1. 为每一部分建仓库或建目录,结构可以参考官方的示例提交仓库;如果用私有仓库,要把 mattiluukkainen 加为协作者,否则课程方看不到代码。
  2. 打开提交系统,选对应部分,填上完成的练习数并提交。
  3. 交完就不能补,一个部分只有一次机会,所以别拖到最后一天再点提交。

提交的代码会过查重。和标准答案或多位同学的代码高度相似,会按赫尔辛基大学的学术诚信规定处理,这一点课程页面写得很直白。多数练习是一点点长成一个大应用,这种情况只交最终版本即可,不必每个练习单独 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 部分时,你手上应该有三个以上能讲清取舍的项目,那才是简历里能用的部分。

© 版权声明

相关文章