Luna记 | Monash MIT: 第三学期小结

December 30, 2018 字数 3662 8 min


0. 前言

在 2018 年结束之前,总结一下自己第三学期的得与失。

选课

第三学期的选课比前两学期要自由一些,因为我第二学期把两门 IT 必修课(5057,5136)都上掉了,所以这学期的四门课均为自由选择

我选的课是:

  • FIT5032 Internet Applications Development
  • FIT5140 Advanced Mobile Systems
  • FIT5137 Database Analysis and Processing
  • FIT5202 Data Processing for Big Data

前两门课是开发相关,后两门课是数据相关。

课程压力

就我而言,第三学期的学习压力比第二学期要大,主要因为有 FIT5140,这门课从开学到期末一直都很忙(每个 assignment 都要花很多时间,最后一个作业是考试周第二周 due,所以在备考期间也要占用一些时间做开发);

另外 FIT5032 的 assignment 也花了很多时间去自学(然而没学的很好);

最轻松的就是 FIT5137 了,老师讲的好,tutor 解释的也清楚,理解起来不费劲;

FIT5202 的话,没花太多时间(其实是实在挤不出时间了),所以学的也不太好(这可能是我目前最划水的一门课了)。

课程表

鉴于图书馆位置非常紧张,而我又属于那种环境噪音大没法集中注意力的人。

据我观察,早上 10 点半之后图书馆人就开始多了,所以我选课的策略很简单,要么早上 10 点前,要么下午 4 点后。

于是,这学期我排出了一个非常理想的课程表:

  • 周一周三可以全天学习;

  • 周二周四也有将近 5 小时的整块学习时间;

  • 周五上完两个 Lecture,去跑个步,再继续学习。

唯一的问题就是周二周四只能吃一顿午饭,然后要坚持到晚上 8 点(不过为了整块的学习时间,这点牺牲也无所谓了)。

成绩

接下来我会仔细分析每门课程,一方面作为自我总结,另外也可以给学弟学妹们提供参考。


1. FIT5032 - 其实不水的网页开发课

  • **全称:**Internet Applications Development
  • **一句话简介:**网页开发入门课
  • **IDE:**MS Visual Studio 2017 Community
  • **语言:**C#,JavaScript
  • 作业 50% - 个人作业:
    • 平时每周要提交 2 个课堂作业;
    • 同时要自己根据主题(我们这届是 Health)来设计一个网站 - Design Report;
    • 并且实现 Design - 用ASP.NET 的框架做开发;
    • (Optional)写一个 Research 的 paper - 我没写;
  • 考试 50%:
  • 给样卷,不给答案(我觉得非常不合理!给了样卷就应该给答案嘛!不然答题的时候还是一点方向都没有。)

学习历程

5032 这门课,我一开始错误的以为压力并不大(大家都说这是水课)。

同时,因为 Lecture 讲的实在太差(重点全部略过,浪费大量的时间在解释 Assignment 和 Lab task 上),所以我前面几周都没有好好研究课程内容(后悔 ing)。

写完了 Design Report,准备开发了,才发现自己想做的功能很多都实现不了(因为 ASP.NET 的框架不熟悉,而且网页的基本知识也是从头学起)。

我差不多到了第 5 周就开始焦虑了= =觉得自己交不出这门课的作业。

然后我就找各种视频教程学习,但是也没有太大的收获。

去了一次 Consultation,用处不大(可能我的知识体系还没建立起来,别人给我解释我也听不懂)。

另外,HD 要求做两个模块,tutor 一直跟我说我已经够了,但是到了第 9 周突然跟我说我还差一个模块(简直吐血!!),我只好硬着头皮继续加功能。

因为心理压力太大,第 10 周还不幸把我的 surface 给摔了……雪上加霜。

到最后,总算是完成了一个自己能看得过去的版本(但是没有写什么太多 JavaScript,也没有 publish),然后第 12 周在课堂上 interview 完,就没去管这门课。

Research paper 占作业 100 分里面的 10 分,也就是说只完成 Design Report + 网站 = 90 分。本来想写一下的,后来听说性价比不高,其他课也比较忙,加上我本身特别不爱写论文,就放弃了。

5032 的期末考安排在考试周的第一天晚上,复习的时候痛不欲生(因为 Lecture 啥也没讲。。但是给的材料里面知识点又很多,复习的时候完全找不到重点啊!!!)。

而且,据说很多同学的期末考试分数都不高(再一次说明这门课不水)。

我的话,作业分拿了 88/90(出乎意料),最终成绩是 86。

对于一门自我感觉学的很吃力并且没有完全搞明白的课来说,已经满足了。

5032 给我最大的感受是,网页开发其实没有想象的那么简单好学,技术更新很快,不光基本功要扎实,还要关注未来的趋势。

下学期做 IE,我需要再好好攻克一下网页这块硬骨头,争取能做出让自己满意的产品。

作业 - DIYFitness

简单介绍一下我的网站设计。

这个网站里面有各种各样的健身动作(由编辑上传),用户可以自由搭配动作来设计一套个性化的健身方案,同时可以发布文章来分享自己的方案(也可以设置为自己可见)。

**公开的方案:**其他用户可以点赞,编辑可以设为精选。

另外还有个地图功能,每个用户可以添加自己喜欢的健身房到地图上。

还有一些细节和作业要求的功能,在这里就不展开讲了。

我还是挺喜欢这个 idea 的,可惜没做到自己最理想的状态,以后有空考虑迭代一下~

(首页)

(用了 RichText Editor + reCAPTCHA 机器人验证)

(公开的 Program 列表)

(用户保存的 Gym)


2. FIT5140 - 最值得选的开发课

  • **全称:**Advanced Mobile Systems

  • **一句话简介:**IOS 开发+IoT 入门

  • **IDE:**Xcode

  • **语言:**Swift4.0(学期中升级到了 4.2),JavaScript(不深),Arduino(C++,不深)。

  • 作业 100%:

    • 30% - Assignment1(个人作业)是纯粹用 Xcode 写一个用到地图、coreData 和不同类型 View 的 IOS application。(详情可见:Luna记 | 我的第一个iOS App )
    • 20% - Assignment2(2 人/3 人组队)是用 Raspberry Pi 和温度、颜色的两个 sensor,结合 Google Firebase 做一个 IOS application。
    • 10% - Assignment3a (2-4 人组队)是一个关于最终大作业的 proposal,要画电路图。
    • 40% - Assignment3b(同 3a 人员)是实现 3a 的设计。(详情可见:Luna记 | IoT project: Smart Baby
  • Tips:

    • 和其他 unit 有所不同的是,5140 这门课,即使选了不同时间段 lab 的同学也可以跟老师提交申请,进行组队;
    • 这门课没有考试,但是整个学期(week1-week14)都挺忙的,一直在学新东西(也很有收获);
    • Teaching Team 很 nice。强推 Charlie,也就是我的 tutor,人超好!!细心解答问题,帮忙 debug,还很幽默!!
    • **这门课有前置要求哦!**上完 FIT5046 - 安卓开发,才能选,而且只有 S2 才开,所以大家最好 S1 选 5046,S2 就可以选 5140 啦!

3. FIT5137 - 有趣且压力适中

  • **全称:**Database Analysis and Processing

  • **一句话简介:**用 Star Schema+OLAP 建立 Data Warehouse,用于生成 Business Intelligence Report,帮助决策和分析。

  • **软件:**SQL Developer

  • **语言:**SQL(basic + OLAP)

  • 作业 40%:

    • Mars Quiz - 5%
    • 期中考试 Unit Test - 15%(开卷);
    • Assignment(2 人组队)- 20%;
  • 考试 60%:

    • 给样卷(一共四份),还给答案。
  • Tips:

    • **Query Tree 不用太纠结每种可能性,**我和一个朋友考前研究了好几天,最后发现考的都是课上讲过的,没有很偏(囧)。
    • Lecturer 逻辑很清晰。好好上课,好好做作业,有疑问及时解决,每周跟上进度,这门课没问题的~

4. FIT5202 - 组队很重要

  • **全称:**Data Processing for Big Data

  • **一句话简介:**Hadoop + HBase + Spark + GraphX

  • **软件:**虚拟机,请准备好足够的硬盘空间(至少 35G)。

  • **语言:**Scala

  • 作业 100%:

    • Lab 作业(5 人组)第 4 周 - 第 9 周 - 25%
    • Assignment1(个人)- 40%
    • Assignment2(5 人组)- 35%

学习历程

这门课好像是 Data Science 的专业课。

怎么说呢,教的东西其实蛮有用的,但是 Lecture 讲的内容太多太杂,我其他的课又比较忙,没有及时跟上(我的错),自学的时间花的也不多。

所以总的来说,我学得不太好。

最庆幸的就是组到了 4 个靠谱队友,才没有觉得压力很大。

我个人不是很推荐这门课,因为如果组队不当就会很累,想学好要自己花大量的时间(就是有点鸡肋的感觉……)。


5. 结语

总的来说,我这学期 IOS 和 Data warehouse 学的还不错,网页学的一般,大数据学的很水。

感想 1 - Teaching Team 很重要

  • 比如 5032,我感觉老师的帮助不大,我用了很长时间去适应 Visual Studio 和网页开发的基本框架;
  • 相反,5140 的老师能提出有效的建议,帮助我度过了最难的适应期(一开始真的觉得 Xcode 特别难用),后面学起来就比较轻松;
  • 5137 的 Teaching Team 也很棒,期中考试结束还特别安排了 consultation 来解释一些比较难的题目,这样即使是做错了也知道自己怎么错的

感想 2 - 开学前三周很重要

  • 我发现,每门课前几周讲的内容都偏背景知识+基础知识,听起来很简单,但是理解并且真正吸纳到自己的知识结构中,需要花点时间。
  • 如果前几周的基础没打好,后面几周授课进度加快,难度加大,作业增加,很容易跟不上,甚至要回过头去打基础,这样的效率很低,也会给自己造成很大的压力

感想 3 - 队友很重要

  • 我自己经历过比较差的 Teamwork,也有过很愉快的组队经验;
  • 组队最理想的状态就是:分配任务恰当,并且每个人能够按时完成自己的部分(且保证质量);
  • 如果开会的时候人总是不齐,这个组基本上就凉了……
  • 最后负责整合作业的人(一般是组长),肩负重大责任(比如排版,检查错误,检查逻辑等);
  • 所以小组作业最好提前 2 天完成,留出足够时间去优化作业;
  • 当然,好队友可遇不可求,如果队友真的不给力,负责的话自己多做点,要么就大家一起翻船。

最后

公众号不知不觉已经坚持写了半年,我的收获还是蛮大的;也结识了许多志同道合的朋友,达到了“以文会友”的初衷。

明年会继续保持周更的频率,努力认真的对待生活,如实客观的记录成长~

提前祝大家 2019 年新年快乐!


Talk to Luna


Support Luna