菜单

课程结构

相关源文件

本文档详细介绍了从先修课程到最终项目完成的整个OSSU计算机科学课程的进展。它提供了课程组件如何相互连接、相互构建以形成完整计算机科学教育的高层架构视图。

有关特定课程阶段的详细信息,请参阅:先修课程计算机科学入门计算机科学核心课程计算机科学高级课程最终项目。有关课程设计原则和学术标准,请参阅课程设计原则

总体课程架构

OSSU课程遵循结构化的四年阶段进展,旨在模仿传统的本科计算机科学学位

课程进展流程

来源:README.md48-52 README.md54-56

核心计算机科学结构

核心CS阶段代表了课程的大部分内容,并遵循学科之间的特定依赖关系

核心CS依赖关系和关联

来源:README.md135-159 README.md160-177 README.md179-192 README.md193-217 README.md218-239 README.md240-262 README.md263-288 README.md289-304

课程阶段细分

先决条件

学生在开始核心CS课程之前,必须完成高中数学,包括代数、几何和预科微积分。高级系统课程还需要基础物理知识。

要求复杂度备注
数学预科微积分链接至 ossu.dev/precollege-math
物理高中水平仅限高级系统课程
编程CS入门提供入口

来源:README.md110-116

计算机科学导论

提供单课程介绍,让学生接触到基础的CS概念

课程持续时间工作量实现
MIT 6.100L 计算机科学与编程导论 (Python)14周每周6-10小时coursepages/intro-cs/README.md

来源:README.md117-130

核心计算机科学科目

核心CS阶段包含八个必须全部完成的必修科目领域

学科领域课程数量总时长关键主题
核心编程7门课程47周函数式编程、面向对象编程、设计模式、软件架构
核心数学4门课程45周微积分、离散数学、证明、统计学
CS 工具1门课程2周Shell脚本、版本控制、开发环境
核心系统4门课程30-32周计算机体系结构、操作系统、网络
核心理论4门课程16周算法、数据结构、计算复杂性
核心安全3-4门课程20-24周网络安全、安全编码、漏洞分析
核心应用6门课程25周数据库、机器学习、图形学、软件工程
核心伦理3门课程16周职业道德、知识产权、隐私

关键课程实现包括

  • 面向系统程序设计的 coursepages/spd/README.md
  • 面向《操作系统:三个易处理的部分》的 coursepages/ostep/README.md

来源:README.md133-134 README.md135-304

高级计算机科学

学生根据职业兴趣选择专业领域

专项课程选择重点领域
高级编程6门课程并行计算、编译器、函数式语言、调试
高级系统3门课程数字电路、计算机体系结构、硬件设计
高级理论3门课程形式语言、计算几何、博弈论
高级安全6门课程Web安全、取证、安全开发生命周期
高级数学5门课程线性代数、数值方法、形式逻辑、概率

来源:README.md305-401

最终项目

毕业设计要求,学生可以通过解决实际问题来展示他们的掌握程度。选项包括创建原创项目或完成结构化的专业课程,例如

  • Fullstack Open(12周,每周15小时)
  • 现代机器人技术专业课程(26周,每周2-5小时)
  • 数据挖掘专业课程(30周,每周2-5小时)

来源:README.md402-426

时长和工作量分配

时间投入概览

总预计时长:约2年,每周学习投入20小时

课程提供了一个跟踪电子表格,可根据个人学习计划进行个性化时间估算。

来源:README.md54-56 README.md64-68

学习方法和灵活性

顺序学习与并行学习选项

学生可以根据自己的学习偏好调整课程结构

方法描述推荐
顺序按列出顺序完成课程推荐给初学者
并行同时学习多门课程热门:数学课程与入门课程并行学习
灵活跳过已掌握的课程只有在确信掌握的情况下才能跳过核心CS课程

先修课程和依赖关系:课程先修课程已明确列出,以确保适当的准备。依赖结构允许一定的灵活性,同时保持学术严谨性。

来源:README.md64-68