卡内基梅隆大学的计算机科学专业本科课程将扎实的计算机科学核心课程与第二专业选修课程相结合,让你能够在学习计算机核心知识和技能的同时,有机会探索与计算机紧密相关的许多不同领域的学科。同时,数学和概率课程能够确保你拥有与时俱进的专业工具,以应对技术和系统的变化,此外你还可以通过参与以项目为导向的强化课程,深入了解构建和维护系统的实际问题。为了帮助你更好地进行课程规划,我们将简要说明卡内基梅隆大学计算机专业的课程设置,详情如下。
一、课程示例
二、课程设置
1、计算机科学核心课程(以下所有课程):
07-128 第一年移民课程
15-122 命令式计算原理
(未修读15-112(编程和计算机科学基础)或未获豁免的学生必须在修读15-122之前修读15-112) 12
15-150 函数式编程原理
15-210 并行和顺序数据结构与算法
15-213 计算机系统导论
15-251 理论计算机科学中的伟大思想
15-451 算法设计与分析
2、一门人工智能选修课(至少9个学分)。学生将能够使用人工智能技术解决复杂的现实问题,包括符号和概率推理、机器学习、优化和感知。
10-315 机器学习导论(SCS专业)
11-411 自然语言处理
11-485 深度学习导论
15-281 人工智能:表示与问题求解
15-386 神经计算
16-384 机器人运动学与动力学
16-385 计算机视觉
3、一门Domains选修课程(至少9个学分)。学生将从计算机科学中尚未被其他限制性类别涵盖的广泛领域中学习基本原理,目前包括逻辑与语言、系统以及人工智能(包括机器学习、语言技术和机器人技术)。学生将能够把计算机科学核心课程中的理论和计算技术应用于计算机科学另一个主要领域的入门研究。
02-251 计算生物学中的伟大创意
05-391 以人为中心的软件设计
11-324 人工智能的人类语言
15-322 计算机音乐概论
15-330 计算机安全概论
15-362 计算机图形学
15-455 本科复杂性理论
17-313 软件工程基础
4、一门逻辑/语言选修课(至少9个学分)。学生将掌握以逻辑学为基础的严谨、正式的编程或系统推理技巧。
15-311 逻辑与机械化推理
15-312 编程语言基础
15-316 软件安全与隐私基础
15-317 构造逻辑
15-414 错误捕捉:自动程序验证
17-355 程序分析
17-363 编程语言实用主义
80-413 范畴论
5、一门软件系统选修课(至少12个学分)。学生将:1. 能够描述现代硬件的特性(例如处理器架构、网络、存储)如何影响软件系统的设计和实现,例如通过推理并发性和性能。2. 能够分析物理系统的故障和/或资源限制,并制定缓解或管理计划。3. 能够基于较低级别的原语开发抽象,以管理硬件使用中固有的故障或其他困难。4. 通过重要的项目/系统实施来展示学习成果,这些项目/系统需要特定的课程知识以及一般的系统构建技能(即不仅包括编程,还包括设计、调试、测试等)。编程任务占课程总成绩的很大一部分(例如40%或以上)。
15-410 操作系统设计与实现
15-411 编译器设计
15-418 并行计算机体系结构和编程
15-440 分布式系统
15-441 网络和互联网
15-445 数据库系统
6、数学
以下所有数学课程:
15-151 计算机科学数学基础(如未开设,则用21-127或21-128替代)
21-120 微积分
21-122 积分与逼近
21-241 矩阵与线性变换 或 21-242 矩阵理论
21-259 三维微积分 或 21-266 计算机科学矢量微积分 或 21-268 多维微积分 或 21-269 矢量分析
以及以下四门概率学课程中的一门:
15-259 概率与计算
21-325 概率
36-218 计算机科学家的概率论
36-225-36-226 概率论导论——统计推断导论(必须按顺序修完这两门课程才能满足要求)
7、技术交流
一门技术交流课程:
07-300 计算机科学的研究与创新
17-200 计算中的伦理和政策问题
76-270 专业写作
8、卡内基梅隆大学计算机课程(1门课程)
以下课程是所有学生必修的,旨在让学生熟悉校园计算机环境:
99-101 Core@CMU
除此之外,学生还可以选择自由选修课程。自由选修课程是指卡内基梅隆大学的任何课程。不过,选择这些课程需要遵循一定的要求。
如果你在选课或课程学习方面遇到问题,海师帮能够立即为你提供一对一卡内基梅隆大学课程辅导和帮助。通过有针对性的学习指导,你将更好地规划课程学习方案,并充分掌握课程重点难点内容,从而在课程中有更好的表现。