RMIT的IT课程设计十分地人性化,每个学期的课程根据自身知识的储备的不同会有多个方向的选择。但是,如果对自己的了解不够深入,或者对课程的英语描述不清楚的同学很容易踩雷。所以RMIT的学霸学长根据自己的经验将每个学期的课程分别从:
难度(课程知识点是否易于理解,1星非常难,5星很简单)
实用(课程内容是否实用,1星不实用,5星很实用)
考核(考试难度及作业量,1星难过,5星易过)来评价
RMIT的IT Master第一学年要完成以上6门必修,再加上2门选修。
第一学期强烈建议所有同学按顺序把四门必修读完,分别是:programming Fundamental、SEF、Database Concepts和IT IS。不要跳课,因为很多之后的课程是以这些基础课作为pre-requisite的,比如第二学期的Usability Engineering需要读完SEF,Advanced Programming需要读完Programming Fundamental。
COSC2531 Programming Fundamental
by Simon
易懂 5星 | 实用 5星 | 考核难度:简单
这门课是RMIT master的编程基础课,学习JAVA。对于之前有一定背景的同学来讲会非常的简单,同时对于没有背景的同学来说, 这门课的节奏适中,也可以让你好好课下补充学习其他的知识来打基础。JAVA是一门非常严谨的语言,从它入门IT会令新手同学受益良多,养成严谨、良好的编程习惯之后再学习其他语言真的是事半功倍。
内容从介绍什么是编程开始,到变量类型、基本输入输出流、条件分支、控制流程、最基本的数据结构(数组)、类与对象、方法与构造函数、继承、多态、封装、抽象类、接口、异常处理等。后半学期不会特别深入,下学期的AP还会继续讲。中间会穿插一些面向对象的思想。
第一个作业是一个不算复杂的consoleproject,主要是练习课程前半截学习的知识,到数组为止。第二个作业稍复杂一些,加入面向对象、多态、继承、封装等高级一点的概念。
重点: 对于新手同学来讲,每个知识点都很重要,都要好好掌握。
考试形式:quiz和期中考试,随堂进行,各10%。还有两个Assignment(10%、20%),最后一个50%的期末考试。期末考试大概会有60分左右的徒手写代码,其中20分左右写小函数简答,40分左右写一个完整的程序。
高分技巧:一定要跟住进度,有问题积极的解决,不要拖。养成编程解决问题的思维很重要,不要过分死记硬背代码。
ISYS1118/ISYS1117 Software Engineering Fundamentals
by Simon
易懂 4星 | 实用 4.5星 | 考核难度:简单-中等
这门基础课是之后很多课程的pre-requisite,同时真的听说有同学会挂这门课,所以一定要学好。总体来说这门课就是画各种图,而且上课lecture讲的大多数只是理论,所以tutorial一定要全部参加,不然的话不知道自己画的图对不对,很容易拿一个非常惨的分数。
这门课从第三周开始每周都有quiz,需要好好准备。同时有一个贯穿整个学期的project assignment,形式就是大概在前三周的tutorial里完成组队,然后老师会给一些project的option供每个组来选,同时每个组一边进行开发一边根据课程进度来画相应的diagram,同时还有一些milestone presentation。
考试形式:从第三周起到十一周每周有课堂quiz,6次里取5次最高来算成绩。同时有一个持续整个学期的project assignment。最后还有期末考试
高分技巧:Tutorial里不懂得一定要问老师。找好队友,队友很坑的话真的难熬。
ISYS1057/ISYS1055 Database Concepts
by Simon
易懂 4星 | 实用 5星 | 考核难度:简单-中等
这门课是数据库的基础课,也是一些课程的pre-requisite,内容涉及Relational Modelling, Entity-Relationship Modelling,SQLProgramming和ER Modelling 等等,总体来说不难。
需要使用SQL developer,具体的指导一般会在第一/二个tutorial sheet里仔细列出,有任何问题及时找老师。
难点:SQL语句对于有些同学来说写起来比较困难,如果有困难的话要及时解决。
考试形式:这门课有两个assignment,里面会涉及本学期所学的所有概念和一些实际应用,比如写SQL、画ER图之类的。期末考试和平时的作业类型类似。
高分技巧:Tutorial一定要仔细听,老师会仔细解释lecture上的概念是如何应用的,同时也会时不时穿插一些assignment上的东西。
COSC2737 IT Infrastructure and Security
by Simon
易懂 3.5星 | 实用 3.5星 | 考核难度:简单到中等
这门课是去年新出的课,学校也在一直对其内容进行改革,所以可能有的同学会觉得十分混乱。
整体来说lecture上会迅速涵盖很大范围的知识点,然而tutorial上会用到很多Unix/Linux的东西,所以两边都要学。不过学起来也是有技巧的,lecture上的知识不需要每一条都研究的很透,因为不是很有必要,重心要放在tutorial上。
难点:知识很多很杂。
考试形式:这门课有两个assignment,还有很多小测验,基本上每周都要忙,最后还有期末考试。
高分技巧:tutorial一定要好好听,lecture上的东西知道个大概就好。
COSC1182 Usability Engineering
by Simon
易懂 4星 | 实用 4星 | 考核难度:简单
这门课是必修课,讲的内容包括什么是用户体验、如何设计usability测试、如何评估用户体验和各种测试方法等等,有一些文献需要阅读,有的时候会有guest lecture。
对于将来想从事UX/BA的同学,Usability方面的知识是一定要有的,这门课是个很好的开始,建议好好学,之后再在工作中继续补充。
难点: writing,需要措辞相对地道、没有语法错误才能拿高分。
考试形式:这门课一般会有三个assignment,其中有一个是以小组的形式运用课堂知识针对一个网站完整的设计和执行一次usability test,最后完成一个大的report,剩下的两个是一些分析性的report,占比不高。最后还有期末考试。
高分技巧:这门课需要写大量的report,所以writing很重要,如果写出来的东西辣眼睛,那基本上高分无缘了。对于考试要注重最后的revisionlecture和理论方面的东西,考试会有很多理论方面的分析。
COSC2615 Advanced Professional Development
by Simon
易懂 5星 | 实用 2星 | 考核难度:简单
这门课可以算得上是数一数二水的水课,主要讲的是一些CSIT领域的职业素养、道德、intellectual property之类的比较概念性的东西。
Tutorial里会涉及一些稍微实用点的软技能,比如如何措辞正确的写email、如何be assertive之类的。
最后会有一个group presentation,需要好好准备一下。
建议不用在这门课上花费过多时间,可以在选它的那个学期配一门较难的选修。
难点:最后的presentation是每个人分别计分,如果有的同学口语不是很好会很吃亏。
考试形式:这门课今年进行了改革,取消了期末考试,换成四个assignment。
高分技巧:这门课没有期末考试,所以需要注重每一个assignment的分数,其中tutorial会有多个计分的测试,需要好好准备按时参加。
COSC1295 Advanced Programming
bySimon
易懂 4星 | 实用 5星 | 考核难度:中等
这门课是第一学期programmingfundamental的延伸,继续讲Java里的一些高级概念例如多态、继承、封装、泛型、多线程和面向对象,同时会涉及一些基础的算法和数据结构,和GUI。
这门课上来不会过多涉及PF里的东西,所以需要同学们有一个良好的JAVA基础,不然的话会跟不上进度,然后陷入恶性循环。
这门课的assignment统统是individual assignment,最后还需要向lab instructor做demo,所以不要存在侥幸心理,踏踏实实的学习。
难点:最后的assignment涉及GUI编程,用的是javafx,如果之前JAVA学的不错的话,掌握javafx会很顺利,不然的话会很困难。
考试形式:这门课有两个individual assignment、期中考试和期末考试。
高分技巧:这门课需要同学们有良好的JAVA基础,所以如果下学期有这门课的话,前一个假期里同学们要花时间把JAVA捡起来。
COSC1285 Algorithms and Analysis
byChow
易懂 4星 | 实用 5星 | 考核难度:中等
这门课就是大名鼎鼎的算法。对于没有CS背景的同学来讲,这门课可以说是不容易,首先算法和数据结构本身就有些抽象,其次这门课假设同学们有一定的编程水平,作业都是编程实现算法,没有伪代码和文字性的东西。如果从第一学期就好好学习的话,到这里也不会很难,如果是一路飘过的话,到这门课可能会有些难以招架。
不过这门课好在不会涉及很多数学上的论证和分析,主要讲的是分治法divide & conquer、减治法 decrease & conquer、变治法transform & conquer、动态规划、贪心、背包、递归、穷举等等基本算法问题。
难点:这门课需要同学们有良好的JAVA基础来写作业,JAVA水平不够的话会压力很大。
考试形式:这门课有两个assignment、期中考试、online quiz和期末考试。
高分技巧:lab和tutorial会分别针对实际编程和理论,所以一定要按时参加,不懂的及时搞懂。
ISYS1106 Software Engineering Project Management
byChow
易懂 4星 | 实用 5星 | 考核难度:中等
这门课主要介绍的就是Agile和如何在项目中采用Agile methodology,稍微会介绍一些其他的development methodology比如kanban。
Lecture上会着重介绍理论,然后通过tutorial来让同学们实际操作。master的同学需要同时develop一个完整的项目,根据项目来做各种报告、图表,lab instructor真的会根据你的项目进展来对照你的charter/backlog之类的文档,所以组队的时候一定确保组里有人会一些全栈开发。
难点:这门课需要master同学们独立开发一个项目,所以如果组员都不是很擅长编程的话会很麻烦。
考试形式:这门课有一个projectassignment、期中考试、课堂测验和期末考试。
高分技巧:认真对待每一个小测验,找好队友。
COSC 2626 Cloud Computing
by Chow
易懂 3星 | 实用 5星 | 考核难度:中等-难
RMIT硬核课程之一,难度上不封顶。lecture内容基本涵盖所有cloud technology里的重点,从介绍什么是云、到介绍云技术的概念、典型cloud services、MapReduce、Hadoop和serverless architecture等等,同时tutorial里会涉及具体的implementation,基本都是干货。
课程假设同学们自带全栈开发的能力(不要求掌握框架)和一定的自学能力,比如去年slide上红字标明如果不满足pre-requisite就选这门课的话,责任自负。
难点:这门课如果对自己自学能力不是很有自信的话建议不要选,真的会写不出来assignment导致挂科,或者严重拉低GPA,不建议抱大腿,那样不如选门别的。
考试形式:这门课有一个小assignment 15%、一个project assignment 35%和期末考试,projectassignment需要同学们完成一个应用多种云技术、部署在云上的完整项目,分数会跟project的复杂度挂钩。
高分技巧:实力最重要,tutorial一定要全部参加。
COSC2277 Web Development Technologies
byMicheal
易懂 3星 | 实用 5星 | 考核难度:中等-难
RMIT硬核课程之一,干货十足。就是开课时间不一定,比如有的学年这门课只开在summer,或者只开在第一/第二学期,建议选课的时候顺带看一眼。
课程会涵盖当前非常主流的ASP.NET Core,RESTful API等等,后半段会介绍前端框架Angular,对找工作非常有帮助。
难点:这门课会接触很多新知识,对自学能力是个挑战。
考试形式:有两个assignment,第一个是.net core C# console app (ADO.NET),第二个是ASP. NET Core webapp(Entity Framework、Angular)。
高分技巧:实力最重要、tutorial一定要全部参加。
ISYS1087 Software Testing
by Li
易懂 4星 | 实用 5星 | 考核难度:中等
Testing是一项很重要的能力,每个developer都应该懂一些testing。
这门课会分为三个部分,lecture上会根据ISTQB的大纲来讲述理论,tutorial会涉及testing的一些理论如何应用到实际,比如如何分析一个software disaster之类的,lab会涉及具体的技术,比如Junit、Selenium、Jmeter。
有一点比较坑的就是lecture上课讲的并不是全部为了准备ISTQB考试,但是lecture quiz很多取自ISTQB的原题,导致认真答题的同学分数特别低,这一点在明年应该会改。
难点:这门课每周都有很多东西要学,对耐性是个挑战。
考试形式:这门课目前没有期末考试,成绩分三部分,lecturequiz、tutorial 和三四个labassessment,不过形式应该会改革。
高分技巧:注重每一个小quiz。
COSC2407 Database Systems
by Albert & Chow
易懂 3星 | 实用 4星 | 考核难度:中等-难
这门课十分的偏理论,会深入研究数据库的构成,包括file organisation 、index structure、query evaluation & optimization 和transaction/ concurrency/ recovery等等。
每周有几十页的材料要读,而且必须要读,因为不读根本听不懂课。这门课对research很有帮助,所以更适合有做research打算的同学。
考试形式:有两个assignment,第一个是实现一个heap file。第二个是实现B+tree算法,代码不难,理解如何实现有一定难度。同时还有每周online quiz和期末考试。
高分技巧:每周阅读材料一定要读,甚至需要反复读。
INTE2401 Cloud Security
by Jessie
易懂 4星 | 实用 3星 | 考核难度:简单
这门课名字叫cloud security,但是其实和cloud没什么关系,主要是讲各种加密算法,比如RSA、Affine cipher、identity based encryption之类的。每个lab都需要写一个小程序,计分,同时每个lecture都有一份纸质quiz,可以在下个lecture交。建议对security比较感兴趣的同学选修。
考试形式:这门课每周有quiz和计分的lab assessment,同时有期中考试和最后的一个小assignment,期末考试可以带一张正反面手写A4纸去考试,十分简单。