核心理论涵盖了计算机科学的基础理论概念,重点关注算法、数据结构和计算问题解决技术。本节是 OSSU 计算机科学课程的重要组成部分,为学生提供了设计高效计算问题解决方案所需的分析工具。
有关计算机体系结构和操作系统课程,请参阅 核心系统。有关数据库理论和实际应用,请参阅 核心应用。
来源: README.md218-239
核心理论建立在核心数学所建立的数学基础之上,并与核心编程所获得的实践技能相辅相成。它提供了分析算法效率、设计最优解决方案以及理解计算固有局限性所需的理论知识。
本节内容对于以下方面至关重要:
来源: README.md218-239 README.md32-35
课程设置图
核心理论在 OSSU 计算机科学课程中占据关键位置。它要求具备 核心数学 作为先修课程,并为包括 核心应用、核心安全 和 高级理论 在内的多个高级研究领域奠定基础。
来源: README.md92-107
核心理论部分包含四个相互关联的连续课程,每门课程侧重于不同的算法范例和问题解决技术。
Coursera 算法专业流程
来源: README.md235-239
时长:4 周
工作量:每周 4-8 小时
先修课程:任何编程语言、计算机科学数学
涵盖的主题:
来源: README.md235
时长:4 周
工作量:每周 4-8 小时
先修课程:分治法、排序和搜索以及随机算法
涵盖的主题:
来源: README.md236
时长:4 周
工作量:每周 4-8 小时
先修课程:图搜索、最短路径和数据结构
涵盖的主题:
来源: README.md237
时长:4 周
工作量:每周 4-8 小时
先修课程:贪心算法、最小生成树和动态规划
涵盖的主题:
来源: README.md238
理论概念关系图
来源: README.md220-231
| 课程部分 | 代码依赖 | 与核心理论的关联 |
|---|---|---|
核心数学 (6.042J) | 计算机科学数学 | 为算法分析和证明技术提供离散数学基础 |
| 核心编程 | 任何编程语言 | 理论算法的实现背景 |
核心系统 (OSTEP, nand2tetris) | 操作系统、计算机体系结构 | 将算法思维应用于系统级优化 |
| 核心应用 | 机器学习, 数据库, 计算机图形学 | 在应用计算领域使用理论原理 |
| 高级理论 | 计算理论, 博弈论 | 将核心理论基础扩展到专业领域 |
来源: README.md92-107
完成核心理论部分后,学生将能够:
来源: README.md220-231 README.md27-31
来源: README.md66-68 README.md78-81
对于希望深入理解理论计算机科学的学生,可以考虑以下补充资源:
| 资源类型 | 推荐 |
|---|---|
| 替代课程 | Coursera 上的“算法,第一部分”和“算法,第二部分” |
| 书籍 | 《算法导论》(CLRS),《算法设计》(Kleinberg 和 Tardos 著) |
| 练习平台 | LeetCode、HackerRank、Codeforces 算法练习平台 |
| 高级主题 | 有关更多专业理论主题,请参阅 高级理论 |
来源: README.md46 extras/courses.md
如果您在核心理论概念方面遇到困难
有关获取帮助的更多信息,请参阅 获取帮助 页面。
来源: HELP.md1-9