加州大学伯克利分校(UCB)计算机学生的课程安排

本文详细介绍了美国加州大学伯克利分校(UCB)的计算机科学(CS)课程体系,包括课程命名规则、核心课程、本科生及研究生课程分类。文章强调了不同课程系列的侧重点,如基础教育、软件、硬件、理论和应用,并提供了学习路径建议。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、UCB课程命名约定

课程采用编号+课程名表示,比如很出名的CS 61A: The Structure & Interpretation of Computer Programs,61A是课程的编号,字母A表示系列(下面会介绍),后面跟着名字。关于编号有如下约定:
0xy (e.g., 16, 61, 70) - lower-division courses,默认0是省略的,表示核心课程
1xy (e.g. 105) - upper-division courses,高阶课程
15x - Computer Architecture,计算机体系结构类课程
16x - Software,软件类课程
17x - CS Theory,计算机理论类课程
18x - CS Applications,计算机应用类课程
11x - Electromagnetics/Optics,电磁学或光学类课程
12x - Information Processing and Communication,信息处理和通信类课程
13x - Physical Electronics,物理电子类课程
14x - Integrated Circuits and Embedded Systems,集成电路和嵌入式系统类课程
19x - Special Topics, Directed Studies,特殊主题课程,指导学习

不同编号序列按照如下约定:
1xy,1开头为本科课程
2xyA is the mezzanine-level course room-shared with 1xy,和1xy课程共享教室,但内容层次更高
2xyB,研究生课程
2xyC, 2xyD…,2xy后面跟C、D…表示后续课程

从上面可以总结出,0xy是核心课程,1xy是本科课程,2xy是研究生课程。总体分为EE和CS两大类,层次分明。

二、0xy核心课程

CS61A 计算机程序的构造和解释
CS61B 数据结构
CS61C 计算机结构
CS70 离散数学和概率论

0xy系列课程重点培养学生的计算机基础、计算机科学素养和数学能力。

三、1xy本科生课程

本科生CS课程:

CS 161 计算机安全
CS 162 操作系统与系统编程
CS 164 编程语言与编译器
CS 169 软件工程
CS 170 高效算法与难题
CS 172 可计算性与复杂性
CS 174 组合数学与离散概率
CS 182 设计、可视化和理解深度神经网络
CS 186 数据库系统概论
CS 188 人工智能导论
CS 189 机器学习导论
CS C191 量子信息科学与技术

面向本科生的1xy系列课程和0xy系列核心课程有明显区别,0xy是核心基础课,1xy则针对CS不同方向开课。

四、2xy研究生课程

研究生CS课程:

CS 252 研究生计算机体系结构
CS 261 计算机系统安全
CS 261A 因特网与网络安全
CS 262A 计算机系统高级主题
CS 262B 计算机系统高级主题,对262A的延续,高级话题一门课讲不完...
CS 263 编程语言设计
CS 264 编程语言实现
CS 265 编译器优化与代码生成
CS 268 计算机网络
CS 270 组合算法与数据结构
CS 285 Deep Reinforcement Learning, Decision Making, and Control
CS 286A 数据库系统导论
CS 286B 数据库系统实现
CS 288 自然语言处理
CS 289A 机器学习导论
CS 294-112 深度强化学习
CS 294-162 机器学习系统
CS 298-015 BAIR First-year Proseminar
CS 299 个人研究

2xy系列是面向研究生的课程,部分课程名和本科课程相同,为了区别会在前面加上Graduate(研究生)或Advanced Topics(高级主题),比如CS 252. Graduate Computer Architecture。为了培养研究生论文阅读、交流讨论等能力,还开设了研讨会课程(CS 298-015 BAIR First-year Proseminar)。

五、CS的课程体系

在这里插入图片描述红色的核心课程(core),蓝色的软件课程(Software),黄色的硬件课程(Hardware),绿色的理论课程(Theory),以及紫色的应用课程(Applications);

六、学习顺序

系统学习:
推荐学习顺序:CS 61C -> CS 162 -> 细分领域比如:CS 161,CS 168,CS 186,CS 15x
课程名称:CS 61C是计算机构架(关于底层的技术基础课),CS 162是操作系统(CPU于程序之间的媒介),CS 161是计算机安全(更多关注底层的安全课题),CS 168是网络(比如网络协议),CS 186是数据库(会让你自己写一个简易版的数据库)。
教科书:写得很好,与课程不完全重复,剖析角度不同但是更全面:1)Operating Systems: Principles and Practice (2nd Edition) Anderson and Dahlin2)Recommend: Operating Systems Concepts, 9th Edition Silbershatz, Galvin, Gagne

人工智能:
推荐学习顺序:Math 54 + EE 16A(仅线性代数部分,可以跳过电路)-> Math 110 + EE 16B + CS 70 -> CS 189 -> EECS 126 + EECS 127 -> CS 182

线性代数:Math 54 + EE 16A -> Math 110 + EE 16B -> CS 189

概率:CS 70 (+ Stat 134/135) -> CS 189


参考链接:
1.https://blog.adolphlwq.xyz/how-ucb-educate-cs-students/
2.http://guide.berkeley.edu/courses/compsci/
3.https://www.zhihu.com/question/23372616/answer/679423219

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值