CMU CS 培养方案

A: CMU 的课程计算机核心课程如下

15-122 命令式语言编程 Principles of Imperative
Computation(2.5学分,没有编程基础的同学)

大多数专业生的第一门课,讲C顺带解决一大堆基本算法实现大多数简单数据结构,然后会接触很多低层细节,因为1.这玩意是C
2. 最后作业是写一个跑bytecode的VM出来
15-150 函数式语言编程 Principles of Functional
Programming(2.5学分)
函数型编程,我校著名的丧心病狂的SML系列课之一。基本就是把函数编程范式,理论加应用全来了一遍。其中顺带解决了RegExp,Alpha-Beta
Pruning, red-black tree等等。
15-210 并行/串行数据结构 Parallel and Sequential Data Structures and
Algorithms(3学分)
15-213 计算机系统基础 Introduction to Computer Systems(3学分)
15-251 计算机理论基础 Great Theoretical Ideas in Computer
Science(3学分)
这课内容甚难,力求以一周一话题的速度迅速撸过理论计算机大多数探究话题,从DFA到图灵机到Decidability到P
vs NP再到RSA,Markov Chain,基本无所不包。
15-451 算法分析与设计 Algorithm Design and Analysis(3学分)

B: 一门技术交流课程 One Communcations course

15-221 计算机科学家技术交流 Technical Communication for Computer
Scientists(2学分,相当于我们的英文写作课程,也关注口头表达)

C: 从下面选择一门算法课程

15-354 计算离散数学 Computational Discrete Mathematics(3学分)
15-355 现代计算机代数 Modern Computer Algebra(2学分)
15-453 形式化语言与自动机 Formal Languages, Automata, and
Computability(2学分)
21-301 组合数学 Combinatorics(2学分)
21-484 图理论 Graph Theory(2学分)

D: 从下面选择一门应用类课程

05-391 人机交互 Designing Human Centered Software(3学分)
05-431 用户界面 Software Structures for User Interfaces(1.5学分)
10-601 机器学习 Machine Learning(3学分)
11-411 自然语言处理 Natural Language Processing(3学分)
15-313 软件工程 Foundations of Software Engineering(3学分)
15-322 计算机音乐 Introduction to Computer Music(2学分)
15-323 计算机音乐和信息处理 Computer Music Systems and Information
Processing(2学分)
15-381 人工智能 Artificial Intelligence: Representation and Problem
Solving(2学分)
15-384 机器操作 Robotic Manipulation(3学分)
15-385 计算机视觉 Computer Vision(2学分)
15-415 数据库应用 Database Applications(3学分)
15-462 计算机图像 Computer Graphics(3学分)

E:从下面选择一门理论类课程

15-312 计算机语言基础 Foundations of Programming Languages(3学分)
15-317 构造逻辑 Constructive Logic(2学分)
15-414 计算机自动化验证 Bug Catching: Automated Program Verification and
Testing(2学分)
21-300 基本逻辑 Basic Logic(2学分)
80-311 复杂性 Computability and Incompleteness(2学分)

F:从下面选择一门软件系统类课程

15-410 操作系统 Operating System Design and Implementation(3学分)
15-411 编译器 Compiler Design(3学分)
15-418 并行体系结构与编程 Parallel Computer Architecture and
Programming(3学分)
15-440 分布式系统 Distributed Systems(3学分)
15-441 计算机网络 Computer Networks(3学分)