Reading view

There are new articles available, click to refresh the page.

Monash MIT 经验谈 #1:第一学期

Monash MIT 经验谈 #1:第一学期

转眼已经在家读完 Master of IT 的第三学期,每学期的选课都仿佛一次赌博,Google 搜索「Monash IT 选课」满眼都是培训机构公众号年年复用的废话文章。想想不如做一个 MIT 经验记录,总结自己也方便后来者。因为这个话题的时间跨度较长,所以可能会分多篇进行介绍,这是本系列正文的第一篇,具体介绍第一学期。

前文提过,除了最后一学年的毕业必修科目,MIT 课程总共有六门必修课。第一学期的四门科目全部都是专业必修课,没得商量。澳洲的授课型硕士的本质其实是为过去完全没有学过相关专业的无背景人士提供一个快速学习和转行的渠道,所以第一学期的这四门课也相当于专业背景快速入门。

科目

FIT9131: Programming foundations in Java

顾名思义,这门课是学习 Java 编程基础。这门课的评价比较两极化,对于没有编程基础的人来说这是好好从零开始学习编程的机会,但对于使用过其他语言的人来说可能会过于轻松。

FIT9131 包含两个作业,类型基本相同,都是通过基础的 Java 编程实现作业要求的程序,搞懂上课内容多动脑基本就能做出。因为两次作业都有面试,所以如果作业中有向同学请教来的部分,就务必需要搞懂,否则面试一问三不知可能会很难堪。

而 FIT9131 的考试主要还是围绕概念的理解和代码能力,所以同样是需要吃透教学内容,几乎没有什么走捷径的技巧和注意点可言。

如果你有编程基础

虽然 MGA 的学长学姐们在迎新周会告诉你 Java 有点难,但对于哪怕有过一点面向对象编程经验的人来说 FIT9131 的教学范围可以说是非常浅薄。FIT9131 使用 BlueJ 作为 IDE,这是一款面向教学的 IDE(和实际的专业编程环境相当脱节)。这科重点大多集中在对类和对象的理解,主要学习内容是类、对象与成员的关系和各种结构控制。相比国内大学 C 语言课程动不动教你指针考你算法,FIT9131 的 Java 直到学期结束都几乎没有讲解 Java 包、抽象类、接口、枚举等概念,实在相当阳春。

当然也不是说不用好好学习,跟着 FIT9131 系统性地学习一遍 Java 其实也是对自身知识的查漏补缺,只是 FIT9131 的教学内容作为专业基础实在有些划水,甚至与之后选修课中需要用到的 Java 内容存在很大脱节。如果后期想好好学习其他课程或者从事开发工作,还是要跳出教学范围自己在课外多花精力额外学习不少东西的。

如果你没有相关基础

对于没有任何编程经验的同学,这门课的学习可能需要花点功夫。而 FIT9131 的教学内容几乎是任何一门语言的基础部分,所以即使你未来准备转向其他语言,在这门课上消耗的脑细胞也不会是白白浪费。

此外我也遇见一些来自文科背景的同学对于编程学习相当吃劲,加上第一学期刚开始接触英语的专业教学环境导致部分术语可能很难理解,手头备一本中文 Java 入门书籍可能也会更加方便,例如《明解 Java》

FIT9132: Introduction to databases

相比 FIT9131,FIT9132 数据库这门务实很多,虽然这也可能是因为我此前除了 phpMyAdmin 以外几乎没有任何数据库操作经验。FIT9132 使用课程教学组提供的 Oracle 数据库和 Oracle 自家的 SQL Developer 作为 IDE,开篇以概念为主,首先几周主要学习关系型数据库的设计步骤和规范,然后才开始学习和实操 SQL 语句,最后再学一些 PL/SQL 作为进阶。

FIT9132 包括两次作业,第一次作业以数据库设计为主,主要覆盖 UML 数据库建模图、数据库规范化等,只要搞懂教学内容、多问老师,基本都能解决;第二次作业侧重 SQL 和 PL/SQL 语句的编写,难度跨越较大,尤其是涉及到 SQL 子句和 PL/SQL 的部分,建议尽早开始作业。

FIT9132 这门课与 FIT9131 同样都是理论与实践相对联系密切的领域,所以考试准备其实也类似,除了搞懂每一个教学内容、熟练自己的语句编写能力,其他没有太多捷径或者注意点。

就个人而言,考虑到我此前可以说完全没有数据库经验,这门课对我来说并不算轻松,加上遇到一位比较划水的 tutor,做第二次作业时甚至有点心情爆炸。

FIT9134: Computer architecture and operating systems

FIT9134 与前两门课不同,其 lecture 内容与 tutorial 内容相对割裂,这门课的 lecture 主要围绕计算机架构和操作系统的理论知识展开,而 tutorial 内容是 Linux 系统和其 bash 命令行的各种基本使用。

FIT9134 没有考核作业,但每次的 tutorial 都计入考核项目,每节课考核要点包括任务的完成以及 tutor 的随机提问,这也使得大家在考试周之前都把这门课的重点放在如何平安度过每周一次的试炼。为了避免每周的胆战心惊,你也可以在课前向其他 tutorial 在你之前的同学提前打听本周的教学内容,提前准备好再去上课。

此外这门课也最大程度地展现出在 Monash 你选到的不同 tutor 很可能直接决定你的上课体验以及科目成绩。我 FIT9134 的 tutor 同时也是这门课的 lecturer —— Andy Cheng。Andy 作为这门课的 lecturer,在 tutorial 中的讲解是非常详细且优秀的,但他在学生中的口碑也是出了名的严格和刁钻,同样的教学内容 Andy 可能讲得比其他 tutor 更加细致,但 Andy 的考核也让人更加提心吊胆。只是从我个人来说,因为折腾过不少 VPS,所以 Linux 的基础操作还算比较熟悉,能碰巧选到 Andy 的课还是挺不错的。

和日常考核不同,FIT9134 的考试更加侧重 lecture 中的理论,所以考试之前非常需要提前回顾这些此前一直被忽视的理论知识,加上这些理论知识因为平时很少用到所以非常容易遗忘,务必需要认真准备。

FIT9135: Data communication

从这门课开始,Monash 已经开始展示自己文不对题的起名技巧。FIT9135 的名字叫 Data communication,但内容实则是网络基础。课程主要围绕计算机网络通信的 OSI 分层模型和各网络层常见的通信协议展开讲解,理论知识尤其多。繁多的概念和理论讲解也导致这门课和 FIT9134 的 lecture 并列 MIT 第一学期最佳催眠素材。

但问题是即使再催眠,这门课的考核内容包括 lecture quiz,这意味着你还是需要好好听讲或者对教材 PDF 练就一手熟练的 Command + F 大法的。FIT9135 还包括两次作业考核。第一次作业包括两部分:第一部分撰写 technical report 基本较水,多上网查文献结合上课内容随便发挥基本不成问题;第二部分通过软件进行 Wi-Fi 热点信号评估,基本和 tutorial 时教的一致。第二次作业在 CORE 网络模拟器中进行网络架设和查错,需要对几层常用的网络层级理解到位。

这门课的考试与 FIT9134 类似,需要你对课堂所讲的理论知识进行复习、精心准备。

一些感言

相比之后的学期,第一学期的学习任务其实可以算是非常休闲的。但并不能因为课程任务轻松就松懈,如果上课内容不理解透彻会对后面的作业完成造成很大的麻烦。我认识的人中也不乏弄到要去校外补习班抢救甚至最后挂课重修的案例,说实话不管前者还是后者都相当没必要。

Monash MIT 经验谈 #0:选课介绍和工具

Monash MIT 经验谈 #0:选课介绍和工具

转眼已经在家读完 Master of IT 的第三学期,每学期的选课都仿佛一次赌博,Google 搜索「Monash IT 选课」满眼都是培训机构公众号年年复用的废话文章。想想不如做一个 MIT 经验记录,总结自己也方便后来者。因为这个话题的时间跨度较长,所以可能会分多篇进行介绍,这是本系列的前言,算作基本介绍。

虽说是选课,但其实 Monash 的选课包括两个部分:

  1. Web Enrolment System (WES) 注册你这学年要读的科目。
  2. Allocate+ 选择你这学期各科目的上课时间。

在 Monash,你就读的课程(也就是专业名称)叫 course,而你学习的每一个科目叫做 unit。课程规定了你要学习并通过哪些课程、共计多少学分方可取得学位(类似于国内大学的培养计划),而你可以在 handbook 和 course map 给定的框架之下自由选择你想读的科目,这也就让同样是 IT 专业的同学能够拥有完全不同的学习方向,例如开发方向、AI 方向、数据方向、安全方向等。至于学费,其实也是根据你当前学期注册的科目学分和学校几乎每年涨价一次的学分单价计算得来。

WES 选课

通常来说 Monash 的课程手册中包括必修课和选修课,选修课根据选择范围不同又分为专业核心选修课、同院选修课和任意选修课,这四类科目并不一定在每个课程中都有,尤其是研究生课程本来就只有四个学期,从未来发展角度来说即使有任意选修课,用来读其他院系的课程也未必划算。

必修课

就我所读的 MIT 课程来说,除去最后一学年的毕业科目,总共有六门必修课。前四门科目是第一学期必须按没得商量,后两门则可以自己判断在第二学期或第三学期解决。虽说每门都是躲不掉的科目,但涉及选课和科目安排还是有一些技巧,具体科目注意事项会在后几篇中介绍。

选修课

我是在 2019 年第二学期入读,所以我的选修应该一直遵循 2019 Handbook。这也是目前学校选课较坑的一点,即使到了 2020 年,我的专业核心科目也需要从 2019 年课程手册中的核心科目列表选择,即使其中不少科目已经被砍。这也直接导致我失去了注册「算法与数据结构」的机会,因为原本的 FIT5211「算法与数据结构」在 2020 年并入原本的必修课 FIT9134「计算机架构与操作系统」,而在 2019 S2 已经修完 FIT9134 的我既无法选择已经不存在的 FIT5211 也无法再读一遍 FIT9134,活生生错过最重要的计算机专业基础。

注意事项

  • 每学年都需要在 WES 注册新学年的修读科目,所以一定要注意学校的注册时间,超过正常选课期进行选课需要额外缴纳延迟费,要是超过延迟选课期则可能直接影响下学期的学业继续。
  • WES 系统在学期开始后的两周左右时间里依然修改选课信息,也就是说你如果在这段时间里如果对课程感到不满意,依然可以尽快换课,但需要注意系统截止时间。此外,退课时间应该以学校的 census date 为准,超过该日期后尽管 WES 系统依然允许退课,但成绩单可能会记录信息且不会全额退款。

Allocate+ 排课

排课是每学期的大难题。同很多澳洲大学一样,Monash 允许学生通过 Allocate+ 系统自主选择参加各科目的不同课时,也就将排课的权力与自由部分下放到学生手中。如果使用得当,你完全可以排出一周只上三天课的快乐课表。

但这样的自由也变相增加了烦恼,毕竟没有人想上早上八点的课,这就导致下午的课变得异常抢手。各门科目的课时交叉重叠也导致如何排出自己满意的课表也成了一场难度异常的时间管理技能考验。这里主要列出三点可以注意:

  • 尽早注册,尽早排课。所有人都知道这个道理,但大多数人包括我自己都是严重拖延症患者。然而众所周知,你比别人越早开始抢课,你的可选课时就越多。
  • 尽早填写课时偏好。Allocate+ 在开放选课之前会有很长一段时间开放填写课时偏好,并且邮件通知。尽管 Allocate+ 按照偏好给你自动安排的课表往往充满玄学,但还是值得尝试一下的,反正正式开放排课后你还能随便改。
  • 善用工具。当我第一次使用 Allocate+ 时就发现其实已经有校友写过一个不错的 Monash 排课辅助工具,它能够通过所有可能的排列组合帮你列举出符合你要求的课表组合。尽管这个工具并不能帮你黑进系统、逆天改命,但在时间管理能力捉襟见底的时候还是相当具有启发性。我和很多同学交谈后发现这个工具的知名度并不算高,所以这里推荐一波。

课表订阅

我见过不少人只会打印 Allocate+ 导出的 PDF 课表、甚至是通过人脑记住每周课表,然而其实 Monash 一直有提供官方的日历订阅功能。通过订阅 Monash 的日历链接,你可以直接将你的 Allocate+ 课表导入 Google 日历或 iOS 内建日历等各种日历客户端,并且能够自动更新,十分方便。

此外也有校友推出过一款 iCallate 能够将 Allocate+ 的课表导出为 ICS 文件,同样实现了导入到任何日历客户端的功能。相比 Monash 官方的日历订阅,这位校友的作品支持将日程标题自定为更易读的科目代码或名称、将原本上课地点不说人话的编号转换成人话等功能,但缺点是不支持自动更新。

总结

相比国内大学,国外大学各方面都表现出更多的自由。无论是选课还是排课都表现出极大的自由度,学校也不再按照班级进行落实到每一个个体的管理。这些自由本身也要求每个学生要做到对自己的生活和学习负责的态度。例如选课、退课这些学业事项的截止日期,以及自由的科目选择也默认了学生对自己未来的职业发展有清晰的规划。所以不少从国内带来的观念还是需要转变的。

❌