项目介绍

OSSU(Open Source Society University,开源社会大学)提供了一套完整的计算机科学自学课程体系,使用来自世界顶级大学的在线课程材料。这不仅仅是职业培训或专业发展课程,而是一套全面的、经过精心设计的教育方案,涵盖了计算机科学本科专业的所有核心知识。

课程设计参照了 CS 2013 课程标准(计算机科学本科学位项目课程指南),课程来源包括 MIT、斯坦福、哈佛、普林斯顿等世界顶尖学府。

项目信息 详情
GitHub 星标202,356+
课程来源MIT、斯坦福、哈佛、普林斯顿等
预计时长约 2 年(每周 20 小时)
费用全部或几乎全部免费
创建者Eric Douglas
社区支持Discord 活跃社区
等效学位完成后等同于计算机科学本科学位

课程体系

OSSU 课程体系分为四个阶段,从入门到高级逐步深入:

入门 CS (Intro CS)

计算机科学入门体验,帮助你判断这个领域是否适合你。涵盖计算、命令式编程、基础数据结构和算法。

核心 CS (Core CS)

相当于计算机科学前三年的课程,包括所有专业必修课:核心编程、核心数学、CS 工具、核心系统、核心理论、核心安全、核心应用和核心伦理。

高级 CS (Advanced CS)

相当于最后一年的选修课程,根据个人兴趣选择方向:高级编程、高级系统、高级理论、高级信息安全、高级数学。

毕业项目 (Final Project)

利用所学知识解决实际问题的实践项目,可选择 Fullstack Open、现代机器人学、数据挖掘等方向。

主要特点

  • 完全免费 - 所有课程材料均可免费获取,部分平台提供经济援助
  • 顶级大学课程 - 精选 MIT、斯坦福、哈佛等世界名校的在线课程
  • 系统化设计 - 按照正规 CS 本科学位要求设计,知识体系完整
  • 灵活学习 - 自定义学习节奏,独立或结伴学习,顺序或乱序均可
  • 活跃社区 - Discord 社区提供讨论、答疑和学习伙伴支持
  • 实践导向 - 每门课程都有作业和项目,最终以毕业项目收尾
  • 持续更新 - 课程列表定期更新,确保使用最新最优质的教学资源
  • 可追踪进度 - 提供电子表格工具估算完成时间,Fork 仓库追踪学习进度

如何开始

1. 评估前置条件

核心 CS 课程要求具备高中数学基础(代数、几何、预微积分)。高级 CS 课程需要先完成所有核心 CS 课程。

2. 从入门课程开始

推荐起步课程: MIT - Introduction to Computer Science and Programming using Python 时长:14 周 | 每周 6-10 小时 | 前提:高中代数

3. 制定学习计划

使用 OSSU 提供的 Google 电子表格 来规划学习时间线,输入你的开始日期和每周预期学习时长。

4. 加入社区

加入 OSSU Discord 服务器,与全球学习者交流,每门课程都有专属讨论频道。

5. 追踪进度

Fork GitHub 仓库到你自己的账户,完成课程后在旁边标记完成标志,将仓库作为你的学习看板。

6. 建议学习顺序

推荐按照课程表从上到下的顺序学习(尤其是核心 CS 部分)。也可以将数学课与入门课同步进行。除非你确定已经掌握了某门课的内容,否则不建议跳过。

核心课程概览

模块 主要课程 涵盖主题
核心编程 系统程序设计、编程语言、面向对象设计、软件架构 函数式编程、设计模式、单元测试、静态/动态类型
核心数学 MIT 微积分(1A/1B/1C)、计算机科学数学 离散数学、数学证明、基础统计、O-表示法
CS 工具 MIT - The Missing Semester 终端和Shell、Vim、版本控制、命令行环境
核心系统 Nand to Tetris (I & II)、操作系统、计算机网络 计算机架构、汇编语言、操作系统、网络协议
核心理论 斯坦福 - 算法设计与分析(I & II) 分治法、排序搜索、图搜索、动态规划、NP完全性
核心安全 网络安全基础、安全编码原则、漏洞识别 机密性、完整性、可用性、安全设计、防御编程
核心应用 数据库系列、机器学习、计算机图形学、软件工程 关系数据库、神经网络、OpenGL、敏捷方法
核心伦理 工程伦理、知识产权、数据隐私 社会影响、职业伦理、隐私和公民自由

高级选修方向

高级编程

并行编程、编译器、Haskell、Prolog、软件调试与测试

高级系统

数字电路、计算机架构、计算机组织(MIT 6.004系列)

高级理论

计算理论、计算几何、博弈论

高级信息安全

Web安全、安全治理、数字取证、安全软件开发

高级数学

线性代数、数值方法、形式逻辑、概率论

毕业项目方向

Fullstack Open、现代机器人、数据挖掘、云计算、数据科学、游戏开发

社区议题

以下是该项目当前开放的 Issue(按评论数排序),共 14 条,标题已翻译为中文供参考。

编号 议题标题(中文翻译 / 英文原文) 创建日期 评论
#1055 RFC: 移除 Cybersecurity Fundamentals from curriculum
RFC: Remove Cybersecurity Fundamentals from curriculum
2022-07-04 17
#1013 RFC: Addition of Advanced AI
RFC: Addition of Advanced AI
2022-03-26 17
#1111 RFC: Replace Stanford Databases coures with CMU 15-445/645: 数据库 Systems
RFC: Replace Stanford Databases coures with CMU 15-445/645: Database Systems
2022-12-08 13
#799 Reorganize Advanced Curriculum
Reorganize Advanced Curriculum
2020-09-27 13
#1266 RFC: Replace 6.00.1x, PY4E, and CS50P for 6.100L Introduction to CS and Programming Using Python
RFC: Replace 6.00.1x, PY4E, and CS50P for 6.100L Introduction to CS and Programming Using Python
2024-08-22 11
#930 RFC: Uphold Curricular Categories
RFC: Uphold Curricular Categories
2021-08-05 8
#1121 RFC: Fleshing out Core 安全
RFC: Fleshing out Core Security
2023-01-08 6
#1060 RFC: [OSSU Meta] Provide a "First Year Experience" that's equivalent across all OSSU programs
RFC: [OSSU Meta] Provide a "First Year Experience" that's equivalent across all OSSU programs
2022-07-13 6
#1235 RFC: Provide Organized Instruction In Professional Presentation Skills
RFC: Provide Organized Instruction In Professional Presentation Skills
2024-04-15 3
#1147 RFC: Replace Haskell CIS (2016) with MOOC variant from Aalto University
RFC: Replace Haskell CIS (2016) with MOOC variant from Aalto University
2023-03-31 4
#1364 讨论 on updating this curriculum to new CS2023 guidelines
Discussion on updating this curriculum to new CS2023 guidelines
2025-10-16 2
#1081 Addition of extra courses that students might find useful from MIT ocw. With Inforamtion about these courses and prerequisites. Graduate and undergraduate courses. Useful for people who 想要 to broaden their knowledge even if you don't 添加 it to the curriculum. (long)
Addition of extra courses that students might find useful from MIT ocw. With Inforamtion about these courses and prerequisites. Graduate and undergraduate courses. Useful for people who want to broaden their knowledge even if you don't add it to the curriculum. (long)
2022-10-06 3
#1393 Coursera "This content is outside your preview access"
Coursera "This content is outside your preview access"
2026-03-07 1
#1394 RFC: Replace Game Theory Course with Free Alternative
RFC: Replace Game Theory Course with Free Alternative
2026-03-09 0

常见问题 (FAQ)

完成 OSSU 课程后能获得学位证书吗?
OSSU 不授予正式学位或证书。但完成整个课程体系后,你将具备等同于计算机科学本科毕业生的知识水平。你可以在 LinkedIn 上添加 OSSU 的学习经历,并通过 GitHub 仓库展示你的学习进度。部分课程平台(如 Coursera、edX)提供单课程的认证证书。
需要多长时间才能完成全部课程?
如果你每周投入约 20 小时的学习时间并合理规划,大约 2 年可以完成。实际时间因人而异,取决于你的学习速度、前置知识和可用时间。使用 OSSU 提供的电子表格可以估算你的预期完成日期。
课程真的完全免费吗?
所有课程材料几乎都可以免费获取。部分课程可能需要付费才能提交作业或获取证书,但学习内容本身是免费的。Coursera 和 edX 都提供经济援助选项,帮助有需要的学习者免费获得认证。
需要什么前置知识?
开始核心 CS 课程前,你需要具备高中数学基础,包括代数、几何和预微积分。入门 CS 课程则只需要高中代数水平。如果你的数学基础不够,OSSU 也提供了预科数学的学习资源。
这个课程体系能帮我找到工作吗?
OSSU 提供的是扎实的计算机科学基础教育,而非就业培训。完成课程后,你将拥有强大的理论基础和实践能力。配合个人项目、开源贡献和面试准备,很多 OSSU 学习者成功进入了技术行业。
可以跳过已经掌握的课程吗?
可以,但建议谨慎。只有当你确信已经掌握了某门课程的全部内容时才跳过。核心 CS 部分的课程之间有较强的依赖关系,跳过基础课程可能导致后续课程学习困难。