信院要求两个学期选够100分的课程(不包括20分的IRR和IPP,后面会讲),同时至少80学分的课程要取得50分以上,并且最后总均分也要在50分以上,我个人是以非常标准的50/50的形式去修的。 作为一个非科班出身的典型“差生”,我在信院的学习经历还是比较曲折的,在第二学期出分后甚至有过一段时间自我怀疑和轻度抑郁的症状,为了让和我有相似经历的学弟学妹避免走我的后路,本文旨在给各位一些选课上我个人的建议。在文中我也会时不时提供一些我认为好用的网站或者材料。 首先我希望所有信院学生都知道的网站:
- Better Informatics: https://betterinformatics.com/
“不管你是信院的本科生还是MSc,你都能在里面找到你想要的大部分材料,比如past paper和其他学生做的sample solution等,在你复习的时候非常有用。”
我本想这么介绍这个网站的,我相信搭建这个网站的人本意也是如此,但是自从疫情开始这个网站感觉基本就不太有人知道了,里面很多课的past paper从2019年起就没有更新了,但是2019年之前的past paper和sample solution还是比较丰富的,众所周知英国大部分大学都是不提供past paper的任何答案的,有什么问题只能自己做出来后piazza上对答案,而等待回复又是一段煎熬的时间;如果在复习期间能够直接参考其他人的解答,对复习的帮助还是很大的。在拿到学校邮箱之后便可以进入这个网站向管理员发送进入google drive的权限,便可以接触到所有内容。有余力的学弟学妹可以在复习期间,在drive上开个doc后输入自己的解答,同时你也可以针对其他人上传的解答进行标注来进行讨论。
- Assessment support: https://assessment-support.is.ed.ac.uk/
懂的都懂,不懂的开学后就会懂了,如果遇到不管啥情况,搞得ddl来不及了,请积极利用学校的Assessment support系统,一般申请后第二个工作日就会给结果,通过后可以延长7天的ddl
一般临开学就可以选课了,除了我这个差生版的攻略,相信网上也有很多科班出身的前辈的攻略,各位可以各方面参考一下选择。但是选课请酌情,在“学到东西”之前先“保证毕业”,如果有像我这样底子不算好,但是又想多学学多看看的同学,可以在选课时期联系课程的Director申请旁听,然后让Personal Tutor为你添加到旁听名单,旁听课程是不需要参加考试也不会影响成绩的。
总成绩作业考试40/60
原IAML,好课,MLPR青春版,非常适合没有机器学习甚至编程经历的人,开学会通过几个Lab学习一些基本的编程知识。 课程作业也不算难,我这年是3人左右的小组作业,针对3个数据库(烂番茄上的影评,Spotify上的音乐流派等信息,还有一个忘记了)通过ML/NLP etc.你会的所有技术对这些数据分析后写个报告,我们组选的是烂番茄的影评,然后对影评进行情感分析。项目难度不大,教授给分也大方。 考试闭卷,难度中等偏低,刷几年past paper就能对付,而且给分也很大方。不过需要注意的是第二学期也有一门叫IAML的课,课程内容大致相似,考试难度据说和第一学期是天上地下,Past Paper参考性比较低,给带3页Cheat Paper还是啥都不会做那种。
总成绩作业考试30/70
大名鼎鼎的信院奥利给套餐(以高质量/高强度/高难度闻名的五门课)之一,不要看到跟AML一样开头有个A就以为也是入门课,A指的是在一学期内加速把整本教科书的内容讲完。不过这课确实也有对编程初学者的Guidance,每一节课后都会有几题不算成绩的题目来检测你的理解程度,如果你没有做Sharon还会发邮件提醒你。前半学期Sharon讲的部分比较好理解,个人觉得从另一个教授负责的部分开始难度就突然上升(没有说教授讲的不好的意思,只是我菜)。课程作业难度一般,是2人小组做NLP相关的课题,但是打分比较严格(依稀记得第二个作业part 2我一个约束条件设错了直接把我part2快扣光了。。) 期末考试就不谈了,个人觉得难度很高。极度考验你对课程内容的全面理解,单单刷Past Paper用处不太大,反正考试全是新题。最后给分也不大方,个人认识的学生里ANLP及格的同学屈指可数,想选的可以自行斟酌一下,但是如果想走NLP方向,报名第二学期的NLU+的条件就是修了ANLP,如果第一学期错过了就没机会了。 本人作为学渣当然是挂得巨惨,不过最后在Progression Decision被学校捞了,算我这门及格。谢天谢地。
Full Year课程,贯穿上下两个学期,总成绩分为4个作业比例10/40/0/50
奥利给套餐之二,每节课每个Lab每个作业都认真做的话Workload很大。开学选课的时候参考了其他前辈的攻略,有一位前辈说这门课不选等于35k英镑学费白交,上完之后个人其实也算认可。比起AML来说更偏向实际项目,没有考试,作业有点类似吴恩达老师课程的作业,基于给定的Skeleton Code编写,上学期是2个关于前向算法和后向算法的作业,训练后对于结果和训练过程中的某些特定问题做一个Report。第二学期就是3人左右的小队做一个和深度学习有关的自由课题,什么课题什么模型通通自定。这门课(特别是第二学期的自由课题)对我这样的初学者来说算是一个很好的累计项目经验的课程,从定题,分配工作到模型搭建,训练到写报告等都有机会体验到。如果做得好可以拿IBM的奖学金,还有机会发顶刊。总体来说给分算合理,不大方也不压分。
Pass/Fail课程,没有分数
必修课,教你如何读 paper,如何写论文,作业是交一个 Literature Review,topic 任选。之前还是和其他课一样的打分制,似乎自从有一年学生挂了一大堆疯狂投诉tutor之后就改成Pass/Fail了,课堂内容和难度,以及最后作业通过率取决于分配到的Tutor,不过我今年是没见到人挂了这个。
我没敢报,奥利给套餐之三,含金量拉满的同时内容难度也拉满,对数学要求很高,挂科的人很多
经历第一学期后,相信会有很多人挂科,像大部分人一样只挂一门的也有,也有第一学期MLPR+ANLP套餐全挂直接退学的,当然还有像我这样一学期把40学分挂完还苟延残喘继续上的。当然遭受第一学期的毒打后,第二学期我自然是改变了选课策略,所以接下去对各位的参考性可能不大,不过为了内容的完整,还是全都写出来,不过需要注意的是,我第二学期选择了2门10学分的课,而这两门课一周有2个lecture,所以注意平时追赶进度,不然复习的时候就需要在短时间内复习完20个Lecture,几门课加起来可能有接近60个Lecture需要观看。
Pass/Fail课程,没有分数
类似IRR,在学期开始会开始选择毕业论文(Dissertation Project),如果你选择Self Proposal,大概在圣诞假期中间(?记不太清了)就要找到Supervisor以及提交Proposal到学校,不打算Self Proposal的就跟着开学后的IPP选择即可,信院的毕设项目多得看不完,从Easy到Very Hard,各个难度的项目都有,在这些项目中挑选至少5个,按照兴趣程度排序后联系Supervisor,导师会根据面试或者你第一学期的成绩来决定你是否Suitable,然后根据学院的算法给每位学生分配项目,也就是说某种意义上,当你选择了热门的项目,你是要和其他同学“竞争”这个名额的,有机会的话多和Supervisor交流,虽然系统上看不到,但是Supervisor的后台可以将你标记为“Very Suitable”,你选中心仪的项目的机会自然就更大了。 回到正题,这门课最后的作业就是根据你分配到的毕业论文项目,做相关研究以及研究计划等,做成Proposal Report上交,分数是由Supervisor来批分,同样也是只有Pass/Fail,这课我也没见过人挂。
总成绩作业考试20/80
好课,建议数学过关的同学选,课程关于算法博弈论,内容还是比较有趣的,教授是信院老好人Kousha,不过课件比较老了,而且Kousha把课程内容讲得不是很好懂,有数学背景的同学会比较好接受。但是相关内容在网上随处都能找到,所以像我这样的其实也能搞懂。每周有Tutorial,内容就是把题目提前做好,然后Tutorial上讲题。作业是2套总占比10%的题目,题目形式类似Tutorial,不过会有改动,而且更难,在运用博弈论知识的前提下,用任何方式解出来,并把过程详细写出来就可以,我2次作业都有用Python和Matlab直接出答案的题目,而且都拿了满分。作业基本就是能给分的地方都会给到,2次作业加起来能拿15-20分平时分的人不少。 考试今年是全开卷,只要不带电带多少材料进去都行那种,也没啥技巧,Past Paper来回刷,能刷几套刷几套,而且都搞懂,考试就能轻松应对,对于想拿70+甚至80+的同学,这门课算是比较能够拿高分的课。
总成绩作业考试50/50
这算是一门我很难评价的课了……如果之前有看到过我笔记的同学会知道我一学期为了吐槽这门课起码写了4篇笔记(虽然现在删了)。对有能力的同学或者有兴趣的同学来说是语音识别方向的好课,会从语音识别系统的历史开始讲起,然后一直讲到神经网络结构的语音识别系统等。课程重点算是Hidden Markov Model啊DFT啊这些,不过对我个人来说课程内容不能说有点,只能说基本听不懂……机器学习方面的公式太多了,不太好消化,个人复习这门课的时候可以说崩溃数次,甚至不想回想…… 平时分占50%,全都是由2人小组完成。由贯穿整个学期的5个Lab(一个2%,总共10%)和40%的作业组成,Lab是关于课程内容中的模型(HMM,WTFT和Kaldi这些),2周一个ddl,和MLP一样基于Skeleton Code来做一些语音识别方面的小课题,为了希望提前着手下一个Lab的同学,每次ddl之前会公布正确答案,当然不要抄。作业是基于Lab的代码,来针对一段绕口令做语音识别,然后逐步添加上剪枝等各种技术,来讨论对识别精准度和速度的效果,出一篇报告。如果选了这门课的同学,40%的这个大作业建议尽早开始,因为这个作业中搭建的模型需要大量的训练时间,而且只能通过学校机房的DICE机器完成,而DICE的1060算力自然不太行,如果在ddl之前才开始的话很有可能连训练都训练不完,更别说写报告了。 平时分给分非常大方,大部分人包括本人都能拿到70%以上的分数,我甚至知道平时分42分,期末考只要考8分就能及格的同学。 期末考试我就不多评价了……允许携带3张纸的Cheat Sheet,同时考试难度和ANLP一样,开放度和难度拉满,3张Cheat Sheet写满都不一定能写出来几题的那种(第二学期除了ASR,包括上面提到过的S2的IAML,以及数据库相关的ADBS都是允许3张Cheat Sheet,修过的同学很多都觉得比前几年全开卷还难,不清楚23/24还会不会有这样的考试了,不过如果一门课是这种允许带Cheat Sheet的,选之前掂量一下……)
总成绩作业考试50/50
好课,前几年还是众所周知的水课,今年已经不太算了。内容是关于各种操作系统的工作原理,对接下去找工作或者参加实习很有帮助,教授也讲得通俗易懂,内容也很好理解。教授Antonio是意大利人,意大利口音非常重,不过随着复习进行,最后会发现自己也能听习惯(质疑Antonio,理解Antonio,成为Antonio),作业是利用C++,在该课程专有的叫InfOS的操作系统中实现优先度排序等功能,花时间能拿到不错的分数,不过我这一年是作业内容改版的一年,很多作业描述都还比较暧昧,需要频繁在Piazza上和教授,TA交流,如果没搞清楚到底要做什么的话,比较严格的TA会给比较低的分数,不过大部分人包括我最后平时分总分都挺高的,作业描述这点也相信一年会比一年好。 在学期中间和尾声会有2节Revision Lecture,一定要好好听。考试难度也适中,如果有好好复习完课程内容和复习课,应该遇不到什么不会做的题,多刷Past Paper,正常发挥即可。
除了以上这几门我报了的课,还有:
奥利给套餐之四,NLP的硬课
奥利给套餐最后一员大将,ML方向的进阶课,对数学要求很高
上过的都说好,底子好的可以修,我选择了旁听
数据库方向的好课,平时作业工作量比较大。考试往年据说还是简单的,今年改成Note Permitted的形式之后就变成看了Cheat Paper也不会做的情况了,不过疫情后第二年应该不会再Note Permitted了,有兴趣的话选之前了解清楚可以选。
隔壁艺术学院的课,如果第一学期实在挂的惨,可以联系Director之后选这门课,没有考试,由作业打分。就是传统意义上的“水课”。
以上就是我在信院一年的选课和各科的感想啦。个人觉得一年下来还是收获很大的,虽然在学期中三天两头发朋友圈发笔记吐槽,中间也有累到心理出问题的时候,但是现在回头看,我这个小菜鸡不知不觉也积累了不少项目经验了,相较入学前,我的编程能力也大有长进,在这种意义上我是不后悔转专业来爱丁堡的。当然爱丁堡作为AI方面的强校,不论是发顶刊还是各方面都有根本数不清的优秀资源,自己没能利用上虽然觉得还是有那么一丢丢丢可惜的,但是我很清楚如果我走到那一步可能就崩溃了。我相信也会有很多比我优秀,或者基础扎实,计算机出身的同学看我这篇笔记,祝愿你们成为能利用到这笔宝贵资源的人。如果有在本校读博想法的同学,请一定要在你想走的方向的课程上获得高分,比如想走NLP就在第一学期的ANLP上,想走ML就在MLPR和MLP上,因为本校的教授是最清楚这些课的含金量的,如果有一个好的成绩,在本校无Gap读博的机会还是很多的。个人由于毕业论文的关系,获得了进入学校Informatics Forum的权限,感觉学校对博士还是倾注很多关注的,所以有这个想法的同学,Good Luck!