菜单

核心计算机科学

相关源文件

目的与范围

本文档涵盖了 OSSU 项目中的核心计算机科学(Core CS)课程,这是计算机科学教育的强制性基础部分。Core CS 大致对应于本科计算机科学学位课程的前三年,涵盖了计算机科学专业学生必须学习的所有基础学科。

有关先修准备的信息,请参阅 先修课程。有关 Core CS 的入门课程的详细信息,请参阅 计算机科学导论。有关 Core CS 的进阶选修课程,请参阅 计算机科学进阶

课程结构概览

Core CS 分为八个必修学科领域,必须全部完成后才能进入 Advanced CS。课程设计遵循 CS2013 指南,并采用 MIT、哈佛和普林斯顿等机构的世界一流课程。

课程依赖和进展流程

来源:README.md131-304

学科领域细分

编程基础

核心编程轨道培养跨多个范式和语言的基础编程技能,强调函数式和面向对象两种方法。

课程持续时间关键主题实现
系统化程序设计13周函数式编程,设计原则coursepages/spd/README.md
面向类的程序设计13周面向对象设计外部课程页面
编程语言 A/B/C11 周ML, Racket, RubyCoursera 专业课程
面向对象设计13周设计模式,UML外部课程页面
软件架构4周架构模式Coursera 课程

来源:README.md135-158

数学基础

核心数学为计算机科学理论和应用提供了所需的数学严谨性。

数学先修课程流程

来源:README.md160-177

系统与架构

核心系统涵盖从硬件到操作系统的全栈知识,帮助理解计算机的实际工作原理。

课程重点持续时间
硬件Nand to Tetris 第一部分数字逻辑,计算机架构6周
软件Nand to Tetris 第二部分虚拟机,编译器,操作系统基础6周
操作系统OSTEP进程管理,内存,I/O10-12 周
网络计算机网络协议,分布式系统8周

操作系统课程在 coursepages/ostep/README.md 提供详细的实现指导。

来源:README.md193-216

理论与算法

核心理论通过结构化的课程序列涵盖了基础算法和理论计算机科学概念。

算法课程序列

来源:README.md218-238

安全基础

核心安全通过理论基础和实践应用,提供必要的网络安全知识。

组件课程重点先决条件
基础网络安全基础CIA 三要素,威胁模型
开发安全编码原则防御性编程
评估安全漏洞漏洞识别
专项特定语言安全C/C++ 或 Java 漏洞需要选择

来源:README.md240-261

应用集成

核心应用将多个计算机科学学科集成到实际应用中。

应用课程结构

来源:README.md263-287

先决条件和学术标准

入学要求

Core CS 假设已完成

  • 高中数学,包括代数、几何和预备微积分
  • 计算机科学导论课程
  • 基本编程能力

学术对齐

本课程符合 CS2013 指南,该指南维护在 CURRICULAR_GUIDELINES.md,并强调

  • 开放注册课程
  • 定期可用
  • 高质量的教学
  • 与大学项目相当的学术严谨性

来源:README.md38-43 README.md110-116

课程实施细节

专门的课程页面

几门复杂的课程需要详细的实现指导

课程实施支持结构

外部平台集成

Core CS 课程托管在多个外部平台上

  • Coursera:编程语言、机器学习、安全课程
  • edX:数据库、计算机图形学、网络安全
  • MIT OpenCourseWare:数学、计算理论
  • 大学课程页面:面向对象设计、软件架构

来源:README.md150-303

评估与完成要求

强制完成政策

除非明确标明为选修,否则 Core CS 下的所有课程作业都是必需的。学生必须完成所有课程才能进入 Advanced CS。

进度跟踪

学生通过以下方式跟踪完成情况:

  • GitHub 仓库 fork 及复选框
  • Discord 社区进度分享
  • 可选电子表格时间估算工具

质量保证

课程选择遵循严格的标准,通过以下方式维护:

  • GitHub issue 上的社区反馈
  • Discord 频道讨论
  • 课程审查过程已记录在 CONTRIBUTING.md

来源:README.md64-68 README.md133 README.md448-450