[心得] 伯明翰MSc. Computer Science Conversion

楼主: jmss50894 (加味逍遥散)   2017-12-22 23:40:03
背景:CMU, Chinese Medicine(乙组)
我的留学过程有点曲折,我大概是大四开始准备留学,首先我要感谢眼科林医师和
风管系蔡老师。大六医院见习大概是我人生最黑暗的时候,当时要医院工作同时准备托福
(我认为就英国的学校而言,考雅思比考托福有利,雅思的入学标准较容易达成),至少我
知道我的工作是有意义的,据说中国医是少数医院见习确实需要工作的医院,后来大七发
生了事让我成为反中义士又是另一段故事了。
我原本的打算是大六通过雅思,大七申请。但是后来晚了半年才考上中医国考,而雅思的
效力只有2年,申请上的学校也不能再延期,需要在2015的时候重新申请(用新的雅思成绩
),出国的时间整个延后。
我的英文并不好,即使到了第二学期后半,听懂上课内容还是有困难,可以一句一句听懂
,但是理解力跟不上说话的速度,再来是用英文记忆上课的内容不容易。
我考过雅思6.5,但是后来考上中医国考的时间延迟了,因为雅思的时间效力问题,后来
是用另一次雅思成绩6分申请上的。我是当过中医师才出国的,我认为先工作对于知道要
学习什么有帮助,但是这样无法评估是不是不工作直接出国比较好。
Offer, 2015:
Accept: University of Birmingham, MSc in Computer Science(conversion)
Heriot-Watt University, Computing MSc
(Offer, 2013:
University of Birmingham, MSc in Computer Science(Conditional Offer)
University of Dundee, MSc Computing(Conditional Offer)
Goldsmiths,University of London, MSc in Computing
University of Nottingham, Information Technology Masters(Conditional Offer)
Newcastle University, MSc Computing Science(Conditional Offer, deposit of £
1500)
Heriot-Watt University, Information Technology (Software Systems), MSc
Diploma(Conditional Offer)
)
(有写Conditional Offer的是附上毕业证书就好)
Reject, 2015:
University of Manchester, MSc in Computer Science
(Reject, 2013:
University of Liverpool, Computer Science MSc
University of Manchester, Information Systems: Organisations and Management
MSc
University of Bath, Msc Software Systems
Lancaster University, MSc Computer Science
)
和Bristol比,本系中国学生有十多位,然后是近200人的大班,多数学生是外国籍(非英
国籍)。可搭配 #1PJo9t8o 一起服用
首先介绍伯明翰生存的基本知识
Canvas:学校的电脑系统,上课讲义、档案(程式码)、录音档、上课影片会放在这里。交
作业也是使用本系统,个人页面会显示近期作业,或是由各科目进入每一项作业。科目:
数据库曾使用本系统考试。另外还有一些英文资源与就职资讯。
这里讲一下3学期制:第1学期:9/19~12/14,第2学期:1/14~3月,3~4月:期末报告,5月有
1个月的温书假,5月底~6月初:期末考(考试范围是整年的科目),6月初~9月14:
MSc. project论文写作
Software Workshop
最重的一门课,使用程式语言是JAVA。第3周起有助教时间,每2~3周有1道作业,每周要
进电脑教室实验课。物件导向程式语言的特性,在于一个项目中可包含许多变量,比如说
建立一个类别叫银行帐户,其中可包括客户姓名、电话、存款等数值。因为JAVA需要编译
后执行,在讲解完程式码后,讲师也会示范如何输入电脑指令建立可执行的JAVA档。第二
学期需要运用更多数学与逻辑,如树状图排序与树状图翻转,递回,JAVA的网络应用。本
科目与资料结构需要用到一点对数。集合与继承必考,若是有2个集合,<汽车>与<车辆>
,其中<汽车>可执行<车辆>的部分方法,则<汽车>是否继承<车辆>?为什么?答案为否,因
为<汽车>是比<车辆>还小的集合,且<汽车>中不可放入<脚踏车>,若<汽车>中放入了<脚
踏车>则破坏了<汽车>这个集合。
作业:每周会安排助教在电脑教室回答关于作业的问题,但是只回答一般性的观念问题,
助教不会指导如何debug。
助教时间:小组讨论当周教学内容的复习与预习,学校是希望由学生自主讨论,但是本组
的进行方式是由助教主导,助教会一直针对程式码提问。
期末小组报告:第二学期结束后要制作一个期限一个月左右的报告,内容是制作聊天室(
网络应用)与家族树。
Software Workshop实验课:在Linux上使用Eclipse实际撰写程式,讲师会按照讲义的步
骤逐步讲解撰写程式码的实例,部分程式码可以从网络上复制,讲师会持续讲解直到所有
人实作到相同的进度。
Fundamentals of Software Engineering
本科目是必选课,至少须选一个学期,也就是下列2个选项2择1:
(1)第一学期选Software Engineering
或(2)第一学期与第二学期皆选Software Engineering
Software Engineering是学习软件开发流程与软件生命周期,从了解使用者对软件的需求
,从设计与实作阶段,到debug与返回设计阶段重复开发的流程。以及软件的各元件对输
入与输出的反应,从使用者输入指令到软件回馈动作,各元件的统合与软件如何完成工作
。本科目较不涉及写程式。
各种不同的开发流程有各自的优缺点,如已知且已使用多年的软件开发可使用water fall
模式,以节省时间。而常用的开发流程是Rational Unified Process。
期末报告:设计一个广告系统,使用者包括商家、顾客与第三方验证付款机构,商家可在
本系统发表各种活动,而顾客可使用搜寻、评价、留言等功能。
Human-Computer Interaction 人机接口设计
课程开始讲师会介绍生活中的各种设计,像是路标、告示牌,以及其设计上的缺失或是引
起使用者的混淆。本课程的目标是设计出机械或电脑上,美观与可利用性高的操作接口。
良好的人机接口特性包括可直观使用容易理解,不需加注说明亦能理解的接口,针对各种
潜在使用者(老年人、残障等)皆适合的设计,容易返回前一个阶段的操作,同属性的功能
外观设计需有一致性,操作错误时能够容易修正。期末报告长度约30页,需包含3位
persona,也就是访问3位潜在使用者,并分析使用者对系统的各种需求,并撰写使用者
的操作剧本scenario,像订车票的功能需要考虑时间、路线,或是操作ATM可能发生的
错误。
Introduction to Computer Science
课程先从一般的进位开始,电脑的内存管理,读取资料的程序,程式码各单元的意义与
电脑的运算步骤。bytecode是一串程式码中,逐步分析电脑对各物件的理解,以及进行四
则运算时所存取的步骤,各算子的存取位址。其中作业包括撰写一篇文章:电脑在你的
领域带来的冲击,以及bytecode的撰写。各科在期末考前有一堂课的总复习(应考要点)
,必须要对假想电脑的存取步骤等及bytecode很熟悉才能作答期末考。
资料结构
讲师会一边写在A4纸上并一边教学,同时把A4纸的内容投影出来。本科目会介绍各式处理
资料的方式与其时间成本,像是数列排序,二元树数列排序。及一个虚拟地图,在地图上
前往各个点间需耗费不同成本,如何在最少的成本内通过所有的点。本科目会使用指数与
对数。
Operating Systems and Networks
电脑的基础架构,作业系统如何使用各元件内的资源,为何写程式要使用
API(Application Programming Interface),内存管理:其中的paging会考,是一种如
何在原有的内存位址中,而可对应至更多储存内存位址的方法。Kernel的功能,网际
网络,无线网络的IP分配,密码学。作业:继续完成一个聊天室的功能,会提供部分功能
的程式码(使用JAVA)。由于本科目值得考的地方不多,可以熟读上课强调的地方。
Fundamentals Databases
讲师是意大利人,讲的英语很不容易听懂,有实作课。数据库是处理各种表单间的关系,
而达到储存最少的资讯达到最大的效果与效率最高(可只更新表单中的一个值而不用手动
更新很多次具有相同意义的值) 。运用集合论中的交集或联集等方式传回表单间的值,2
个表单间,其中1行的值是另一个表单的索引,常见问题像是船员与船,请找出船编号为
103的船员,另外的问题像是请列出在2003年具有成绩为10名内车手的车队。使用程式码
提取数据库中资讯是考试内容,学期后半会学到使用各种数学符号来表示表单间的关系,
会用到很多少用的希腊符号,容易不知道他在唸什么。实作课:运用存在学校内的表单,
表单中是各教师与教室或开课的关系,实际传回问题,像是请找出所有叫做Bill的讲师在
2010年所开的课程。期末考是笔试,期中考原本的规划是上机考,但是由于没有足够大的
教室,所以变成学生自行上网(Canvas)考试,这时就是考验个人诚信的时候了,不过我是
没有见到别人的诚信如何。
以下附上数据库符号对照表
Ψ : sai
ρ : ro
∀ : for every (本行开始是意义)
∃ : exists
σ : operate
: not
https://i.imgur.com/TBlgxWj.jpg
AI
前期的上课内容是与课本相同,一开始是AI应用问题的简介,然后是地图问题,各种不同
的搜寻方式有不同的时间复杂度与空间复杂度。会教机率与条件机率,高中的机率足够应
付,但是他把条件机率教得很复杂。还有一个模拟角色扮演的游戏,地图上有宝物与怪兽
(类似即死的陷阱),如何找出获得宝物与避开怪兽的最佳路径。有作业与考试,作业包括
设计一个旅游助手或足球游戏AI,回答设计理念即可,不须程式码。
选修课: 统计学,
Machine learning, Neural Computation, 密码学(这一行的科目我并没有选,参考就好)
统计学
共有2堂课堂教学与2堂实作课(电脑教室)。研究使用各种电脑工具是否对人的工作或知识
等有正向的影响,像是机器人是否能教儿童下棋(是否优于人类教师) ,使用脸书对情绪
的影响。单侧t检定或双侧t检定等方式计算实验是否具有显著差异,中央极限定理
(Central Limit Theorem)必考,会推导部分统计公式,讲师是希望学生能够完全掌握从
实验设计开始到选择公式等,但是经常无法办到,所以考试时是用引导情境的方式,考试
有计算题,R语言也是考试内容。实作课:一开始先讲解今日学习范围等,接着大部分的时
间由学生自行操作,使用R软件按照讲义的步骤计算各种统计值或作图,可随时向助教提
问。我是因为讲师讲得的英文口音最容易听懂才选这门课的,自己也学过生物统计,但是
选这门课的成果似乎没想像中好。
Machine learning
所有使用电脑都涉及由使用者输入资料,由电脑计算后再由使用者取得资料的过程。在此
以Supervised learning为例(在AI还会提到此观念)。会用到条件机率,以疾病和诊断工
具(检查是否呈现阳性)为例,教了真阳性与伪阳性等的计算,由过往的观测资料建立假说
,当新的资料输入时,以此假说来分析预测。
本课程会用到向量。
Neural Computation
将电脑以类似神经元的方式连结,来提升运算的效率或使用不同的算法,具有较强的克
服运算错误的能力。Neural Computation是Machine learning的一种(在AI课程会稍微介
绍此观念),运算的单元叫做Artificial Neurons。应用:协助儿童发展,模拟人脑工作
,语言或字体辨识,金融,气候。
密码学
和其他科目比,需要使用更高度的数学观念(依Operating system的内容,是使用指数等
计算来算出对应的key,根据电脑的运算试误速度然后加上非常长的时间也无法破解的密
码,这样的复杂度被认为是良好的密码)。
MSc project, 论文
首先由Canvas进入学校网页,可看到各导师的专长与研究内容,可与各导师讨论研究方向
,之后选择导师的志愿序,学校会依此志愿序安排导师。1周须与导师1次meeting,学期
中会有第二导师评估当前进度与指导要点。重点是导师不会教你东西,每周导师会告诉你
有什么需要改进,以及下周需要呈现什么东西,我的状况是开始会有一段学习期,之后就
要开始写程式码,最后是成果发表与程式展示。另外须将程式码上传至学校的版本控制系
统,课程的要求是每次更动程式码都须上传(我是没有做得如此频繁)。
就职
第一学期校内会有金融商管或资讯类的就业博览会,详细时间会公布在网络上,电资系上
也有自己的资讯类就业博览会,像是IBM,英国微软等公司,就是要对该公司有很深的了
解才去问,不然容易看不到东西,职缺常分成internship和正职。学校有自己的求职网,
可以依领域设定自己感兴趣的产业,或是设定有感兴趣的职缺时让系统发信给自己。进入
该公司的职缺网站后,常需要设定求职的帐号(或是就业网的帐号),有的公司还会进行线
上测验,回答一些工作的情境题,像是工作遇到问题要找同事还是找主管,或遇到潜在客
户时的反应等,可能有标准答案,只是我没想到。
生活篇 锐力撰写中

Links booklink

Contact Us: admin [ a t ] ucptt.com