本文档 catalog 了补充 OSSU 计算机科学课程的学术教科书、参考资料和基础出版物的精选集。这些读物为所有计算机科学学科提供了更深入的理论理解、替代视角和全面的参考材料。
有关核心课程之外的额外课程信息,请参阅 额外课程。有关主要课程结构和必修课程,请参阅 核心计算机科学。
推荐读物在 OSSU 生态系统中服务于多种教育功能。它们为希望探索课程未涵盖主题的学生提供补充深度,为困难的概念提供替代解释,并作为贯穿职业生涯的学习的全面参考。
该集合的组织方式与核心课程结构相呼应,并延伸到专业和高级主题。每篇读物都基于学术严谨性、可访问性和与计算机科学教育标准的关联性进行选择。
推荐的读物系统地组织起来,以适应 OSSU 课程进度和计算机科学知识领域。
阅读集中的每个学科领域都对应计算机科学教育中的基本领域,提供了入门和高级材料。
编程部分包含涵盖多种编程范式、软件工程实践和语言理论的基础性文本。
| 类别 | 关键资源 | 文件行 |
|---|---|---|
| 入门编程 | Think Python 2e, Introduction to Computation and Programming Using Python 3e | extras/readings.md14-15 |
| 函数式编程 | Structure and Interpretation of Computer Programs 2e, How to Design Programs 2e | extras/readings.md16-18 |
| 软件工程 | Clean Code, Code Complete 2e, The Pragmatic Programmer 2e | extras/readings.md22-24 |
| 编程语言 | Concepts, Techniques, and Models of Computer Programming | extras/readings.md19 |
数学部分提供了计算机科学理论和应用所必需的基本数学背景。
系统阅读集涵盖计算机体系结构、操作系统、网络和分布式系统的基础知识。
| 系统领域 | 主要资源 | 参考行 |
|---|---|---|
| 计算机体系结构 | Computer Organization and Design, But How Do It Know? | extras/readings.md47-50 |
| 操作系统 | Modern Operating Systems, Operating Systems Design and Implementation | extras/readings.md49-54 |
| 计算机网络 | Computer Networks, Computer Networking: A Top-Down Approach | extras/readings.md51-52 |
| 分布式系统 | Distributed Systems: Principles and Paradigms, Distributed Systems Reading Group | extras/readings.md53-57 |
理论部分涵盖算法、数据结构、复杂性理论和形式化方法。
应用部分涵盖数据库、机器学习、计算机图形学、编译器和软件工程方法论。
| 应用领域 | 核心文本 | 文件引用 |
|---|---|---|
| 数据库系统 | Architecture of a Database System, Database Management Systems | extras/readings.md79-83 |
| 机器学习 | An Introduction to Statistical Learning, Deep Learning, Bayesian Reasoning and Machine Learning | extras/readings.md85-87 |
| 编译器 | Compilers: Principles, Techniques, and Tools, Language Implementation Patterns | extras/readings.md88-90 |
| 软件工程 | The Mythical Man-Month, The Architecture of Open Source Applications | extras/readings.md84-91 |
这些读物根据几个关键标准进行选择,以确保它们能为不同阶段的计算机科学教育学生提供价值。
每项推荐读物都符合特定的质量和相关性标准
这些读物在课程的不同阶段服务于不同的目的
推荐的读物被策略性地整合到 OSSU 课程结构中,以提供最大的教育价值,同时避免给学生带来过重负担。
不同的读物在课程进度的特定阶段最有价值
| 课程阶段 | 推荐阅读重点 | 示例标题 |
|---|---|---|
| 先决条件 | 数学基础 | Calculus Made Easy, Discrete Mathematics: An Open Introduction |
| 核心编程 | 编程基础 | Think Python 2e, How to Design Programs 2e |
| 核心理论 | 算法与复杂性 | Introduction to Algorithms, The Algorithm Design Manual |
| 核心系统 | 系统编程 | Computer Systems: A Programmer's Perspective, Modern Operating Systems |
| 高级研究 | 专业主题 | Deep Learning, Distributed Systems Reading Group |
推荐的阅读内容旨在与学生一起成长,他们在课程中不断进步,在每个阶段提供适当的深度和复杂性。