NEU CSA 温哥华校区第二学期
这个夏天上了CSA bridge最后两门课:5004 Object-Oriented Design 和5008 Data Str, Algo & App in CmpSys。夏季学期的政策比较灵活,很多同学都选了网课,回国或者是全世界游玩去了。
我两门课都选了线下。算上每门课的recitation,每周要去学校四天,车票支出直接翻倍。
5004的授课语言是Java。但其实没有聚焦于java的syntax,第一个礼拜讲了讲python→java的语法转换就算学过了。不过这门课对语法的要求也不高,重点还是讲一些设计理念。再说了,intellij太强了,每次写好的java还会给我一些优化建议,直接把我的代码给提高了一个层次。有种大雄与机器猫的感觉。
这门课的优点就是轻松。一周只有一个作业,TA的给分也很宽松。Jack老师人挺好,有些冷幽默,但因为我口语不行,经常只能尬笑两声作为回复。如果recitation的代码不会写,当场问老师,都会给出非常具体的回复。
缺点是这门课的设计理念实在有点玄乎,而且老师上课就是把module的内容再展开讲一遍。一学期下来,来上课的人逐渐变少…
感觉我这四个月认真听module做作业,最后似乎只了解了些许MVC design pattern的皮毛。不能说很有收获。
5008的授课语言是C,教科书是《Dive into Systems》:(https://diveintosystems.org/book/index.html)
先说这本书,我只读了前两章有关C的语法的内容。C的reference和dereference的确让人挺头疼的。更别提每次写完作业看到memory leak都要窒息一下。(撒贝宁表情包)
这门线下课的授课老师是Logan。虽说她也曾经是NEU CSA的学生,但她真的好强,有时候给我一种百科全书的感觉。而且我觉得她的教学水平也很高。
(插播吐槽一句,经常看网上有人自己xx成绩考得高就想出来接单。可是我总觉得教学也是一门学问,计算机大佬未必就能是个好的cs老师)
一般一节课两个小时,第一个小时会总结升华一下本周的教学内容(老师默认你已经认真看完了module里的视频)。第二个小时会分成小组(用英语)讨论一些问题。老师全场巡逻一边看大家有没有需要解答的地方,一边制止情不自禁用中文交流的同学。
Recitation虽然不上课,但其实workload更大,基本上要自学很多东西才能把作业做出来。但是好的地方在于,老师不是甩手掌柜,需要你自学的东西都会给出链接。甚至提前预判了大家会卡住的点,贴心放一些StackOverFlow的链接在下方。
每周的作业也需要一些自学才能完成。但是给分挺不赖的,扣分也都是真的做错了才会扣一些。比第一学期的扣分更让人能接受。
怎么说呢,强度的确挺大。但是一学期坚持下来,觉得自己真的变强了(错觉)。甚至能英语完成一场mock interview了。
很感激老师强行塞了杂七杂八的东西进来。学了C语言,数据结构,一些算法,了解了network,assembly还有concurrency。老师还经常发piazza给出一堆学习资料。(如果有朋友感兴趣我哪天再整理一些发出来)
而且她真的很负责任,首先piazza经常秒回。然后每次reflection,她都会认真看,给出大段回复。我们录制的codewalk的视频,期末的pre和mock interview,她都会认真听,事后给一个excel,针对各项打分点点评你的表现。我觉得这项工作真的很累,所以特别佩服她能这样认真对待每一个学生。
这个学期的学习时长明显增加了。随着学习的深入,越发感觉到了自己的无知以及cs世界的广博。时不时会想,我懂的东西也太少了吧。
跟朋友开玩笑说,我这是算迈过了愚昧山丘开始走向奔溃低谷了。

虽然就业前景暗淡,但自己上手做出一些东西,或者用github的代码方便了自己的日常,也还是让人很开心。
套用曼仔的话说,让人沉醉的夏日好时光快结束了,可真令人留恋。但夏天总会再来的。