[心得] 台大电机丙 正取心得

楼主: ShinSioku (kansuke)   2018-04-02 15:54:40
文有点长,请多多包涵。
【背景】
本身是四大化工系毕业,不过对化工应该是没什么兴趣,就浑浑噩噩顺利四年毕业。当完
兵在石化厂工作了一阵子之后想换个跑道,所以就跑去补习班学JAVA和Red Hat Linux,
然后又去资策会上了JAVA班。结训后就在接案子的公司用JAVA写些金融的中台系统。
【报考动机】
最主要的原因是因为之前的工作其实就只是在做CRUD和传资料,一般专案写的东西稍微有
点千篇一律,觉得有点乏味。想要写些别的什么像是大数据处理、机器学习或是更底层的
一些东西呢,能力又还不够,因此才想要报考研究所,提升自己的能力,对电脑科学了解
得更透彻一些。
【成绩】
数学 计组/OS 资/演 英文 结果
台大资工 47 59 21 86 落榜
交大资甲 65 64 49 - 备19
清大资工 35(计科) 61 - - 备30
成大资工 73 59 80 - 正26
台大电机丙 60 88 76 60 正6
【准备时程】
我在前年的11月就报名了大X,因为还在工作,时间上想要比较弹性,所以全部课程都是上
数位课程。一直到去年十月底离职全心准备考试。虽然前年11月就报了,但因为本身太懒
惰的关系,直到去年11月中才把所有课程影片上完(汗)。一月上旬开始写考古题,台大资
工写了八年,交大写了三年,清大写了四年。
【各科心得】
我自己的学习各科的顺序如下:
离散 => 线代
记组&资结 => OS
资结 => 算法
◎离散数学
离散这颗准备起来很方便,东西较少,相对好学,因为离离散散,没什么连贯性,可以上
完一块后休息一下先上别科再回来也没关系。大致上分为基础数论,排列组合和递回,图
论,代数和其他(逻辑、状态机)。题目方面,我是把黄老师课本的题目大概做了1/3左右
。可以的话,做多一点题目会比较好,但如果为了做完沦于用死记或者没有完全弄懂的话
,那倒不如做少一点。离散这科虽然好学但是却不好考,运气成分稍微重了点,就看题目
难易以及考试时有没有灵光乍现。
◎线性代数
线代基本上是环环相扣,建议是一气呵成学完,中间如果有断掉的话之后要接着学会比较
吃力。像我自己就是到向量空间的时候觉得太难,先跑去学别的,回来要再接起来又重新
把前面学过的扫过一遍才能接下去听得懂。
线代是相对难学的科目,一开始会觉得东西非常多非常杂,但其实背后的观念大概就那一
些,概念真的通了那是非题和证明就会简单很多。计算方面大部分其实就是一些机械性的
动作像是SVD分解,找representation matrix,找eigen value,正交化,找投影向量等等
,须做熟。
计算部分真的是白花花的分数,像我自己是没做熟,考试的时候算得很慢或者算错,掉了
不少分数。黄老师教起来比较偏向直接用代数的方式来教,我建议上完课之后,可以看一
下这一本LINEAR ALGEBRA, Jim Hefferon,网络上有合法的资源可以下载。这本书有讲到
determinant,eigen value和eigen vector的几何意义,会比较清楚线性代数在玩什么。
黄老师课本的是非题对培养观念来说太重要了。后面计算部分我自己是挑简单和中等部分
的做,大概做了一半。建议多做一点,做完才会熟,考试才算得快,才不会算错。线代是
相对难学但是好考,毕竟计算题变化较少,而是非计算又总是围绕着那些主要观念。
◎资料结构
资结的内容基础的部分就是把那些堆叠和伫列,那些树,那些hash table,那些排序演算
法。这些部分其实就是要记insert/delete/modify等等的步骤。接下来就是会讨论在一些
算法里面,使用不同的树/堆叠/伫列/排序算法对时间复杂度的影响与讨论等等。老
话一句,熟练度。再来就是要确定一些次数的算法,基本上应该是以算法圣经那本教科
书为准啦。像这次有几题hash table搜寻次数就因为多算了1,被倒扣到吐血。
◎算法
我自己准备的方法是熟读重点中的重点,时间复杂度计算、dynamic programming、
shortest path problem、flow这些都是重点中的重点,每年必考。NP complete那边就是
把定义弄懂,真的了解证明步骤背后的缘由,算法就是考古题有出现的在念即可。剩下
的就是做考古题不会的去找圣经或google。
◎计算机组织
计算机组织其实就是做计算机的规则,这些规则都是人订定的,它是有一套逻辑和步骤在
那边的,确确实实将这些规则和做法记起来,大部分的题目上是不难的。准备这种类似背
科的东西最容易了,只要一直做题目,一直记,一直做题目,一直记。我自己是把补习班
课本的题目全部做完。
◎作业系统
如果把电脑想成一个公司,作业系统就是CEO,要分配钱、设备(resource)下去给员工
(processes)然后完成许多任务(tasks)。这个学科就是在探讨怎么个分法最快最有效率。
所以有很多作法(算法)像是排程,memory allocation的方法等等。这些也都只是规则
和步骤而已,跟着规则走基本题拿到分数是绝对没问题的。比较难的大概
synchronization 部分的算法,这边的code至少要练到自己默写的出来,而且完全懂每
一行code在干嘛才行。这一科我也是有把补习班课本的题目全部做完。
记组和作业系统这两科我觉得是最稳定的两科,反正就是背多分,除了台大以外,其他学
校的考题变化较少。申论题的部分考的就是到底有没有把背的东西真的弄懂,应用在题目
上。没学过的就是google。我自己是没看恐龙,因为没有时间,遇到问题会找找看恐龙有
没有这样而已。
【结语】
其实动机是最重要的啦,首先要确定自己想要念资工。如果不知道是不是真的想念资工的
话,那至少要确定自己想要考好,哥考的是尊严XD。观念是最重要的,念书的时候我自己
是倾向一步一步,在观念上扎扎实实的一小块一小块弄懂。就像柯P说的,很多个0.9乘在
一起还是0,把它变成1是很重要的。一开始会觉得要念的东西真的超多,会很慌,有的时
候甚至会囫囵吞枣一直赶进度,但其实根本就没有懂或者是用死背的,这样唸到后面反而
事倍功半。
接下来是熟练度的部分,熟练度真的就是要靠许多的题目累积,这是骗不了人的,像是我
的记组和作业系统,写的题目最多,分数最稳定。而数学写的题目太少了,不够熟练,尽
管知道方向,但算得太慢,或者在一些细节上容易出错,成绩就比较低。然后我因为演算
法可以说只熟练重点部分,考试当然像赌博一样,有读到的就会,没读到的就GG,分数标
准差超大。
还有就是避免粗心,如前人分享的,一张考卷一定有题目是我们会写,答案都算出来了,
但粗心少看一些条件或者计算错误算错了,这些分数真的也是不少,我自己今年考平均一
个学校可能掉了十分不只。惰性人人都有,但要想办法克服,老师常说撑下去就是你的。
或许读书会是一个方法,不过我自己还是单兵作战啦。
最后感谢我的家人、女友、补习班以及朋友给我的支持与帮忙,期许自己在学成之后能够
和大家一起为台湾在电脑科学领域的竞争力尽一份心力。

Links booklink

Contact Us: admin [ a t ] ucptt.com