计算机科学的概念图

来源:微信公众号“大学计算机基础

最近构建一张关于计算机科学与技术专业课程的 Concept Map,发现可以从数学课程开始构建这个专业的知识体系,删除了部分自己不感兴趣的课程(网络、数据库、游戏等),从而作出了如下的课程安排,以下学习顺序与大多数高校的课程设置有很大不同,也并不适合完全没有编程基础的同学自学,但非常适合有一定编程基础且想要系统掌握该学科知识体系的同学,从而做到知其然也知其所以然。

## 集合论

- Set Theory [Kenneth Kunen]

- Set Theory [Thomas Jech]

- 集合论:对无穷概念的探索 [郝兆宽]

## 图论

- Graph Theory [Adrian Bondy, U. S. R. Murty]

- 图论 [王树禾]

## 数理逻辑

- Logic for Applications (应用逻辑) [Anil Nerode, Richard Shore]

- A Mathematical Introduction to Logic (数理逻辑) [Herbert B. Enderton]

- 数理逻辑 [汪芳庭]

## 电工电子学

- 电工学简明教程 [秦曾煌]

------

## 拓扑学

- Basic Topology (基础拓扑学) [M. A. Armstrong]

- Topology (拓扑学) [James R. Munkres]

## 组合学

- Discrete Mathematics and Its Applications (离散数学及其应用) [Kenneth H. Rosen]

- Introductory Combinatorics (组合数学) [Richard A. Brualdi]

- Concrete Mathematics : A Foundation for Computer Science (具体数学:计算机科学基础) [Ronald L. Graham, Donald E. Knuth, Oren Patashnik]

## 计算理论

- Introduction to the Theory of Computation (计算理论引导) [Michael Sipser]

## 数字逻辑电路

- 数字电路基础 [阎石]

------

## 形式语言与自动机

- An Introduction to Formal Languages and Automata (形式语言与自动机导论) [Peter Linz]

- Introduction to Automata Theory, Languages, and Computation (自动机理论、语言和计算导论) [John E. Hopcroft]

## 可计算性理论

- Computability and Logic (可计算性与数理逻辑) [George S. Boolos]

## 计算复杂性理论

- Computational Complexity : A Modern Approach [Sanjeev Arora, Boaz Barak]

## 计算机组成原理

- Computer Organization and Design : The Hardware/Software Interface (计算机组成与设计:硬件/软件接口) [David A. Patterson, John L. Hennessy]

------

## 形式语用学

- Programming Language Pragmatics (程序设计语言:实践之路) [Michael L. Scott]

## 形式语义学

- The Formal Semantics of Programmin (程序设计语言的形式语义) [Glynn Winskel]

## 编译原理

- Compilers, Principles, Techniques and Tools (编译原理) [Alfred V. Aho, Monica S. Lam, Ravi Sethi, Jeffrey D. Ullman]

- Modern Compiler Implementation in C (现代编译原理:C 语言描述) [Andrew W. Appel]

- Advanced Compiler Design and Implementation (高级编译器设计与实现) [Steven S. Muchnick]

## 微机原理

- 微机原理与接口技术 [孟虎]

## 计算机体系结构

- Computer Architecture : A Quantitative Approach (计算机体系结构:量化研究方法) [John L. Hennessy, David A. Patterson]

------

## 程序设计语言

- Thinking in Java (Java 编程思想) [Bruce Eckel]

- CLR via C# [Jeffrey Richter]

- The C Programming Language (C 程序设计语言) [Brian W. Kernighan]

- The Standard C Library (C 标准库) [P. J. Plauge]

- C Programming : A Modern Approach (C 语言程序设计:现代方法) [K. N. King]

- C Interfaces and Implementations : Techniques for Creating Reusable Software (C 语言接口与实现) [David R. Hanson]

- C++ Primer [Stanley B. Lippman]

- The C++ Programming Language (C++ 程序设计语言) [Bjarne Stroustrup]

- The C++ Standard Library : A Tutorial and Reference (C++ 标准库) [Nicolai M. Josuttis]

- STL 源码剖析 [侯捷]

- Effective C++ [Scott Meyers]

- More Effective C++ [Scott Meyers]

- Effective STL [Scott Meyers]

- Effective Modern C++ [Scott Meyers]

- Inside the C++ Object Model (深度探索 C++ 对象模型) [Stanley B. Lippman]

- Modern C++ Design : Generic Programming and Design Patterns Applied (C++ 设计新思维) [Andrei Alexandrescu]

- Python Cookbook [Alex Martelli]

- The Python Standard Library by Example (Python 标准库) [Doug Hellmann]

- Python 源码剖析 [陈儒]

## 数据结构与算法

- Introduction to Algorithms (算法导论) [Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein]

- The Art of Computer Programming (计算机程序设计艺术) [Donald E. Knuth]

- Data Structures and Algorithm Analysis in C++ (数据结构与算法分析:C++ 语言描述) [Mark Allen Weiss]

## 算法分析与设计

- Introduction to the Design and Analysis of Algorithms (算法设计与分析基础) [Anany Levitin]

- Algorithmic Puzzles (算法谜题) [Anany Levitin, Maria Levitin]

## 汇编语言

- 汇编语言 [王爽]

## 操作系统

- Modern Operating System (现代操作系统) [Andrew S. Tanenbaum]

- Operating Systems : Internals and Design Principles (操作系统:精髓与设计原理) [William Stallings]

- Understanding the Linux Kernel (深入理解 Linux 内核) [Daniel P. Bovet, Marco Cesati]

- Linux Kernel Development (Linux 内核设计与实现) [Robert Love]

- Programming Applications for Microsoft Windows (Windows 核心编程) [Jeffrey Richter]

-----------------------------------------------------------------------------------------------------------------------

## 线性代数

- 线性代数 [李尚志]

- 高等代数简明教程 [蓝以中]

- Linear Algebra Done Right (线性代数应该这样学) [Sheldon Axler]

- Introduction to Linear Algebra (线性代数导论) [Serge Lang]

- Linear Algebra and Its Applications (线性代数及其应用) [David C. Lay]

- Introduction to Linear Algebra [Gilbert Strang]

- Linear Algebra and Its Applications [Gilbert Strang]

## 数学分析

- 简明微积分 [龚昇]

- 数学分析新讲 [张筑生]

- Thomas' Calculus (托马斯微积分) [George B. Thomas]

- 数学分析 [卓里奇]

- 数学分析习题集 [吉米多维奇]

- Mathematical Analysis (数学分析) [Tom M. Apostol]

- Mathematical Analysis [Vladimir A. Zorich]

- Principles of Mathematical Analysis (数学分析原理) [Walter Rudin]

## 概率论

- A First Course in Probability (概率论基础教程) [Sheldon M. Ross]

- 概率论 [苏淳]

- 概率论与数理统计 [陈希孺]

- 概率论与数理统计教程 [茆诗松]

## 数理统计

- 数理统计学简史 [陈希孺]

- 数理统计学教程 [陈希孺]

- Introduction to Mathematical Statistics (数理统计学导论) [Robert V. Hogg, Allen T. Craig, Joseph W. McKean]

- All of Statistics (统计学完全教程) [Larry Wasserman]

- 数理统计 [韦来生]

------

## 矩阵论

- 线性代数与矩阵论 [许以超]

- 矩阵论 [方保镕]

- Matrix Analysis (矩阵分析) [Roger A. Horn]

## 常微分方程

- 常微分方程 [阿诺尔德]

## 实变函数

- 实变函数论 [那汤松]

## 复变函数

- 复变函数 [严镇军]

- 复变函数论方法 [拉夫连季耶夫, 沙巴特]

## 随机过程

- 随机过程 [伊藤·清]

- Stochastic Processes (随机过程) [Sheldon M. Ross]

- Introduction to Probability Models (应用随机过程:概率模型导论) [Sheldon M. Ross]

## 回归分析

- 回归分析 [谢宇]

## 运筹学

- Introduction to Operations Research (运筹学导论) [Frederick S. Hillier]

------

## 偏微分方程

- Basic Partial Differential Equations (基础偏微分方程) [David Bleecker]

- Partial Differential Equations [Lawrence C. Evans]

## 实分析

- 陶哲轩实分析 [陶哲轩]

- Real Analysis [Halsey L. Royden]

- Real Analysis : Measure Theory, Integration, and Hilbert Spaces [Elias M. Stein, Rami Shakarchi]

## 复分析

- 简明复分析 [龚昇]

- Complex Analysis (复分析) [Lars V. Ahlfors]

- Complex Analysis [Elias M. Stein]

## 数值分析

- Numerical Analysis (数值分析) [Timothy Sauer]

## 最优化理论

- 最优化理论与方法 [袁亚湘]

- 最优化理论与算法 [陈宝林]

- 非线性优化计算方法 [袁亚湘]

- Nonlinear Programming (非线性规划) [Dimitri P. Bertsekas]

- Convex Optimization (凸优化) [Stephen Boyd, Lieven Vandenberghe]

- Numerical Optimization (数值最优化) [Jorge Nocedal, Stephen Wright]

## 多元统计分析

- 多元统计分析 [王静龙]

- 实用多元统计分析 [管宇]

- Applied Multivariate Statistical Analysis (实用多元统计分析) [Richard A. Johnson]

------

## 泛函分析

- 实变函数论与泛函分析 [夏道行, 吴卓人, 严绍宗, 舒五昌]

- Introductory Functional Analysis with Applications [Erwin Kreyszig]

- Functional Analysis (泛函分析) [Walter Rudin]

## 测度论

- 测度论讲义 [严加安]

- Measure Theory (测度论) [Paul R. Halmos]

## 数学模型

- Mathematical Modeling (数学建模方法与分析) [Mark M. Meerschaert]

- A First Course in Mathematical Modeling (数学建模) [Frank R. Giordano, William P. Fox, Maurice D. Weir]

## 机器学习

- 机器学习 [周志华]

- Computational Intelligence : An introduction (计算智能导论) [Andries P. Engelbrecht]

- 统计学习方法 [李航]

- The Nature of Statistical Learning Theory (统计学习理论的本质) [Vladimir N. Vapnik]

- 支持向量机:理论、算法与拓展 [邓乃扬, 田英杰]

- Machine Learning (机器学习) [Tom M. Mitchell]

- Machine Learning in Action (机器学习实战) [Peter Harrington]

- Pattern Classification (模式分类) [Richard O. Duda]

- Pattern Recognition And Machine Learning [Christopher M. Bishop]

- The Elements of Statistical Learning [Trevor Hastie, Robert Tibshirani, Jerome Friedman]

- Machine Learning : A Probabilistic Perspective [Kevin P. Murphy]

- Probabilistic Graphical Models : Principles and Techniques (概率图模型:原理与技术) [Daphne Koller, Nir Friedman]

## 电路分析

- 电路原理 [江缉光, 刘秀成]

- Introductory Circuit Analysis (电路分析导论) [Robert L. Boylestad]

------

## 信号与系统

- 信号与系统 [郑君里]

- Signals and Systems (信号与系统) [Alan V. Oppenheim, Alan S. Willsky]

## 数字信号处理

- 数字信号处理:理论、算法与实现 [胡广书]

- Digital Signal Processing : A Practical Guide for Engineers and Scientists (实用数字信号处理:从原理到应用) [Steven W. Smith]

- Discrete-Time Signal Processing (离散时间信号处理) [Alan V. Oppenheim, Ronald W. Schafer, John R. Buck]

## 数字图像处理

- Digital Image Processing (数字图像处理) [Kenneth R. Castlema]

- Digital Image Processing (数字图像处理) [Rafael C. Gonzalez, Richard E. Woods]

## 计算机图形学

- The Nature of Code (代码本色:用编程模拟自然系统) [Daniel Shiffman]

- Fundamentals of Computer Graphics (计算机图形学) [Peter Shirley, Michael Ashikhmin, Steve Marschner]

- Computer Graphics : Principles and Practice in C (计算机图形学原理及实践:C 语言描述) [James D. Foley, Andries van Dam, Steven K. Feiner, John F. Hughes]

- Physically Based Rendering [Matt Pharr, Greg Humphreys]

- OpenGL Programming Guide (OpenGL 编程指南) [Dave Shreiner]

------

## 认知神经科学

- Principles of Neural Science (神经科学原理) [Eric R. Kandel]

- Cognitive Neuroscience : The Biology of the Mind (认知神经科学:关于心智的生物学) [Michael S. Gazzaniga, Richard B. Ivry, George R. Mangun]

- The Quest for Consciousness : A Neurobiological Approach (意识探秘:意识的神经生物学研究) [Christof Koch]

- Theoretical Neuroscience : Computational and Mathematical Modeling of Neural Systems [Peter Dayan, Laurence F. Abbott]

- 视觉信息处理的脑机制 [寿天德]

- Neuronal Dynamics : From single neurons to networks and models of cognition [Wulfram Gerstner, Werner M. Kistler, Richard Naud, Liam Paninski]

## 神经网络

- Neural Networks : A Comprehensive Foundation (神经网络原理) [Simon O. Haykin]

- Neural Networks and Learning Machines (神经网络与机器学习) [Simon O. Haykin]

- Neural Networks for Applied Sciences and Engineering (神经网络在应用科学和工程中的应用) [Sandhya Samarasinghe]

- Neural Network Design (神经网络设计) [Martin T. Hagan]

- Parallel Distributed Processing [David E. Rumelhart, James L. McClelland]

- Deep Learning [Ian Goodfellow, Yoshua Bengio, Aaron Courville]

- Learning Deep Architectures for AI [Yoshua Bengio]

## 计算机视觉

- Concise Computer Vision : An Introduction into Theory and Algorithms [Reinhard Klette]

- Computer Vision : A Modern Approach (计算机视觉:一种现代方法) [David A. Forsyth, Jean Ponce]

- Computer Vision : Algorithms and Applications (计算机视觉:算法与应用) [Richard Szeliski]

- Multiple View Geometry in Computer Vision (计算机视觉中的多视图几何) [Richard Hartley]

- 计算机视觉中的数学方法 [吴福朝]

- Learning OpenCV : Computer Vision with the OpenCV Library (学习 OpenCV) [Gary Bradski, Adrian Kaebler]

--------------------------------------------------------------------------------------------------------------------------------------------

## 其他

- Code : The Hidden Language of Computer Hardware and Software (编码:隐匿在计算机软硬件背后的语言) [Charles Petzold]

- Computer Science : An Overview (计算机科学概论) [J. Glenn Brookshear]

- Structure and Interpretation of Computer Programs (计算机程序的构造和解释) [Harold Abelson, Gerald Jay Sussman, Julie Sussman]

- Computer Systems : A Programmer's Perspective (深入理解计算机系统) [Randal E. Bryant]

- Artificial Intelligence : A Modern Approach (人工智能:一种现代方法) [Stuart J. Russell, Peter Norvig]

- On Intelligence (人工智能的未来) [Jeff Hawkins, Sandra Blakeslee]

- Introduction to Data Mining (数据挖掘导论) [Pang-Ning Tan, Michael Steinbach, Vipin Kumar]

- Refactoring : Improving the Design of Existing Code (重构:改善既有代码的设计) [Martin Fowler]

- CUDA by Example : An Introduction to General-Purpose GPU Programming (GPU 高性能编程 CUDA 实战) [Jason Sanders, Edward Kandrot]

- The CUDA Handbook : A Comprehensive Guide to GPU Programming (CUDA 专家手册:GPU 编程权威指南) [Nicholas Wilt]

微信公众号微信公众号