本文档概述了开始OSSU计算机科学课程之前所需的学术先决条件,以及课程内部各科目之间的先决条件依赖关系。有关满足先决条件后如何开始课程的信息,请参阅入门指南。有关课程中第一批科目的详细信息,请参阅计算机科学导论。
在开始OSSU课程的任何学习之前,学生必须完成特定的基础知识领域。这些入学先决条件确保学生具备在计算机科学课程中取得成功所需的数学和学术背景。
高中数学是OSSU课程的主要入学要求。这包括
缺乏此数学背景的学生,应在开始核心计算机科学(Core CS)之前完成OSSU大学预科数学课程。
一门基础物理课程(相当于高中AP物理)是专门为计划学习高级系统课程的学生所必需的。核心计算机科学(Core CS)或其他高级计算机科学(Advanced CS)领域不需要此项。
开始OSSU课程不需要预先具备编程经验。计算机科学导论部分为具有不同编程背景的学生提供了替代的入学途径。
入学先决条件流程图
来源: README.md110-116 README.md129 README.md352-356
OSSU课程包含广泛的科目间先决条件依赖关系。这些依赖关系确保学生逐步积累知识,并为学习高级主题奠定必要的基础。
核心计算机科学(Core CS)课程按主题领域组织,具有顺序和并行依赖关系
核心计算机科学(Core CS)先决条件依赖关系
来源: README.md150-158 README.md171-176 README.md211-216 README.md233-238
高级计算机科学(Advanced CS)课程要求完成整个核心计算机科学(Core CS)课程以及额外的特定先决条件
| 高级领域 | 核心计算机科学(Core CS)要求 | 附加先决条件 |
|---|---|---|
| 高级编程 | 所有核心计算机科学课程 | 特定语言经验(Scala、Python等) |
| 高级系统 | 所有核心计算机科学课程 | 基础物理课程 |
| 高级理论 | 所有核心计算机科学课程 | 扎实的数学基础 |
| 高级安全 | 所有核心计算机科学课程 | 完成核心安全 |
| 高级数学 | 所有核心计算机科学课程 | 完成微积分系列课程 |
来源: README.md305-310 README.md115
课程中的各个科目都有特定的先决条件,这些条件构成了依赖链。这些都记录在主课程的各科目表格中。
有几门课程作为其他多门课程的先决条件,在课程中造成了潜在的瓶颈
关键先决条件依赖关系
来源: README.md152-158 README.md176 README.md215 README.md235-238
OSSU课程不会自动强制执行先决条件。学生有责任在开始课程之前确保他们满足先决条件。课程提供了几种机制来帮助学生评估他们的准备情况
对于缺少特定先决条件的学生
| 缺少的先决条件 | 建议的准备 |
|---|---|
| 高中数学 | OSSU大学预科数学 |
| 编程经验 | 从《编程导论》课程开始 |
| 基础物理 | 完成AP物理或同等课程 |
| 特定课程先决条件 | 完成列出的先决条件课程 |
来源: README.md112 README.md129 coursepages/intro-cs/README.md
先决条件结构为课程完成创建了最短时间线。学生在规划学习时必须考虑先决条件完成所需的时间