格拉斯哥大学IT选课指南

很久很久之前说过的选课指南哈哈哈,根据本人21年上课体验以及专业群道听途说总结,仅供参考,注意时效

Semester 1

第一学期全都是必修课,一共5门,整个IT+的课表都一样。为了偷懒方便,下面的课程名全用缩写表示

缩写课程名难度备注
SNSystems and Networks
PRProgramming
DTADatabase Theory & App
SESoftware Engineering⭐⭐下学期还会见到它
ECSEnterprise Cyber Security⭐⭐⭐⭐⭐

Systems and Networks

主讲操作系统+一丢丢的计算机网络,还有汇编语言(大概算吧),用的是某位教授自己编写的软件Sigma16,很简单。

Programming

主讲JAVA基础知识,开学的第一周全是这门课,上午上课下午Lab,疯狂填鸭哈哈哈。如果自己学过一些JAVA的话就非常简单了,我第一周全程划水(不是),然后后面会讲到对象、IO、异常、Swing这些。

Database Theory & App

主讲数据库基本知识,如范式、E-R图、关系代数、SQL等,软件用的PostgreSQL,有Lab。

Software Engineering

面向产品经理编程🐶,这门课两个学期都有,第一学期会讲一些Java的基本知识,和Programming有些重复,还有用户故事、UML图、看板、敏捷开发等,会使用Trello看板。注意第一学期的作业和第二学期的作业是密切相关的,不要给自己挖坑,第一学期作业是根据需求编写用户故事啥的,第二学期就是按照编的用户故事把软件开发出来(小组作业预警⚠️小组不可以更换)。虽然两学期都有,但是考试只有一次。

Enterprise Cyber Security

emmm纯理论课程,非常的枯燥,作业还特别麻烦(小组作业预警⚠️)。教授的上课方式也是独树一帜,开直播然后共享屏幕播放他提前录好的课。。。。。。而且他的网络还不好,经常就看不清楚课件。总之一言难尽吧。

AWSP

AWSP应该不算一门课,和语言班比较像,开学后大概一个月会收到邮件,要求去做一个英语测试,包含选择和写作,然后根据得分情况判断你是不是需要上额外的写作课。完成的话成绩单上会标记CP,不算分,不影响学位。

Semester 2

第二学期是一门必修课+4门选修课+一个必修小组项目,IT可以随便选,SD必须选ADS和AP。21年一共有9门选修课供选择,除ADS和AP外剩下的课是和CS+一起上的。下面我自己上过的课难度用⭐表示,道听途说的用💡表示,仅供参考。

缩写课程名难度备注
SESoftware Engineering⭐⭐⭐必修(没错还是它)
TPTeam Project⭐⭐必修小组项目
CSysFCyber Security Fundamentals⭐⭐选修
HCI-DEHCI Design & Evaluation💡💡选修
CSForCyber System Forensics💡💡💡💡💡选修
HCSHuman-Centred Security for MSc💡💡选修
IVInformation Visualisation💡💡💡选修
CSDCryptography & Secure Development💡💡💡选修
ITECHInternet Technology⭐⭐⭐选修
ADSAlgorithms & Data Structures⭐⭐⭐选修(SD必修)
APAdvanced Programming⭐⭐选修(SD必修)

Software Engineering

第二学期主要讲设计模式,比较枯燥,作业也比较麻烦。

Team Project

五人组队,完成一个项目的开发,和SE契合度很高,也要完成用户故事,遵循敏捷开发流程等。作业是完成一个战棋游戏,前端的东西老师都写好了,主要完成后端的逻辑,要设计人机对战的AI,比较麻烦的是要做工作记录。只有项目没有考试(小组预警⚠️)。

Cyber Security Fundamentals

讲解网络安全的基础知识,包括网络攻击技术(钓鱼、SQL注入等)、计算机网络基础、到的黑客、数字取证等。实践操作很多,比较有意思,推荐选择。作业要求通过OWASP Vulnerable Web Application Project来进行模拟攻击,并编写报告(小组作业预警⚠️)。

HCI Design & Evaluation

人机交互的课,我没选,据说有丢丢麻烦。

Cyber System Forensics

快跑❌❌❌,和ECS差不多的东西。

Human-Centred Security for MSc

安全类的课,我没选,据说还阔以。

Information Visualisation

可视化,俺还是没选,据说有丢丢麻烦。

Cryptography & Secure Development

安全类的课,会讲加密,俺又双叒叕没选,据说作业难度较高。

Internet Technology

主讲网站开发,内容很翔实,实操很多,压力略大,不过个人比较推荐(小组作业预警⚠️,需要提前掌握Python预警⚠️)。内容包括架构、Django框架、CSS、AJAX、HTTP协议、客户端、XML等等。个人作业是根据Tango with Django教程写一个半成品网站。然后小组作业是4人组队,写一个网站,基本都写的是评测类的网站。Quiz比较多。

Algorithms & Data Structures

SD的必修课,数据结构和算法,将来打算做开发的话这是绕不过去的坎。比较推荐,讲的不是很深,有Lab。

Advanced Programming

SD的必修课,将来做Java开发的话推荐,会讲泛型、多线程、序列化、数据结构等内容,有Lab,作业难度稍高。

碎碎念

有小组作业的课程组队的时候一定要慎重,来自被一次小组作业深深伤害过的人的忠告🐶
小组作业也要注意自己的工作量哦,毕竟小组作业的得分有一部分就是组员打分,懂得都懂🐶

最后祝大家都能拿Distinction😊