USC CS37 两年评价&选课介绍 【求米】

avatar 216723
x39j1017d
14175
27
还有一个月毕业,写篇CS37的院系介绍给正在申请的同学,顺便求米
随着tech行业寒冬缩招,加上USC学费持续上涨,给我的感觉是CS37的性价比预期是越来越低。也不是劝退,就是希望想通过这个项目转码的同学事先多考虑下吧

找工情况
找工这个最为关键,就放在第一点说。体感找工情况极大取决于行业状况。2021年体感来说周边同学用心准备的很多都能找到实习,具体的人数没有统计, ENGR597群里大概有200多人。
收到缩招影响,2022年找全职明显感觉难度骤增,大多数大厂都开始Hiring freeze, 秋招只能说体验极差
USC学校本身对于找工应该是无功无过,不会有光环但也不会拖后腿。体感国内所有公司都可以通过简历关,美国公司拿非白嫖OA乃至面试难度会高*很多*,经常是百投不中

课程主观评价
CS37的课程,好的方面有:必修的基础课程涵盖了关键的知识点,方便像我一样没有太多cs基础的同学快速学习来转码。许多课程会有很多实操的project/lab, 使用的语言像是C++/Java/Python,和Web会有JavaScript,方便推动自己去多写码。
至于坏的方面:有些课程的时间安排比较离谱,最早的课程例如EE450有早上8点开始的,最晚的课程比如CSCI576会有从下午6点上到晚上10点的,加上USC周边不算安全的环境,只能说大受震撼。幸好在线上课普及的不错,靠DEN和zoom直播可以一定程度避免这个问题。至于人多/选课难这些问题也算是老生常谈了,只能说是真的😅

必修
CSCI455x
课程内容很基础,如果以前有编程经验的话基本可以水过拿A,是第一学期的必修

CSCI402 操作系统
大赞!可以说是所有课程里我最喜欢的一门课。上课使用flipped classroom形式,课程内容靠看Bill的录像,线下课主要用来答疑。group project最后是给一个叫做weenix的玩具内核实现各种功能。proj如果写码不小心的话后面debug会很痛苦,但是很有成就感,也能学到像是C里的function pointer这样的知识点。workload会*很大*,推荐选之前先读下OSTEP这本教科书

EE450 网络
除了450还可以选457计算机架构,不过大多数CS37的同学选的应该都是450。这门课上的心情比较复杂,算是所有课里体验最差的一门。
450涉及到的网络相关的知识可以说是极为重要,然而个人认为这门课花了很多时间放在了Physical Layer和Data Link Layer上,Application Layer或者像是unix网络编程花的时间却又少了点。还有个槽点是完成课后习题会有额外分数,所以如果想拿好点的成绩的话就要去教授线下的office hour,然而人过多+Zahid性格有时会比较古怪,体验极差(据观察女生会比男生体验好一些
还有个槽点是期末考试时教授会在教室里四处回答问题,或者跟作弊被揪出来的学生争吵。想象下一边赶时间做计算题的同时旁边有各种杂音lol

CSCI570 算法
我选的是Victor讲的课,感觉讲的还可以。前半部分属于比较基础部分,像是DP/贪心等等。后半部分会讲些进阶的内容例如amortized cost, 网络流等。涉及到的知识点是挺重要的

选修

CSCI571 Web
上课的内容比较杂,proj是经典的前端/客户端开发,加上一点点Flask/Node.js的后端。如果以前做个人proj有过相关经验的话感觉其实可以不选这课,没有的话还是挺有帮助的。这课用的是Angular,而自学的话可以选更流行的React

CSCI572 搜索引擎
很受欢迎,比较难选上。以前帖子的评价是水课,个人体感其实还可以,上课会讲些搜索引擎相关知识,NLP和information retrival的概念。作业也会用到Hadoop和Solr。总体来说体验不错。不过似乎之后要换教授上课,所以未来这门课可能会发生变化

CSCI544 NLP
由两个教授授课,内容会有些割裂。有可能上星期讲一些基础的知识,下星期就开始介绍一些最新的进阶知识。如果事先没有相关背景的话上这门课会比较痛苦。
可以学到些NLP知识,但还是慎选

CSCI576 多媒体
内容很有意思,考试会很难不过有curve,会讲到例如图像/视频采样,编码等相关知识。比较可惜的是我上这门课的时候赶上了两次假期,导致课时好像少了一两节,没有怎么讲音频。疫情前听说能去lab参观,可惜我这届还是有疫情影响
如果以前有学过信号处理的话这门课会很对口

DSCI551
如果不想选585的话,感觉这门课会是一个好的替代,CS37可以选一门CSCI以外的课程。
这门课涉及到的内容会比较广,SQL/NoSQL, 还有Hadoop 之类的知识点都会讲。
教授讲课有时会有点断断续续,脉络有点乱,所以要自己花功夫用些其他资源来学习,但整体课程的大纲是不错的。
拿A要94分以上,考试改分也很严格,在意GPA的话慎选

CSCI591
用来凑一学分,写7篇关于讲座的reaction paper

个人理解,如果想找SDE工作的话,其实最重要的课就是必修 + 数据库相关内容,类似于544或者576的课更多是作为一个扩展。然后就是做proj和刷题了。 特别是考虑国内找工的话就算不考框架相关的八股,也一定会考基础知识。
推荐选课最好是在正式秋招开始前把必修和数据库五门课程上完,楼主现在就很后悔没有在秋招前选数据库的课导致面试遇到相关问题没答好挂了😢
27条回复