菜单

学习路径结构

相关源文件

本文档解释了 CS 自学指南中从基础到高级主题的计算机科学主题推荐学习顺序。它概述了学习的逻辑流程和不同学科领域之间的依赖关系,以帮助您有效地规划自学之旅。有关用于记录个别课程的具体格式的信息,请参阅课程文档格式

学习路径的目的

CS 自学指南通过精心挑选的全球顶尖大学课程,提供了一种结构化的计算机科学学习方法。该学习路径旨在

  1. 在学习高级主题之前建立基础知识
  2. 确保先修课程按逻辑顺序学习
  3. 允许根据不同的学习目标和兴趣进行灵活调整
  4. 提供多种学习相似内容的选项

来源:mkdocs.yml135-287 docs/index.md15-20

高层学习路径结构

学习路径分为层级类别,从基础知识进展到专业主题。下图说明了这种进展顺序

来源:mkdocs.yml135-287

详细学习路径类别细分

学习路径分为以下主要类别,每个类别包含特定的课程和资源

1. 准备工作和工具

在深入技术内容之前,设置学习环境和掌握生产力工具至关重要

来源:mkdocs.yml136-153 docs/index.md15-18

2. 数学基础

数学为计算机科学提供了理论基础

来源:mkdocs.yml154-165

3. 编程基础

编程技能是应用计算机科学概念的基础

来源:mkdocs.yml166-188 docs/index.md53

4. 计算机科学核心

这些学科领域代表了每位计算机科学家都应理解的基础知识

来源:mkdocs.yml189-236

5. 专项领域

这些领域允许根据兴趣和职业目标进行更深入的探索

来源:mkdocs.yml247-286

了解学科领域之间的依赖关系有助于规划有效的学习顺序。以下图表说明了推荐的学习顺序和先决条件

来源:mkdocs.yml135-287 docs/index.md51-53

类别中的课程设置

在每个类别中,本指南提供来自不同大学的多种课程选择。这允许您

  1. 根据教学风格偏好选择课程
  2. 如果某些材料不适用,选择替代方案
  3. 获取对重要主题的多种视角

例如,以下是操作系统类别中课程设置的细分

课程大学重点领域项目亮点
6.S081麻省理工学院xv6,类 Unix 操作系统在 xv6 中实现操作系统功能
CS162加州大学伯克利分校操作系统概念,设计Pintos 项目
NJUOS南京大学操作系统实现uCore 项目
哈尔滨工业大学哈尔滨工业大学操作系统内部原理自定义操作系统项目

来源:mkdocs.yml211-215

根据您的目标调整学习路径

CS 自学指南可以适应不同的职业目标和时间限制

  1. 软件工程方向:编程基础 → 数据结构与算法 → 软件工程 → Web 开发/数据库

  2. 系统方向:编程基础 → 计算机系统原理 → 计算机体系结构 → 操作系统 → 分布式系统

  3. 人工智能/机器学习方向:编程基础 → 数学基础 → 数据结构与算法 → 机器学习 → 深度学习

  4. 计算机图形学方向:编程基础 → 数学基础 → 计算机系统原理 → 图形学

来源:docs/index.md15-16 mkdocs.yml135-287

学习路径与课程内容的映射

以下图表将存储库中的特定文件路径与学习路径结构进行映射,展示了课程内容是如何组织的

来源:mkdocs.yml135-287

结论

CS 自学指南中的学习路径结构提供了一种全面、灵活的方法,通过自学来掌握计算机科学。通过遵循推荐的学习顺序,并选择符合您学习风格和目标的课程,您可以打下坚实的基础,然后专注于您最感兴趣的领域。

请记住,学习计算机科学不是严格线性的——在遇到更高级主题中的应用时,回顾基础概念通常很有用。本指南的结构支持这种迭代学习方法,同时确保您为每个新主题都具备必要的先决条件。