分享一个CS本科生四年的选课单

w
whaled
楼主 (文学城)

一个CMU SCS 四年毕业生的选课记录。AP转了一年的学分,可以但没有提前毕业,正常进度没有超额选课。

Major:BS in Computer Science with concentration in computer graphics 

Minor: in Machine Learning.

COURSE NAME NUMBER UNITS Course Cat
PRIN IMPRTV COMPTATN 15-122 A 10 CS CORE
PRIN FNCTIONL PRGMMG 15-150 A 10 CS CORE
INTR CMPUTER SYSTEMS 15-213 H 12 CS CORE
PRL SEQ DATA STR ALG 15-210 B 12 CS CORE
COMPTN PGMG PBL SLVG 15-295 A 5 CS CORE
COMPUTER GRAPHICS 15-462 A 12 CS GRAPHICS
PHYSICS-BASED REN 15-468 A 12 CS GRAPHICS
COMPUTATNL PHOTGRPHY 15-463 A 12 CS GRAPHICS
COMPTR GAME PROGRMNG 15-466 A 12 CS GRAPHICS
INTRO. DEEP LEARNING. 11-485 B 9 CS Machine Learning
MACHINE LEARNING 10-315 F 12 CS Machine Learning
AI Representation & PRB Solving 15-281 A 12 CS Machine Learning
Deep Reinforcement Learning & Control 10-703 12 CS Machine Learning
Convex Optimization 10-725 12 CS Machine Learning
BUG CATCHING 15-414 A 9 CS Prog LANG
OP SYS DESIGN & IMPL 15-410 A 15 CS SYSTEM
Parallel COMP ARC & PGMG 15-418 A 12 CS SYSTEM
COMPILER DESIGN 15-411 A 15 CS SYSTEM
UG COMPLEX THEORY 15-455 A 9 CS THEORY
ALGORITHM DESIGN & ANLS 15-451 E 12 CS THEORY
MATH FOUNDATIONS CS (Intro to Proof) 15-151 C 10 MATH
GRT IDEAS THERTCL CS (Descrete Math) 15-251 A 12 MATH
PROBABILITY & COMPTG 15-259 C 12 MATH
STATISTICS AND COMPT 15-260 A4 3 MATH
MATRC & LINR TRNSF 21-241 K 10 MATH
VECTOR ANALYSIS 21-269 A 10 MATH
COMBINATORICS 21-301 A 9 MATH
ALGEBRAIC STRUCTURES 21-373 A 9 MATH
PUTNAM SEMINAR 21-295 B 3 MATH
GREAT PRAC IDEAS CS 07-131 A 2 Prep CS
DISCRETE MATH PRIMER 15-051 A1 1 Prep CS
CMPTNG CARNEGIE MELL 99-101 X1 3 Prep CS
FRSHMN IMGRATN COURS 07-128 A 1 SCI/LIB General Ed
INTRO JAP LANG/CULT 82-273 A 9 SCI/LIB General Ed
WRTG ABOUT DATA 76-107 D1 4.5 SCI/LIB General Ed
WRTG ABT PUB PROBS 76-108 E2 4.5 SCI/LIB General Ed
NATURE OF LANGUAGE 80-180 B 9 SCI/LIB General Ed
EXPERIMNTL PHYSICS 33-104 B 9 SCI/LIB General Ed
PRINCPLES OF MICROEC 73-102 H 9 SCI/LIB General Ed
WRITNG FOR PROFSNS 76-270 G 9 SCI/LIB General Ed
QNTV CL MLC BLG LAB 02-261 B 9 SCI/LIB General Ed
INTRO TO PSYCHOLOGY 85-102 G 9 SCI/LIB General Ed
Total   383
青裁
没计算机网络?
兔8
像是focus在graphics上,这倒是cmu的强项
w
whaled
不是必修
青裁
一般是看总学分,每个类别都会有要求至少一门或者两门课
青裁
这不是必修有点不太合理,计算机网络是CS专业四大基石之一
M
Midwestrural
我们州大是有一定数目的核心必修课程和选修课程。
w
whaled
都有要求,一般有专业core和选修课的要求。
w
whaled
很多孩子选课很随意,学院也没要求,所以很乱。
w
whaled
可能瞄着VR和meta verse
k
kevin2018
Putnam Seminar

w
whaled
挺复杂的,有专业core,elective,breadth from each other tracks,etc
l
ltb72
为什么一门计算机语言课都没有。至少应该有汇编,C或者Java。
w
whaled
只占1/3 或1/4 门课的量,被紫檀砸的鼻青脸肿 lol
w
whaled
15122是OO,150 是functional, 213 cover汇编
青裁
哈哈,按照培养找工作的目标:一是语言,而是数据结构和算法,三是Linux….好像coverage 也不全
w
whaled
这些课都是language/platform agnostic。但你说的做project都会用到的。
M
Midwestrural
现在好像没有单独教语言的课程了,我们州大好像不同的课程要求不同的语言,主要靠自学了,从简单的开始。。哈哈

我娃好像课程的进度要求是从PYTHON, 然后JAVA,然后C。。中间也学了汇编。。

M
Midwestrural
一开始上C是比较难,我娃大概二年级才用的C。你们草割的凶。。哈哈
M
Midwestrural
我们州大不直接录取进CS, 一年级结束才来择优录取,估计不用费劲割草了。。哈哈,狡猾狡猾的。。

现在计算机系是工程学院最大的系, 每年毕业五百多人。。

l
ltb72
如果要是高中没有编程基础,这大学能跟上吗?Java和C的概念还是有难度的.
w
whaled
可以,中学学过语言的能skip一些课。没学过的从更基础的课开始。
M
Midwestrural
我娃就没有高中编程的基础,不用担心了。。。
l
ltb72
我的意思是上的话,能在大学survive 吗?这得多大的天赋如果高中编程零基础
w
whaled
学生间差异很大。学校会尽量accommodate各种水平的学生。
成功的熊
有基础的和没基础的会选不同的课。没基础和没基础的一起上课,不用担心。
成功的熊
没准是Putnam HM的牛蛙呢。
米汤
看到bug catching, 查了一下,原来是程序正确性

https://www.cs.cmu.edu/~15414/

w
whaled
这门课名字很misleading。其实好像跟logic和verification有关。
兄贵
没有OO内容


 

兄贵
有几位抱怨课程不全。相反这个课程超过了全。要求只需一门小专业,但这成绩单满足ML,Sys,图形3个小专业
B
BeagleDog
不知course的number是怎么组成的。是不是前面的两个digits代表开课的系,后面的三个digits代表课程的难

易程度?看到除了一些number 400的课程,还修了两门number700的课程。我当年在美读书时,number400的课程,是本科高年级修的课程,也有研究生低年级学生。number700一般没有本科生修。

w
whaled
应该你是对的
兄贵
网络属于6门系统课之一,只需选一门即可。该成绩单已经有3门系统课。离系统专业仅差一门

网络属于6门系统课之一,只需选一门即可。该成绩单有3门系统课。

6门系统课:

Operating System Design and Implementation
Compiler Design
Parallel Computer Architecture and Programming
Distributed Systems
Networking and the Internet
Database Systems

最难的是 OS和Compiler,最有用的是 Database 和 Distributed System

没有一个大学要求门门都学。MIT好像根本没有OS和Compiler了

 

w
whaled
前两位是专业,后面是年级和课号

很多本科400和研究生课700是同一门课,listing编号不同而已。

本科选700号的如果

读fifth year master,可以从本科carry三门课。

兄贵
语言逻辑课. bug是指软硬件系统设计中的逻辑错误