小众学校 NCSU MCS 就读体验

avatar 504238
parklh
25383
70
选校和找工的时候在地里获取了很多有用的信息,趁着刚毕业,在这里总结一下在NCSU的经历,也顺便安利一波NCSU。

1. 背景

本人是985天坑专业转码,申请的时候GPA 83/100,托福98(Mybest Scores: 100), GRE 152+170+3.5。 但是也不属于零基础,毕业前火速在本校完整修完了计算机专业的所有必修科目,还有三个月的短暂Java实习。

2. 选课
毕业需要修10门课,一般四学期毕业就是3+3+3+1,三学期毕业就是3+3+4。


21 FALL
CSC 505: Design and Analysis Of Algorithms, Instructor: Heber,Steffen
强烈推荐。这应该是对于找工帮助最大的一门课了,老师是德国人,英语略有口音,但是讲的非常好。有两次期中和一次期末,考试占比70%,没有组队project,只有个人homework。如果本科学过数据结构与算法或者数学能力较强,这门课workload其实不算太大,但是相比其他课,505肯定属于一门要花也值得花更多时间的课。最后能否拿A,取决于你的考试成绩,应该能有15%左右的人能拿A+。

CSC 517: Object-Oriented Design and Development, Instructor: Gehringer,Ed
一般推荐。这门课最大的槽点是要用Ruby写项目,现在看着Ruby还是很恶心。课程内容对于有一些工作经验的人来说,还是很容易理解的。每周都有一个小quiz,各种项目也蛮多的,非常花时间。考试的话,个人认为如果可以熟练使用IDE的话,是非常简单的,至少填代码的题都能拿满分,因为是开卷,也不需要花大量时间复习。这门课给分比较松,拿A甚至A+都不难,只不过相比于花费的时间,并没有学到太多东西。

CSC 541: Advanced Data Structures, Instructor: Ogan,Kemafor
不推荐。Ogan的水平有限,应该是我在NCSU遇到的水平最差的老师了,课上很多内容自己都不太理解,经常讲错。然后这门课的个别project特别难,需要手写并改造红黑树,是我硕士期间唯二没有拿满分的project。但是考试并不难,可以带cheat sheet。

22 SPRING
CSC 515: Software Security, Instructor: Williams,Laurie A
一般推荐。因为本科期间完全没有学过软件安全方面的内容,所以通过这门课还是学到了一些新的知识。但是感觉这门课对于SDE的用处不是太大,而且project非常花时间,尤其是最后一个项目要录屏边说边测试漏洞。考试的话难度中规中矩,期中是开卷,但是期末就变成闭卷了。

CSC 540: Database Management concepts and Systems, Instructor: Chirkova,Rada Yuryevna
强烈推荐。老师上课没有废话,全是干货,讲课思路非常清晰。有一个贯穿整个学期的project,从画ER图设计数据库到写代码再到演示demo。考试是开卷,难度也不大,我期末考了满分,最后给了一个A+。

CSC 591: Special Topics In Computer Science (Reliability Issues in Emerging Software Systems), Instructor: Jin,Guoliang
老师这个学期生病做手术了,有大半个学期没能上课,平时就是每周要读一篇论文写report,每个人要做一次presentation去讲自己读的论文。有两个project,第一个是并发编程,第二个是写一个paper。没有考试。

22 FALL:
CSC 501: Operating Systems Principles, Instructor: Jin,Guoliang
对于有基础的人推荐,转码的人一般推荐。这门课的难度非常大,对于OS零基础的人会是地狱难度,建议在workload较低的学期修这门课。但是对于有一定OS基础,想再深入学一下OS的人这门课还是比较合适的,相比于本科的OS课,这门课更有深度和广度。教材用的是ostep,老师就是按照这本书的顺序讲课的,课下如果有时间把ostep自己读一遍会对课上的内容有更深刻的理解。ostep这本书在微信读书上有中文版,在读原版时,可以参照着来读。这门课的project很有难度,要修改linux的kernel,并不是ddl前一个晚上就能做完的,要好几个晚上才可以写出来。考试也是很难,期中和期末的平均分都是60多,但是会curve。如果上课跟着老师学了,project也按时交了,最后拿个A也不算难。

CSC 512: Compiler Construction, Instructor: Liu,Xu
强烈推荐。这门课其实是一个400 level的课,是编译器的入门课,转码的人也可以选,老师讲的挺好的,前半学期的内容是考试重点,后半学期更像是introduction。project相比501简单了一个量级,期中和期末都比较简单,感觉比我本科的考试还简单。这门课A率好像很高。

CSC 547: Cloud Computing Technology, Instructor: Viniotis,Ioannis
不推荐。虽然据说这个老师蛮厉害的,但是感觉他不太擅长讲课,听他的课容易困。成绩是25%(作业) + 25%(考试) + 50(project)。这个学期这门课的上课时间不太好,导致我基本没怎么去上课(其实都是借口,就是不想去- -),考试当天上午才开始预习,project也没花多少时间去做,最后拿了一个B,也在意料之中,是硕士期间唯一没有拿A的课。

CSC 570: Computer Networks, Instructor: Eun,Do Young
强烈推荐。一个韩国老师,说话语速较快。本科的计算机网络基本是背八股,但是这门课是以数学(主要是概率论)的角度去看计算机网络,帮助你理解每一层为什么需要有各种协议。对于本科学过计算机网络的人这门课还是比较简单的。考试占了75%,其实大部分是套着网络外衣的数学题,难度最多高中水平的数学题。最终成绩是相对评价,所以老师也不会curve考试成绩,基本上前50%就能拿A。唯一槽点是这门课拿A+挺难的,老师最后说只有top 10%给了A+,我期末比中位数高了27分(满分175)也没拿到A+,有点遗憾。

3. 找工
首先,在美国找工运气成分很大,另外建议早投,早投,早投
实习上岸率身边中国人应该略高于50%,但是印度朋友告诉我他认识的人90%找到了实习,个人感觉是刚开学的时候大家找工氛围不强,很多人包括我都是到了10月份才开始投简历,错过了很多机会。
NG的话今年比较难,目前应该不到50%。

其次,我认为NCSU虽然没有名校光环,但是也不会拖你的后退。
本人实习和NG各面了10家左右,总共进行了50+场面试,其中也有Meta, Bloomberg, Snowflake, HRT, Akuna等公司。
另外,Career Fair个人认为用处不大,里面没有什么好公司。
最后,Linkedin一定要好好利用起来,我的实习和NG offer都是从Linkedin上拿到的面试。

4. 花费
由于本人没有记账的习惯,没有准确数据。粗略计算,不算买车,并扣除实习等收入后,从入学到毕业总共净花费7.5w美元,其中有大概6w的学费。本人花销应该属于中等水平,除了租房,钱主要用在了吃和买电子产品上。

5. 生活
在北卡生活非常舒服,气候也非常好,经常感叹这里是人间仙境。离RDU机场也不远,出去旅游很方便。附近亚超,中餐也都齐全,一顿饭20刀左右,亚超盒饭10刀左右。另外,要想生活得舒服,有车是必须的,建议留学预算里一定要有买车的预算。
  • 136
70条回复