经典书籍推荐
编程语言
- C程序设计语言
计算机系统
- 深入理解计算机系统
程序设计
- 计算机程序的构造和解释
设计模式
- 设计模式: 可复用面向对象软件的基础
算法与数据结构
- 算法导论
- 算法
计算机网络
- 计算机网络: 自顶向下方法
计算机体系结构
- 计算机体系结构: 量化研究方法
- 计算机组成与设计: 硬件/软件接口
操作系统
- 现代操作系统
- 操作系统导论
离散数学
- 离散数学及其应用
- 具体数学: 计算机科学基础
- 计算机科学中的数学
分布式系统
- 数据密集型应用系统设计
- 分布式系统: 概念与设计
数据库
- 数据库系统概念
- 数据库系统:设计、实现与管理
编译原理
- 编译原理
各校计算机专业课程体系
MIT计算机科学与工程
必修推荐课程
- 6.0001 Python计算机科学编程导论
- 6.042 计算机科学中的数学
- 6.004 计算架构
- 6.006 算法概论
- 6.009 编程基础
- 6.031 软件构建要素
- 6.033 计算机系统工程
- 6.046 算法设计与分析
进阶推荐课程
- 6.824 分布式系统
- 6.828 操作系统工程
- 6.829 计算机网络
- 6.830 数据库系统
CMU 计算机科学专业
推荐学习课程
- 15-112 编程和计算机科学基础
- 15-121 数据结构简介
- 15-122 命令式计算原理
- 15-131 计算机科学家的伟大实用思想
- 15-150 函数式编程原理
- 15-151 计算机科学的数学基础
- 15-210 并行和顺序数据结构和算法
- 15-213 计算机系统概论
- 15-214 软件构建原理:对象、设计和并发
- 15-251 理论计算机科学的伟大思想
- 15-312 编程语言基础
- 15-313 软件工程基础
- 15-319 云计算
- 15-440 分布式系统
- 15-441 计算机网络
- 15-445 数据库系统
- 15-451 算法设计与分析
Berkeley 电子工程与计算机科学
推荐学习课程
- CS61A 计算机程序的结构和解释
- CS61B 数据结构
- CS61C 计算机组成原理
- CS152/252 计算机体系结构与工程
- CS160 用户界面设计和开发
- CS161 计算机安全
- CS162 操作系统和系统编程
- CS164 编程语言和编译器
- CS168 互联网简介:架构和协议
- CS169A/L 软件工程
- CS170 高效算法和棘手问题
- CS172 可计算性和复杂性
- CS186 数据库系统简介
推荐选修课
- CS184. 计算机图形学基础
Stanford 计算机科学专业
推荐学习课程
- CS 103 计算的数学基础
- CS 106a 编程方法
- CS 106B/106X 编程抽象
- CS 107 计算机组成与系统
- CS 108 面向对象的系统设计
- CS 109 计算机科学家的概率论
- CS 110 计算机系统原理
- CS 140 操作系统
- CS 143 编译器
- CS 144 计算机网络
- CS145 数据管理和数据系统
- CS 161 算法的设计与分析
- CS 166 数据结构
- CS 244B 分布式系统
- CS 245 数据密集型系统的原理
Harvard 计算机科学专业
推荐学习课程
- CS50 计算机科学导论
- CS51 计算中的抽象与设计
- CS61 系统编程和计算机组成原理
- CS107 计算科学的系统开发
- CS120 算法、可计算性和复杂性导论
- CS121 理论计算机科学导论
- CS124 数据结构和算法
- CS141 计算硬件
- CS146 计算机体系结构
- CS152 编程语言
- CS153 编译器
- CS161 操作系统
- CS165 数据系统
推荐选修课程
- CS109 数据科学概论
Princeton 计算机科学专业
推荐学习课程
- COS126 计算机科学:跨学科方法
- COS217 编程系统导论
- COS226 算法和数据结构
- COS240 计算推理
- COS316 计算机系统设计原理
- COS318 操作系统
- COS320 编译技术
- COS326 函数式编程
- COS333 高级编程技术
- COS375 计算机体系结构和组织
- COS418 分布式系统
- COS423 算法导论
- COS425 数据库和信息管理系统
- COS432 信息安全
- COS461 计算机网络
推荐选修
- COS426 计算机图形学
- COS433 密码学
- COS436 人机交互
基础必修课
常识入门课
- 伯克利 CS10 计算之美与乐趣
- 计算机科学速成课
- MIT 计算机教育中缺失的一课
- CMU 15-131 计算机科学家的伟大实用工具
计算机导论与编程入门
- 普林斯顿 COS126 计算机科学:跨学科方法
- 哈佛 CS50X This is CS50x
- CMU 15-112 编程和计算机科学基础
- 伯克利 CS61A 计算机程序的构造和解释
- 斯坦福 CS106a 编程方法
- MIT 6.0001 计算机科学导论与Python编程
- MIT 6.009 编程基础 [×]
C++编程
- 斯坦福 CS106B/CS106X 程序抽象
数据结构与算法基础
- CMU 15-122 命令式计算原理
- 斯坦福 CS166 数据结构
- MIT 6.006 算法概论
- 伯克利 CS61B 数据结构
- 普林斯顿 COS226 算法和数据结构
- CMU 15-121 数据结构简介
进阶必修课
算法导论
- 普林斯顿 COS423 算法导论
- 哈佛 CS124 数据结构和算法[×]
- CMU 15-210 并行和顺序数据结构和算法
- CMU 15-451 算法设计与分析
- 斯坦福 CS 161 算法的设计与分析
- 伯克利 CS170 高效算法和棘手问题
- MIT 6.046J 算法设计与分析
计算机系统
- 普林斯顿 COS316 计算机系统设计原理
- 斯坦福 CS 107 计算机组成与系统
- 斯坦福 CS 110 计算机系统原理
- CMU 15-213 深入理解计算机系统
- MIT 6.004 计算架构
- MIT 6.033 计算机系统工程
- 哈佛 CS61 系统编程和计算机组成原理
- 伯克利 CS61C 计算机组成原理
操作系统
- 普林斯顿 COS318 操作系统
- 哈佛 CS161 操作系统
- 伯克利 CS162 操作系统和系统编程
- MIT 6.828 操作系统工程
- 斯坦福 CS 140 操作系统
编程语言
- 普林斯顿 COS217 编程系统导论
- 哈佛 CS152 编程语言
- CMU 15-312 编程语言基础
- 哈佛 CS51 计算中的抽象和设计
- 普林斯顿 COS326 函数式编程
- CMU 15-150 函数式编程原理
- 斯坦福 CS43 函数式编程
软件工程
- 普林斯顿 COS333 高级编程技术
- 哈佛 CS107 计算科学的系统开发
- 斯坦福 CS 108 面向对象的系统设计
- 伯克利 CS160 用户界面设计和开发
- 伯克利 CS169 软件工程
- MIT 6.031 软件构建
- CMU 15-214 软件构建原理:对象、设计和并发
- CMU 15-313 软件工程基础
专项必修课
计算机网络
- 普林斯顿 COS461 计算机网络
- 斯坦福 CS 144 计算机网络
- CMU 15-441 计算机网络
- 伯克利 CS168 互联网简介:架构和协议
- MIT 6.829 计算机网络
编译器
- 斯坦福 CS 143 编译器
- 哈佛 CS153 编译器
- 伯克利 CS164 编程语言和编译器
- 普林斯顿 CS320 编译技术
数据库
- 普林斯顿 COS425 数据库和信息管理系统
- 斯坦福 CS145 数据管理和数据系统
- CMU 15-445 数据库系统
- 哈佛 CS165 数据系统
- 伯克利 CS186 数据库系统概论
- MIT 6.830 数据库系统
可计算性
- 普林斯顿 COS240 计算推理
- 哈佛 CS120 算法、可计算性和复杂性导论
- 哈佛 CS121 理论计算机科学导论
- CMU 15-251 理论计算机科学的伟大思想
- 伯克利 CS172 可计算性和复杂性
计算机安全
- 普林斯顿 COS432 信息安全
- 伯克利 CS161 计算机安全
深入进阶必修课
高级算法
- MIT 6.851 高级数据结构
- MIT 6.854 高级算法
- MIT 6.856J 随机算法
计算机体系结构
- 普林斯顿 COS375 计算机体系结构
- 哈佛 CS141 计算硬件
- 哈佛 CS146 计算机体系结构
- 伯克利 CS152/252 计算机体系结构与工程
- 斯坦福 EE180 计算机体系结构
云计算
- CMU 15-319 云计算
分布式系统
- 普林斯顿 COS418 分布式系统
- CMU 15-440 分布式系统
- 斯坦福 CS 244B 分布式系统
- 斯坦福 CS 245 数据密集型系统的原理
- MIT 6.824 分布式系统
推荐选修课
WEB开发
- 斯坦福 CS142 Web应用程序
密码学
- 普林斯顿 COS433 密码学
- 伯克利 CS171 密码学
计算机图形学
- 普林斯顿 COS426 计算机图形
- 斯坦福 CS 148 计算机图形和成像简介
- 伯克利 CS184 计算机图形学基础
- 斯坦福 CS 248 计算机图形学导论
并行计算
- 斯坦福 CS 149 并行计算
- CMU 15-418 并行计算机体系结构和编程
游戏开发
- 斯坦福 CS 146 游戏设计与开发
人机交互
- 普林斯顿 COS436 人机交互
- 斯坦福 CS147 人机交互导论
计算逻辑
- 斯坦福 CS 157 计算逻辑
数据科学
- 哈佛 CS109 数据科学概论