USC MS in Computer Engineering 项目课程就读体验分享
20596
本人情况简介:
USC, MS in Computer Engineering。2024 Spring 入学。第一学期已经结束,这里介绍一下选课以及较为详细的体验,希望对别人有帮助。所有内容基于本人的亲身经历,每年的情况都或有不同,仅供参考。每学期可能都会更新。
2024 Spring,第一学期
EE450 + EE457
EE450,4unit,计算机网络入门。Prof:Ali Zahid,一个印度老先生。成绩:A。
考核:midterm exam + final exam + final project + HW + extra credit
不强制attendacne,成绩比例分布不详。
上课体验:教授口音比较好,讲课清晰,知识点比较全比较细,人也幽默风趣。课程有录播可以看回放。EE450是一些软件向课程如EE542的先决课程,内容细致全面程度比本科要强不少。
作业:教材的课后习题摘选,load不大。Lab就是照着文档做,load不大。
关于Final Project:一个给定具体情境的C++ Socket编程,每年的设计都不太一样。load大小看个人基本水平,代码量大概需要至少上千行,但终究也还是个toy project。
关于Exam:一次期中,一次期末。不会给往年试题,但据了解每年的题型大抵近似,能找到并加以练习测试最好。【光听讲课是绝对不足以应付考试的,Discussion课上TA会给讲具体的题型怎么做。】
关于Extra credit:他每周会给一次Practice Set。里面题目做完做对可以在office hour拿去给他检查,没问题的话会给bonus point。
其他补充:教授年纪大了,有时候可能会与学生发生一些无所谓的误解与争执(office hour挤满学生然后battle的场景令人历历在目)。但不影响是个不错的老师,鉴于CE选课的选课要求三个领域选至少两个,除非是VLSI选手,不然这基本是必上的一门课。推荐。
EE457,4unit,计算机组织结构。Prof:Gandhi Puvvada,一个印度老先生。成绩:A。
考核:Quiz + Midterm + Final term + Hw&Lab
基本每次上课都要手签attendance,风雨无阻。
成绩比例:拿到A与A-的学生加起来占有40%~50%,几乎一半。Drop+挂科的大概共有一二十人。
上课体验:教授是个大佬但【口音灾难】。讲课声音波澜不惊,整个学期基本没有几次用ppt,一个人一个白板就开始一边写一边讲,经常使用自己自创的英文首字母缩写令人吐槽不能。课程有录播(坦诚讲,要是没有录播这门课铁完蛋)。鉴于本人英语水平渣,每次课后基本要花6~8个小时去听完一节2个小时的lecture,逐句听讲逐句学习——抛开口音听不懂的问题,gandhi教授讲的课确实【细致易懂】。
内容:Gandhi教授讲的内容与市面上传统的计算机组成原理有较大区别、自成一派,更加贴近硬件,网络上找到的相关资料往往无法匹配该课程的考核。从数字逻辑基础到内存拼接,从Single Cycle CPU到Pipeline,从Cache、Virtual Memory到Advanced Topic(Tomasulo、CMP&CMT、Mutual Exclusive等等),令人印象深刻,软件向的同学需慎重。
关于作业:纸质HW + Lab。HW基本就是考试题型,填空画图分析为主。Lab则是用verilog实现CPU的某些组件,教授提供代码模板,学生只需填充逻辑,无需从零搭起。
midterm之前有HW有Lab,频率充实,Midterm之后进入Advanced Topic就基本没有作业压力了。
关于Exam:三次考试,quiz、midterm、final,每次考试时间三个小时,题型基本全为基于分析的填空画图,硬核费脑。考试内容与上课所讲以及作业所练【强相关】。gandhi教授会提前将往年的试题及答案全部放出,还会在考试前以邮件形式发送本次考试的题型“peek”,当然每年的试题也都有较大不同。知识掌握不牢固是比较难hold的。
curve:考试有perfect score。比如整张卷子全做对是450分,但是只要做到400分即为满分,如果考了超出400分的也会记入总成绩,所以最终排名靠前的都是总分超过满分的。perfect score由教授视情况而定,最后的成绩核算也会使用最优比例。
其他补充:神课一门,load较大。虽然难顶,但学知识较为扎实。如果走硬件方向的话后续还有EE560、EE557的高级课程。软件向的同学慎选。
补充内容 (2024-12-24 16:25 +08:00):
————————————
【2024.12 更新】
2024 Fall,第二学期,EE542 + CSCI567
EE542, 4unit, 网络与云计算。Prof: Young H. Cho, 一位韩国儒雅老大叔。成绩:A
Prerequisite:EE450。
一句话总结:这是一门项目导向的、以做lab为核心的课程,load较大。CE人难得的软主硬辅的课程。
考核:Attendence/Quiz + HW/Lab + Final Proj 。没有Exam,最终Final proj占比50%。
以quiz形式的attendence随机掉落,内容一般是他之前课上提到过的知识,一两道问答题。
关于HW/Lab:(★)
这门课【每周一个Lab,每周读一篇paper】。每个lab要交report & code、要录视频上传youtube交链接。每篇paper读完要做一个简易的ppt展示你学到的东西。So,等于说每周稳定三个due,通常分布于周六晚、周一晚、周二晚。因此,只要不是这方面本来就精通,扎扎实实做Lab学东西的话,它大概会是这学期主要压力来源、也是该门课的load所在。
全学期一共大概10个Lab,对应前10周,剩下最后一个多月用于做最后的Final Proj。10个lab大概前面三四个是Individual Lab,后面一直到Proj都是Group Lab。每个group基本都是3个人,找好队友很关键。
Lab内容:例如用虚拟机、AWS去真正搭建个简易网络,并用各种工具做性能测试,可能让自己基于UDP做一个可靠传输工具、修改linux内核网络模块的TCP策略……这些可以说是对EE450的理论知识进行实操,对加深理解很有好处。也会涉及Hadoop/Spark这种分布式计算的实操、以及IoT项目涉及的Thingsboard、node-red、termux等,为最后的Final Proj做预热。
(提一嘴,这些Lab真的需要自己花钱买AWS的instance、Cluster等。会有优惠,但这个课总的上下来多少需要自己掏点钱。)(上youtube直接搜索应该就能找到一些前人提交的作业)
每个Lab他会给一份guide照着做。但是这些来自不知道几年前的guide并不是简单的喂饭教程,而且极有可能存在各种outdated甚至错误的内容。过程中可能会遇到各种意料之外的困难与意料之中的Bug,解决这些麻烦十分考验一个程序员的Problem-Solving功底,当然这个过程也会依据个人水平不同消耗或几秒或几天的时间。当然碰见问题也可以在课程讨论平台上提问,但根据个人经验来讲,光靠这个平台很难真正帮得上忙 (Prof表示找TA不容易)。期待未来Prof与TA可以好好更新Lab的版本并提供更切实有效的答疑。
上课体验:lecture上基本听他“吹水”。该课程没有录播回放,Prof要求上课必须来(人少就会quiz),要求上课不许打开电脑,他会吼你(笑)。课程内容分成两部分:internet和cloud computing。但这些“主菜”都是有选择性的介绍重点,并不是系统性的挖掘。他经常会讲一些当下找工作的市场现状和热门技术,也会时不时拐到自己的求学经历与奇闻轶事。(看syllabus也能看得出来这个课包罗万象)。所以想靠听lecture学到扎实知识的话,大概率会失望,但也不失为一种涨些见闻、做些交流探讨的选择。
关于Final Project:一般是IoT项目,结合ML/Cloud Computing。(但往年似乎也有过做纯ML的?) 一个小组定下来自己的Idea然后开工。最后一个多月没有Lab也没有读paper,就是这个Final Proj,每周的due就是展示Proj的进展。最终是课上Presentation,提交视频、代码和相关材料。
Professor对Proj的要求是奔着能吸引消费者、能吸引投资者、十分marketable的程度去的。他也会以“能盈利”的标准去给出评价和优化意见,希望一头闷在技术里的工程师也能更加重视这些价值变现的过程。如果本身就有意向做一些希望用于可行性较高的IoT项目,有盈利的想法,大概会和这个prof很合得来、或许也能得到一些更深度的指导和帮助。
关于给分:虽然proj要求高,但Professor明确表示不会在分数上为难人,不出意外基本都是A-以上。他自己说史上给过的最低分也不过是个B还是B-来着。个人实测Lab的给分确实松散,只要差不多都做完就会给满分,不会计较结果上的一些瑕疵。
CSCI567,4unit,机器学习。Prof:Dani Yogatama,成长在Indonesia。成绩:A。
【重要】该professor风评疑似较差。据传是该prof上次教课时考核比例是Exam和Final proj五五开,最终proj给分混乱导致差评较多。24fall这学期疑似整改,调整了比例为Exam与Final proj八二开。这学期各个方面的安排都显得佛系,因此本部分测评【参考价值很有限】,毕竟难保各种考核和教课形式不会再次变动。可以当作是了解这位prof的一点参考。另外Prof有自己的个人站点,直接搜一下名字就找得到。
考核:两次Quiz + Final Project (40% + 40% + 20%)
没attendacne(professor 表示你会就可以不来)。
有lab,但不计入成绩 (爱做就做,不做也没人管)。
这课没有prerequisite,但是对数学知识有一定要求。(对于CE学生有一定数学基础、不想再上EE503和EE510又想学一点机器学习的情况,很友好。)
上课体验:professor讲课一言难尽。课程内容是很基本的机器学习知识点全覆盖,从线性回归到神经网络到Transformer、大语言模型,再到无监督学习、增强学习,各个部分都有讲。【但教授讲起来就像是给你“介绍”一遍这个知识,而不是系统地带你挖掘明白】。坦诚地讲,这个教授并不属于那种可以把知识掰碎、讲得很清晰到位的类型。由于不太符合楼主学习风格,因此课程后半段基本没有再认真听过,个人观感仅供参考。
关于考试:或许是“整改”原因,这学期考试的两次quiz【考得非常浅】,而且【开卷】(纸质材料,不许电子设备)。每次考试40道题,全是选择(单选),每个相当于最终成绩的一分。没有数学推导、没有手动建模、没有计算,全是较浅的概念、性质、理解。感觉大概就是把课上的ppt全打印下来直接带进去现场查着做,就足以应付个大概。两次考试的全班平均成绩一次84一次87(out of 100)。
关于proj:group proj,没啥说的。学期初就布置了,大概要求找个ML模型复现/fine-tune,有一些benchmark的要求,最后交报告和代码。顺带一提,该课程不给计算资源。
综合评价:如果自律性较强、对ML很有想法、又因为规划课程不得不立刻选 的话,可以选这位教授。
USC, MS in Computer Engineering。2024 Spring 入学。第一学期已经结束,这里介绍一下选课以及较为详细的体验,希望对别人有帮助。所有内容基于本人的亲身经历,每年的情况都或有不同,仅供参考。每学期可能都会更新。
2024 Spring,第一学期
EE450 + EE457
EE450,4unit,计算机网络入门。Prof:Ali Zahid,一个印度老先生。成绩:A。
考核:midterm exam + final exam + final project + HW + extra credit
不强制attendacne,成绩比例分布不详。
上课体验:教授口音比较好,讲课清晰,知识点比较全比较细,人也幽默风趣。课程有录播可以看回放。EE450是一些软件向课程如EE542的先决课程,内容细致全面程度比本科要强不少。
作业:教材的课后习题摘选,load不大。Lab就是照着文档做,load不大。
关于Final Project:一个给定具体情境的C++ Socket编程,每年的设计都不太一样。load大小看个人基本水平,代码量大概需要至少上千行,但终究也还是个toy project。
关于Exam:一次期中,一次期末。不会给往年试题,但据了解每年的题型大抵近似,能找到并加以练习测试最好。【光听讲课是绝对不足以应付考试的,Discussion课上TA会给讲具体的题型怎么做。】
关于Extra credit:他每周会给一次Practice Set。里面题目做完做对可以在office hour拿去给他检查,没问题的话会给bonus point。
其他补充:教授年纪大了,有时候可能会与学生发生一些无所谓的误解与争执(office hour挤满学生然后battle的场景令人历历在目)。但不影响是个不错的老师,鉴于CE选课的选课要求三个领域选至少两个,除非是VLSI选手,不然这基本是必上的一门课。推荐。
EE457,4unit,计算机组织结构。Prof:Gandhi Puvvada,一个印度老先生。成绩:A。
考核:Quiz + Midterm + Final term + Hw&Lab
基本每次上课都要手签attendance,风雨无阻。
成绩比例:拿到A与A-的学生加起来占有40%~50%,几乎一半。Drop+挂科的大概共有一二十人。
上课体验:教授是个大佬但【口音灾难】。讲课声音波澜不惊,整个学期基本没有几次用ppt,一个人一个白板就开始一边写一边讲,经常使用自己自创的英文首字母缩写令人吐槽不能。课程有录播(坦诚讲,要是没有录播这门课铁完蛋)。鉴于本人英语水平渣,每次课后基本要花6~8个小时去听完一节2个小时的lecture,逐句听讲逐句学习——抛开口音听不懂的问题,gandhi教授讲的课确实【细致易懂】。
内容:Gandhi教授讲的内容与市面上传统的计算机组成原理有较大区别、自成一派,更加贴近硬件,网络上找到的相关资料往往无法匹配该课程的考核。从数字逻辑基础到内存拼接,从Single Cycle CPU到Pipeline,从Cache、Virtual Memory到Advanced Topic(Tomasulo、CMP&CMT、Mutual Exclusive等等),令人印象深刻,软件向的同学需慎重。
关于作业:纸质HW + Lab。HW基本就是考试题型,填空画图分析为主。Lab则是用verilog实现CPU的某些组件,教授提供代码模板,学生只需填充逻辑,无需从零搭起。
midterm之前有HW有Lab,频率充实,Midterm之后进入Advanced Topic就基本没有作业压力了。
关于Exam:三次考试,quiz、midterm、final,每次考试时间三个小时,题型基本全为基于分析的填空画图,硬核费脑。考试内容与上课所讲以及作业所练【强相关】。gandhi教授会提前将往年的试题及答案全部放出,还会在考试前以邮件形式发送本次考试的题型“peek”,当然每年的试题也都有较大不同。知识掌握不牢固是比较难hold的。
curve:考试有perfect score。比如整张卷子全做对是450分,但是只要做到400分即为满分,如果考了超出400分的也会记入总成绩,所以最终排名靠前的都是总分超过满分的。perfect score由教授视情况而定,最后的成绩核算也会使用最优比例。
其他补充:神课一门,load较大。虽然难顶,但学知识较为扎实。如果走硬件方向的话后续还有EE560、EE557的高级课程。软件向的同学慎选。
补充内容 (2024-12-24 16:25 +08:00):
————————————
【2024.12 更新】
2024 Fall,第二学期,EE542 + CSCI567
EE542, 4unit, 网络与云计算。Prof: Young H. Cho, 一位韩国儒雅老大叔。成绩:A
Prerequisite:EE450。
一句话总结:这是一门项目导向的、以做lab为核心的课程,load较大。CE人难得的软主硬辅的课程。
考核:Attendence/Quiz + HW/Lab + Final Proj 。没有Exam,最终Final proj占比50%。
以quiz形式的attendence随机掉落,内容一般是他之前课上提到过的知识,一两道问答题。
关于HW/Lab:(★)
这门课【每周一个Lab,每周读一篇paper】。每个lab要交report & code、要录视频上传youtube交链接。每篇paper读完要做一个简易的ppt展示你学到的东西。So,等于说每周稳定三个due,通常分布于周六晚、周一晚、周二晚。因此,只要不是这方面本来就精通,扎扎实实做Lab学东西的话,它大概会是这学期主要压力来源、也是该门课的load所在。
全学期一共大概10个Lab,对应前10周,剩下最后一个多月用于做最后的Final Proj。10个lab大概前面三四个是Individual Lab,后面一直到Proj都是Group Lab。每个group基本都是3个人,找好队友很关键。
Lab内容:例如用虚拟机、AWS去真正搭建个简易网络,并用各种工具做性能测试,可能让自己基于UDP做一个可靠传输工具、修改linux内核网络模块的TCP策略……这些可以说是对EE450的理论知识进行实操,对加深理解很有好处。也会涉及Hadoop/Spark这种分布式计算的实操、以及IoT项目涉及的Thingsboard、node-red、termux等,为最后的Final Proj做预热。
(提一嘴,这些Lab真的需要自己花钱买AWS的instance、Cluster等。会有优惠,但这个课总的上下来多少需要自己掏点钱。)(上youtube直接搜索应该就能找到一些前人提交的作业)
每个Lab他会给一份guide照着做。但是这些来自不知道几年前的guide并不是简单的喂饭教程,而且极有可能存在各种outdated甚至错误的内容。过程中可能会遇到各种意料之外的困难与意料之中的Bug,解决这些麻烦十分考验一个程序员的Problem-Solving功底,当然这个过程也会依据个人水平不同消耗或几秒或几天的时间。当然碰见问题也可以在课程讨论平台上提问,但根据个人经验来讲,光靠这个平台很难真正帮得上忙 (Prof表示找TA不容易)。期待未来Prof与TA可以好好更新Lab的版本并提供更切实有效的答疑。
上课体验:lecture上基本听他“吹水”。该课程没有录播回放,Prof要求上课必须来(人少就会quiz),要求上课不许打开电脑,他会吼你(笑)。课程内容分成两部分:internet和cloud computing。但这些“主菜”都是有选择性的介绍重点,并不是系统性的挖掘。他经常会讲一些当下找工作的市场现状和热门技术,也会时不时拐到自己的求学经历与奇闻轶事。(看syllabus也能看得出来这个课包罗万象)。所以想靠听lecture学到扎实知识的话,大概率会失望,但也不失为一种涨些见闻、做些交流探讨的选择。
关于Final Project:一般是IoT项目,结合ML/Cloud Computing。(但往年似乎也有过做纯ML的?) 一个小组定下来自己的Idea然后开工。最后一个多月没有Lab也没有读paper,就是这个Final Proj,每周的due就是展示Proj的进展。最终是课上Presentation,提交视频、代码和相关材料。
Professor对Proj的要求是奔着能吸引消费者、能吸引投资者、十分marketable的程度去的。他也会以“能盈利”的标准去给出评价和优化意见,希望一头闷在技术里的工程师也能更加重视这些价值变现的过程。如果本身就有意向做一些希望用于可行性较高的IoT项目,有盈利的想法,大概会和这个prof很合得来、或许也能得到一些更深度的指导和帮助。
关于给分:虽然proj要求高,但Professor明确表示不会在分数上为难人,不出意外基本都是A-以上。他自己说史上给过的最低分也不过是个B还是B-来着。个人实测Lab的给分确实松散,只要差不多都做完就会给满分,不会计较结果上的一些瑕疵。
CSCI567,4unit,机器学习。Prof:Dani Yogatama,成长在Indonesia。成绩:A。
【重要】该professor风评疑似较差。据传是该prof上次教课时考核比例是Exam和Final proj五五开,最终proj给分混乱导致差评较多。24fall这学期疑似整改,调整了比例为Exam与Final proj八二开。这学期各个方面的安排都显得佛系,因此本部分测评【参考价值很有限】,毕竟难保各种考核和教课形式不会再次变动。可以当作是了解这位prof的一点参考。另外Prof有自己的个人站点,直接搜一下名字就找得到。
考核:两次Quiz + Final Project (40% + 40% + 20%)
没attendacne(professor 表示你会就可以不来)。
有lab,但不计入成绩 (爱做就做,不做也没人管)。
这课没有prerequisite,但是对数学知识有一定要求。(对于CE学生有一定数学基础、不想再上EE503和EE510又想学一点机器学习的情况,很友好。)
上课体验:professor讲课一言难尽。课程内容是很基本的机器学习知识点全覆盖,从线性回归到神经网络到Transformer、大语言模型,再到无监督学习、增强学习,各个部分都有讲。【但教授讲起来就像是给你“介绍”一遍这个知识,而不是系统地带你挖掘明白】。坦诚地讲,这个教授并不属于那种可以把知识掰碎、讲得很清晰到位的类型。由于不太符合楼主学习风格,因此课程后半段基本没有再认真听过,个人观感仅供参考。
关于考试:或许是“整改”原因,这学期考试的两次quiz【考得非常浅】,而且【开卷】(纸质材料,不许电子设备)。每次考试40道题,全是选择(单选),每个相当于最终成绩的一分。没有数学推导、没有手动建模、没有计算,全是较浅的概念、性质、理解。感觉大概就是把课上的ppt全打印下来直接带进去现场查着做,就足以应付个大概。两次考试的全班平均成绩一次84一次87(out of 100)。
关于proj:group proj,没啥说的。学期初就布置了,大概要求找个ML模型复现/fine-tune,有一些benchmark的要求,最后交报告和代码。顺带一提,该课程不给计算资源。
综合评价:如果自律性较强、对ML很有想法、又因为规划课程不得不立刻选 的话,可以选这位教授。
6条回复