点评一下美国大学CS系课程难选的现象

1)基本上所有学校的CS系课程,都很难选;凡是热门课程,无论你在哪个学校,选课都会爆满,waitlist会特别长。

只有少数学校的CS课程,相对好选,这些学校共同特点是CS系招收自费硕士数目比较少甚至寥寥无几。比如UIUC CS系,教授很多,能开出很多课程,但是招收的自费硕士数目少,那选课当然要容易。

另外,选上CS课程的学生,不光是CS专业,很可能会来自全校各个专业,尤其是EE专业如果自费硕士生有一定人数,他们会来抢课。

2)只要你不是CS专业的,选课上都没有优先级。

有优先级的只有CS专业,CS系首先要保证自己系的学生有课上,能按部就班的选课。
即使你就读的学校,目前在选课上没给CS专业学生优先级,将来也可能改变政策。

3)开学前大量选课、占座,临近开学再退掉,在美国学校里是常见现象。

一亩三分地论坛里,rialmat提供了2013年秋季学期哥大CS系选课的例子:“我13fall选上了一门distributed system的课, 一开始40个人満,还有20多个在waitlist上,结果到了正式选课结束,只剩15个人。”

大家通过网上系统选课,谁先点击了,谁就占上座位。但是有些人盲目点完了以后,过段时间清醒的考虑一下,比如上来就上OS这门课,作业难度太大;或者某门课程需要Java编程写作业而自己连啥是面向对象都没搞清楚,临近开学,自然就退掉了。

4)有些课程,无论在哪个学校,都是大课,都会有很多人来上。
这包括基础课程,比如数据结构(其实是本科层次的课程)、算法,也包括编程作业比较多的课程(projects写在简历里好看),比如软件工程、操作系统。另外,凡是跟机器学习、大数据等热门名词沾边的课程,也都会有很多人报名。

有这么多学生来选课,学校的政策肯定是尽量满足,而不是扼杀大家的兴趣。你不可能指望这些课程实行小班授课,一门课上只有七八个人围个小圈子,离教授如此的近以至于你可以看见他脸上的绒毛,这是不现实的。例外的情况,往往是很难的高级课程(通常要求读很多paper、学生以phd为主),或者你们系招生数目很少。

最后,大家不要拿“CS课程是否容易选”来美化或者贬斥某个学校。如果你就读的学校,ee和cs两个专业加起来每年招收至少一两百号人,那你无论去哪个学校(包括CMU),选课都会很激烈。同时,经过一个混乱的争抢过程,最终选到大体满意的课程,是常见现象。