本文档涵盖了 OSSU 项目中的核心计算机科学(Core CS)课程,这是计算机科学教育的强制性基础部分。Core CS 大致对应于本科计算机科学学位课程的前三年,涵盖了计算机科学专业学生必须学习的所有基础学科。
有关先修准备的信息,请参阅 先修课程。有关 Core CS 的入门课程的详细信息,请参阅 计算机科学导论。有关 Core CS 的进阶选修课程,请参阅 计算机科学进阶。
Core CS 分为八个必修学科领域,必须全部完成后才能进入 Advanced CS。课程设计遵循 CS2013 指南,并采用 MIT、哈佛和普林斯顿等机构的世界一流课程。
课程依赖和进展流程
核心编程轨道培养跨多个范式和语言的基础编程技能,强调函数式和面向对象两种方法。
| 课程 | 持续时间 | 关键主题 | 实现 |
|---|---|---|---|
| 系统化程序设计 | 13周 | 函数式编程,设计原则 | coursepages/spd/README.md |
| 面向类的程序设计 | 13周 | 面向对象设计 | 外部课程页面 |
| 编程语言 A/B/C | 11 周 | ML, Racket, Ruby | Coursera 专业课程 |
| 面向对象设计 | 13周 | 设计模式,UML | 外部课程页面 |
| 软件架构 | 4周 | 架构模式 | Coursera 课程 |
核心数学为计算机科学理论和应用提供了所需的数学严谨性。
数学先修课程流程
核心系统涵盖从硬件到操作系统的全栈知识,帮助理解计算机的实际工作原理。
| 层 | 课程 | 重点 | 持续时间 |
|---|---|---|---|
| 硬件 | Nand to Tetris 第一部分 | 数字逻辑,计算机架构 | 6周 |
| 软件 | Nand to Tetris 第二部分 | 虚拟机,编译器,操作系统基础 | 6周 |
| 操作系统 | OSTEP | 进程管理,内存,I/O | 10-12 周 |
| 网络 | 计算机网络 | 协议,分布式系统 | 8周 |
操作系统课程在 coursepages/ostep/README.md 提供详细的实现指导。
核心理论通过结构化的课程序列涵盖了基础算法和理论计算机科学概念。
算法课程序列
核心安全通过理论基础和实践应用,提供必要的网络安全知识。
| 组件 | 课程 | 重点 | 先决条件 |
|---|---|---|---|
| 基础 | 网络安全基础 | CIA 三要素,威胁模型 | 无 |
| 开发 | 安全编码原则 | 防御性编程 | 无 |
| 评估 | 安全漏洞 | 漏洞识别 | 无 |
| 专项 | 特定语言安全 | C/C++ 或 Java 漏洞 | 需要选择 |
核心应用将多个计算机科学学科集成到实际应用中。
应用课程结构
Core CS 假设已完成
本课程符合 CS2013 指南,该指南维护在 CURRICULAR_GUIDELINES.md,并强调
来源:README.md38-43 README.md110-116
几门复杂的课程需要详细的实现指导
课程实施支持结构
Core CS 课程托管在多个外部平台上
除非明确标明为选修,否则 Core CS 下的所有课程作业都是必需的。学生必须完成所有课程才能进入 Advanced CS。
学生通过以下方式跟踪完成情况:
课程选择遵循严格的标准,通过以下方式维护: