制作涵盖典型CS本科生主题的书籍清单

时间:2014-09-08 16:32:34

标签: computer-science

我想在材料中涵盖相当于典型的CS本科课程,所以我正在制作一系列书籍来涵盖典型的主题。我将列表分成了一些主题,从我做过的研究中,我认为是强制性的和可选的。我想帮助确认主题是否正确分割,以及书籍是否正确。另外,如果我遗漏了任何重要的主题,或者是否超出了本科水平,请告诉我。

感谢您的时间!

关于暂停状态的编辑:我不相信这个问题是偏离主题的,因为我不是要求推荐书籍 - 我问的是我列出的主题是否表示典型的CS课程,如果缺少任何重要的主题。书籍链接仅在我选择的书籍不适合该主题的情况下,并且可以在必要时删除。


强制

操作系统:Operating System Concepts

网络:Computer Networking: A Top-Down Approach

离散数学:Concrete Mathematics

数据结构和算法:Introduction to Algorithms

计算机架构:Computer Systems: A Programmer's Perspective

自动机理论:Introduction to the Theory of Computation

编译器:通过龙书向我推荐Engineering a Compiler

数据库理论:An Introduction to Database Systems

编程语言概念和设计:Programming Language Pragmatics

OPTIONAL

密码学:Cryptography Engineering: Design Principles and Practical Applications

功能编程:Learn You a Haskell for Great Good!

人工智能:Artificial Intelligence: A Modern Approach

计算机图形:Real-Time Rendering

1 个答案:

答案 0 :(得分:0)

您的名单非常适合与计算机科学直接相关的科目。但是,数学很轻松。在我自己的B.Sc.在计算机科学中我也有大量的微积分,线性代数,代数(群,环等),统计,解析几何和数值分析。计算机科学的一些应用严重依赖于那些:

  • 机器学习取决于许多线性代数,微积分和统计学;
  • 计算机图形学很大程度上依赖于解析几何和线性代数;
  • 科学计算依赖于微积分和数值分析。

我从未使用过大量的代数,但我听说它对密码学非常重要。 : - )

对于开发更多常规应用程序的程序员来说,您的列表非常好,但对于那些对这些更专业领域感兴趣的人(这仍然非常重要),这些主题非常重要。