作者NCTUBeast (交大野兽)
看板NCTU-Teacher
标题[心得] 电资四年修课心得(电工/电机/资工)
时间Fri Aug 17 18:26:00 2018
先附上图文好读版Medium连结:
https://bit.ly/2BjXeSe
(建议使用好读版,排版较整洁,找课程、点参考网站或云端连结也比较方便)
下面节录自原文:
暑假刷题刷到快崩溃之余,发个修课心得累积人品,希望去美国後可以顺利找到实习...
年初的时候已经有写过一篇通识修课心得了,这篇主要会Focus在电机、资工的相关课
程;我修的课跨了不少领域,因为说真的,上完大一大二的必修课以後,我还不是很清楚
自己到底要往哪个方向走,而大学本来就应该要去不断地探索自己喜欢的是什麽,所以就
决定每个领域的课都去修修看。但也在这边先承认,我大一大二时跷了不少课,所以有部
分的上课心得,我能提供的资讯有限,但我会把我自修的方式也写出来供参考,希望对看
到这篇文章的学弟妹能有所帮助。
这篇文章有四个部份:
电资必修课程、
大学部选修课程、
研究所课程以及
建议。
--------------------------------------
Compulsory Subjects (必修科目)
--------------------------------------
Calculus (I)/(II) (微积分(I)/(II),Lecturer: 符麦克)
--------------------------------------
修课年度:Fall Semester, 2014 / Spring Semester, 2015
授课内容:…就微积分,有点难讲==
授课方式:板书推导 (英文授课)
评分方式:作业+In-class Assignment+期中考+期末考+大会考
其他:
我对这门课的印象其实颇为薄弱,第一堂课听了老师的课以後,觉得老师的奥地利腔好像
有点重,听了也不是太明白,所以就开始了一连串的跷课之旅...这门课我能给的,大概
只有如何自修吧:直接硬啃课本,跟着公式的推导去理解概念,再把後面的题目算一算,
大概就能够理解个七八成了,剩下的可能就得靠写老师出的题目以及In-Class
Assignment来加深印象,最後(I)(II)都有拿到A。In-class Assignment每周都会有,会
有一题基本题跟进阶题,基本题有很大的机率跟上礼拜的作业有87%像,所以作业如果有
乖乖写就不会有啥大问题,进阶题的话就要看你当天的状况了,不过可以尽量把自己的想
法写上去,就算没有解出正确的答案,也会有部分分数。期中考跟期末考,作业念完、考
古题看一看,应该就行了。题外话,其实老师讲中文讲的很标准…有时候还可以用中文跟
他沟通XD
--------------------------------------
Physics (I)/(II) (物理(I)/(II) 荣誉班,Lecturer: 许世英)
--------------------------------------
修课年度:Fall Semester, 2014 / Spring Semester, 2015
授课内容:(I): 第3~14章(力学、波),(II): 第19~24章(电、磁)
授课方式:投影片搭配板书推导
评分方式:作业 + 小考*4 + 期中考 + 期末考
其他:
不调分,也不会点名,但不去上课满可惜的,因为老师讲解讲的还不赖。作业跟考试其实
都还满有难度的,但这些题目其实都颇具巧思,需要将微积分和物理观念相结合;那时候
我们都开玩笑地说如果解老师的考题没有用到微积分,那一定是你解错了XD 经过老师两
个学期的训练,我对於物理这个领域也有了更多的了解(可是现在很多东西都忘光了QQ)。
如果选了这门课,就好好学吧,这不会是一门凉课,但会是门可以学到东西的好课。如果
想要考古题的话,(I)的话自己Google一下就有了,(II)的话可能就得问问看修过的人还
有没有留着了。
--------------------------------------
Physics Lab (I)/(II) (物理实验(I)/(II))
--------------------------------------
修课年度:Fall Semester, 2014 / Spring Semester, 2015
授课内容:一些和普物相关的实验
授课方式:小考完後会讲课,讲完以後就开始做实验
评分方式:预报 + 实验前小考 + 结报 + 期末考
其他:
物理实验通常是两个礼拜做一次;这门课其实我觉得还满...不重要的,预报就抄一抄那
本实验讲义,小考把讲义看一看去考就行了(我都前一天才看...),结报的部份,我分数
好像都满高的,可能是因为以前高中做化学实验时,化学老师对於结报有着满高标准的要
求,在经过这样的训练後,写结报也就不是什麽难事了。我的结报已经传给直属了,所以
也没档案可以提供,真要说技巧的话,大概就是多打点嘴炮吧(喂)。总而言之,是门不太
需要用脑的课。
--------------------------------------
Intro. to Computer & Programming (计概,Lecturer: 胡毓智)
--------------------------------------
修课年度:Fall Semester, 2014
授课内容:
从最基础开始教起,I/O, Expression, Selection Statements, Loops, Arrays,
Functions, Pointers, Strings, Structures等等。
授课方式:投影片讲解为主评分方式:Lab (每周) + 小考 + 期中考 + 期末考
其他:
老师英文相当标准,而且讲解相当清楚,听起来很舒服。老师最有名的话,应该就是
"You can cut my class, but u can't cut my lab hour",意思就是你上课不去没关系
,但你一定要乖乖上机。上机的话,每个礼拜会有大约4~5题,写完就找TA Demo,如果有
问题也可以直接向他们请教。考试的话会分成笔试(占30%,不能看书)以及上机考(70%,
可以看书),上机考内容和每周Lab的练习还满相近的,所以考试前把之前Lab的题目多练
习几次,就不会有太大的问题。只要语法搞懂、逻辑正确,加上足够的练习,这门课应该
可以拿到高分。
--------------------------------------
Discrete Mathematics (离散数学,Lecturer: 黄问泙)
--------------------------------------
修课年度:Fall Semester, 2014
授课内容:
Logic & Proofs, Basic Structures, Number Theory & Cryptography, Induction &
Recursion, Counting, Advanced Counting Techniques, Relations, Graphs
授课方式:投影片讲解...吧(年代久远,有点忘了)
评分方式:作业 + 期中考*2 + 期末考
其他:
各位应该已经没有办法上到这门课了,因为老师已经退休了,所以这个心得大家就当笑话
看看就好。离散数学对当时的我们来说,就是门玄学,很多观念听了、看了以後都不怎麽
懂,一堆证明在纸上飞来飞去的,真的是让人头很痛。不得不说,我们大一上修的科目真
的满多的,这科又这麽难,有时候真的会满想逃避不念的,但是考前身体还是会很诚实地
坐在书桌前开始挑灯夜战(大一唯一一次通宵,不是献给夜唱夜冲,而是献给了离散的期
末考...) 因为班上很多人跷课、去上课的人很多都趴在桌面上睡觉、不然就是有同学
(me)平时不上课只有下课时间会去交个作业被教授抓到...这些大概都让教授很不高兴,
据说教授以前一个班级大概只会当1~2个人,结果那年怒当了班上4/9的学生,当完以後就
享受退休生活去了...
--------------------------------------
Digital Circuit Design (数位电路设计,Lecturer: 单智君)
--------------------------------------
修课年度:Fall Semester, 2014
授课内容:
Boolean Algebra, Logic Gates, Gate-Level Minimization, Combinational Logic,
Synchronous Sequential Logic, Registers & Counters, Memory & Programmable
Logic
授课方式:投影片讲解,老师会用画笔在投影片上面画记
评分方式:期中考*2 + 期末考 + 作业*2
其他:
这门课主要是在教一些逻辑设计的东西,算是门重要的基础课程。老师会把自己的讲义、
练习题印出来,然後在第一堂发给大家。每周都有小考,都不会太难,考的就是上个礼拜
教的东西,所以只要认真复习,基本上不会有大问题。大考的话,每次分数都会破百,老
师的意思大概是希望大家可以不用执着於自己不会写的题目上,去选自己会写的题目写就
行了。期中考的部份会有考古题,所以甭担心;期末考的部份,我那时候把讲义内容全部
都弄懂、教其他同学的时候又把概念理解地更深刻,最後好像考了108吧(满分120),所以
没有考古题也不用太惊慌。我觉得这门课还满有趣的,因为有很多逻辑推导、并且能够开
始对一些电路有初步的认识与了解。我认为,如果可以确实理解这门课的内容、扎稳基础
,对於未来不管是数位电路实验、计算机组织,还是VLSI,都会有不错的帮助。
--------------------------------------
Linear Algebra (线性代数,Lecturer: 林源倍)
--------------------------------------
修课年度:Spring Semester, 2015
授课内容:
就线代吧...Vector, Matrix, Subspace, Matrix Decomposition, Orthogonality之类的
内容(详细章节我也记不清楚了)
授课方式:
翻转教学,上课前要先预习看老师的影片,在星期二两小时的课程时间分组讨论并解出老
师出的作业,而星期五老师会检讨大家做答比较不理想的题目。(为英文授课)
评分方式:每周上课写作业 + 期中考 + 期末考
其他:
一言以蔽之,「线代不学好,老大徒伤悲」。老师那时在推动翻转式教学,也就是说上课
前要先听完老师自己录制的教学影片并消化吸收,小弟我那时候都自作聪明的不听老师讲
解,只把影片里面的公式推导抄一抄、想一想就去上课了。现在想起来其实有点後悔,很
多观念并不是看看公式推导就能明白个中原由,有时候还是得靠老师讲解,才能真正抓到
观念。
--------------------------------------
Object-Oriented Programming (物件导向程式设计,Lecturer: 荆宇泰)
--------------------------------------
修课年度:Spring Semester, 2015
授课内容:inheritance, overload, polymorphism, template等OO基本概念
授课方式:投影片讲解 (应该吧?) (英文授课)
评分方式:每周Lab + 期中考 + 期末考
其他:
必须承认,我没有花很多心力在这门课上,当初教些什麽,很多也忘的差不多了。第一堂
课,待在一个人数爆满的班级,教室很闷,老师的嗓音很平,英文有点…呃,我不好说,
所以我就开始跷课了。每周二的晚上会有Lab练习,在开始练习前助教会用中文讲课,而
且讲得满好的,所以我整学期都只靠写Lab来练习OOP,连老师的讲义都没怎麽看,所以我
对OOP的概念真的颇为陌生。(不得不提,那时候的助教真的很棒,各种耐心指导,也常常
陪我们在电脑教室里Debug,谢谢你们...) 建议大家还是乖乖去上课,就算不去上课,老
师的投影片也要好好看,才不会像我现在一样对於当初没有好好学感到懊悔。
--------------------------------------
Circuit Theory (电路学,Lecturer: 蔡德明)
--------------------------------------
修课年度:Fall Semester, 2015
授课内容:
一开始会从DC Circuits讲起,会带过基本电路元件(电阻、电容、电感)的特性以及RLC电
路,之後就会进入AC Circuits,会让你了解弦波的特性(Phase)、交流电路如何分析、
Frequency Response,学期末大概会讲完Laplace Transform以及要如何将其运用在电路
分析上。
授课方式:投影片讲解为主
评分方式:考试*3(90%)+作业(10%)+Bonus (随堂小考)
其他:
老师上课主要是讲解投影片,偶尔会有随堂小考当加分用。这门课每堂课都会传签到表,
一学期最多只能七次没来,超过的话就会被当掉,我觉得到了学期末会越来越忙,跷课的
Quota应该要留到那时候再用,所以在十二月底前我真的都没跷过课。我去上课的时候大
部分时间都是自己看着电路学课本念,没怎麽在听课,老师也不会管。考试的话,可以使
用工程计算机,然後按虚数、解方程式的计算机内建功能记得要去熟悉一下,解题目时候
会很好用。前面两次考试其实满简单的(也有可能是因为那时候很认真地把电路学课本里
面的题目全部写完了…),第三次因为准备起来比较仓促(同时有很多科目都要准备),我
自己认为了不起大概就60分吧,但最後出来还是有A+,让我觉得满惊讶,所以大家如果有
一次考爆了也别太灰心。老师虽然看起来很严肃,但其实人不错,你去问他问题他也会想
办法跟你解释,老师的中文不太轮转,所以要跟老师讨论建议还是用英文。这门课应该是
我大二上修的最有成就感的一门课,有种我就是学电生的感觉!
--------------------------------------
Data Structure (资料结构,Lecturer: 王才沛)
--------------------------------------
修课年度:Fall Semester, 2015
授课内容:
Complexity, Array, Stacks & Queues, Linked List, Trees, Hashing, Graphs,
Sorting
授课方式:投影片讲解
评分方式:作业*5 + 期中考 + 期末考
其他:
据说现在资结已经跟OOP合并成一门课了吧,那这个心得大家就随便看看就好。老师上课
速度不快,一张投影片有时候会讲很久,上课风格的部份,只可意会不可言传,有些人觉
得很Ok,有些人觉得步调太慢不喜欢。到了学期末,跷课人数也就越来越多了,但这门课
并不会点名。作业的话,这学期的五个作业分别是实作Sparse Matrix (好像是用Linked
List去做的样子,有点忘了)、Permutation(用Stack)、Tree Traversal
(left-child-right-child)、Polynomial Operations(用Binary Search Tree)、Graph (
用Adjacency List,并用DFS/BFS去找Connected Component);偶尔会要Demo,助教很平
易近人,可能叫你解释一下Code、问一些基本观念,只要程式是自己写的,一定回答得出
来。我C++写的真是世界烂,所以偶尔还是会向别人请教该怎麽写,但基本上还是可以顺
利完成作业。
--------------------------------------
Differential Equations (微分方程,Lecturer: 蔡淳仁)
--------------------------------------
修课年度:Fall Semester, 2015
授课内容:
First-Order/High-Order Differential Equation, Laplace Transform, Linear
System of Differential Equation, Power Series, Fourier Series, Partial
Differential Equation & Boundary Value Problems
授课方式:投影片讲解
评分方式:小考*9(11取9,25%) + 期中考(35%) + 期末考(40%)
其他:
微分方程主要运用是各种模型的建构,讲白话点就是各种方程式飞来飞去,然後想办法搞
出一个解,每次看课本真的是看的头很痛,而且坦白讲,我现在已经忘得差不多了。老师
的声音有点小,所以可能要坐前面几排,才可以听得比较清楚。我修的那学期总共有十一
次小考,取九次高的,小考的题目只要每周有固定复习的话,应该可以轻松写;没记错的
话,几乎都是星期三考小考,所以那天的出席率总会特别高,我通常也只有那天会去…。
至於考试的准备,我是把课本啃过一遍、算算老师指定的作业、跟考古题打个照面就上场
秀下限了,每次考试都只有5题,也就是说如果复习的时候稍稍偷懒跳过一些章节,很有
可能20分就飞了,虽然很可惜,但也不用太担心期末成绩,因为期中期末考班平均大概都
落在40分左右,所以老师最後会调不少分,只要不是班上倒数15%,应该就不会被当掉。
--------------------------------------
Digital Circuit Lab (数位电路实验,Lecturer: 蔡淳仁)
--------------------------------------
修课年度:Fall Semester, 2015
授课内容:
上课就讲一些FPGA、RTL之类的东西吧…我都没去上课,所以不太清楚教授在课堂上到底
讲了些什麽
授课方式:上课投影片讲解+上机时间(助教负责)
评分方式:Lab*10 + 期中考 + Final Project
其他:
这门课虽然只有2学分,但是修起来却像8学分…平心而论,我花在电子学、电路学加起来
的时间都还没有这门多,每个周末常常都要待在工程三馆2楼那间讨厌的实验室烧电路板(
可以理解成烧程式到板子上,或是字面上的意思:有一次我什麽都没做,电路板上的排线
就直接在我眼前起火燃烧...真的是吓尿)。Lab难度可以说是循序渐进,一开始还算简单
,後面就越来越困难,内容大多是写写Verilog,然後烧到FPGA板上,让板子有相对应的
动作像是操控LCD、完成运算、或是使用特定Protocol和周边装置沟通;其实在修这门课
之前,我没什麽Verilog的基础,老师第一堂课还拿如何学游泳来比喻,「最好的方式就
是直接把不会游泳的人丢到水里,他就会很快学会游泳...」,修这门课真的是修到快崩
溃,真的很感谢这门课的助教,常常陪我们在实验室待到很晚,也谢谢当初一起修这门课
的同学愿意互相讨论、互相抱大腿(这门课是我大学所有课程抱别人大腿最多次的一门
...)。期中考是上机考五题,跟Lab比起来我觉得还满有难度的,我那时候写个两题,觉
得剩下的大概是写不出来了,所以就找助教来Demo提早闪人,之後公布期中考成绩时,发
现大部分的人也都只有写出两题。Final Project的部分,我们那届的题目是Study of
an FPU,老师会给一包Code(内有FPU的各个Component,总共有将近2000行),要自己去
Trace,试着去做Simulation,并按照特定格式完成Final Report。听说从我的下一届开
始,老师好像就把Final Project改成Final Exam,而且Lab有越来越难的趋势,不过期中
考期末考好像不太刁难,难度可能比Lab简单一些。
--------------------------------------
Electronics (I) (电子学(一),Lecturer: 王毓驹)
--------------------------------------
修课年度:Fall Semester, 2015
授课内容:Semiconductors, pn Junction/Diode/BJT Circuits, MOSFET
授课方式:投影片讲解为主
评分方式:期中考+期末考+小考+作业
其他:
老师是Caltech毕业的,以前曾经拿过物奥银牌,相当厉害。我觉得老师上课其实上的很
不错,老师不会完全照着电子学课本的顺序去讲,而是自己做一些投影片来讲解他认为重
要的概念。最印象深刻的是有一周可能因为大家都很忙,加上老师从不点名,所以那天整
间教室只有一个人在教室右後方睡觉,而且那个人好像是上一堂课的...老师还在FB上发
了文留念(我也是看别人转贴到班网才知道事情大条了),在这边跟老师说声抱歉了QQ 小
考的部分,把作业都算过,分数应该可以全拿;期中期末考就看看考古题跟小考吧!在啃
电子学课本时,如果有不懂的地方,可以搭配这份讲义,相信你会有所收获的。再强调一
次,王老师真的很厉害,有一次我有个电路学的概念弄不太懂,所以就去找老师求救,老
师听完我的问题以後,立刻点出我的盲点所在,让我相当佩服,所以如果有不懂的问题,
可以尽量问老师,相信老师一定可以给你解答的。
--------------------------------------
Electronics Lab (I)/(II) (电子实验(一)(二),Lecturer: 助教)
--------------------------------------
修课年度:Fall Semester, 2015 / Spring Semester, 2016
授课内容:电子学/电路学相关的实验 & Arduino
授课方式:课堂一开始大助讲解实验原理,之後就开始做实验
评分方式:每周小考+结报+期中专题+期末专题+期末考
其他:
电资班预设英文授课,那班的操我早有所耳闻,所以就换掉了,事後看来还真是个正确的
决定,每周四晚上是他们的实验时间,每当我凌晨一点多要睡觉的时候,房间总是只有我
一人,因为室友们都还在ED320奋斗…,电工系/电机系的电子实验平时大约晚上8点半就
能做完实验,最晚了不起到晚上9点半,绝对没有挑灯夜战的情形。(I)的话基本上都在接
电路,然後用示波器观察波型、三用电表测量一些数值,绝大部分的实验都是DC
Circuits;期中专题是做一个Voltage Regulator(稳压器),输入为交流电,并要有四个
输出,分别是5~12V(利用可变电阻调整)、接地以及+/- 12V;期末专题是弄Audio
System (Wired/Wireless),大家一起待在实验室或是系K焊电路,不清楚的地方互相讨论
一下,应该不用花太多时间;期末考考的内容几乎是电路学,电路学念好,进考场就能轻
松屌虐一波。(II)的话前半部分会接一些Amplifier以及Frequency Response的电路,後
半部分就是在弄Arduino,像是控制LED、七段显示器、ADC以及一些有的的没的,程式粗
略的架构讲义里面都有,所以相当轻松;Final Project要做一个ECG System,可以测量
人的生理讯号,成功在电脑跟示波器上看到自己的心电图的时候,还满有成就感的;期末
考的话会考接电路跟Arduino,可是靠杯,我带进去的ASUS笔电居然当机(再次印证了那句
PTT千古名言"华硕品质,以卵击石"),所以期末考考的颇惨…结报的部分,我丢到云端硬
碟上了,想参考的就加减看一下吧。
--------------------------------------
Electronics (II) (电子学(二),Lecturer: 庄景德)
--------------------------------------
修课年度:Spring Semester, 2016
授课内容:
Cascode Circuits, Differential Amplifier, Frequency Response, Feedback, CMOS
Op-Amp
授课方式:投影片搭配板书
评分方式:期中考 + 期末考 + 作业
其他:
抱歉我真的很混…这个我真的讲不出啥心得了,老师上课满认真的,可是有时候推导过程
满冗长的,一恍神之後再回来就跟不太上了,所以我常常都在偷偷注意坐在旁边别系的可
爱妹子…严格来讲,我上课的时候没有太认真。准备期中期末考的话,我都听OCW陈振芳
教授的电子学(三)(顺带一提,陈教授人很好,我还有寄信去问他问题,他回了好长一封
信给我帮助我厘清观念),搭配考古题使用,这样大概就没什麽问题了,不过因为是英文
班,修的人数不是太多,所以如果想拿A+,大概要班上前几高才有机会。这门课好像也有
要求缺席堂数不能少於多少比例,实际数字我忘记了,不过老师第一堂课应该会提就是了
。
--------------------------------------
Probability (机率,Lecturer: 高荣鸿)
--------------------------------------
修课年度:Spring Semester, 2016
授课内容:
Sample Space, Random Variables (Discrete, Continuous), Limit Theorems,
Poisson Processes, Discrete-Time Markov Chains
授课方式:板书为主
评分方式:期中考*2 (各25%)+ 期末考 (30%) + 作业若干次
其他:
这门课真的是甜到蛀牙…认真说,机率其实是一门很重要的课程,在很多地方都会用上,
包括机器学习、通讯、Robotics,其实都会用到。我那时候觉得自己看OCW(推荐叶丙成教
授在Coursera开的Probability(I)(II))比较省时,所以都没怎麽去上课,基本上看看OCW
,搭配机率课本上面的题目练习,已是绰绰有余;生活中有很多例子,其实都跟机率脱离
不了关系,所以我认为机率应该是所有工程数学中,最有趣的一门课。
--------------------------------------
Signals & Systems (讯号与系统,Lecturer: 冯智豪)
--------------------------------------
修课年度:Spring Semester, 2016
授课内容:
Signals, LTI Systems, Continuous/Discrete Time Transform (Fourier Series,
Fourier Transform, Laplace Transform)
授课方式:投影片讲解为主
评分方式:期中考+期末考+作业*4 + 程式作业*4
其他:
这门是英文授课,老师的英文没什麽口音,所以句子的每个单字都可以听得很清楚,可是
当所有的英文词汇全部组合在一起,你就会感到相当困惑...所以不瞒大家说,我其实都
是抱陈永平教授大腿,听老师的线上课程,如果没有陈永平教授的话,我的讯号与系统大
概是没救了QQ程式作业主要是在跑模拟,要用Matlab,不过我那时候觉得Matlab太大包
了,实在是不想装在自己容量有限的SSD上,而且开个Matlab都要等世界久...所以我都直
接用Octave(开源软体),如果我没记错的话他跟Win 10好像有些相容性的问题,但是你可
以使用线上版(直接打"octave online"应该就可以找到了)。我写完作业以後,都会把程
式码丢给同学,叫他们帮我开Matlab测一下,印象中都没什麽问题。
--------------------------------------
Complex Variables (复变函数,Lecturer: 林国瑞)
--------------------------------------
修课年度:Spring Semester, 2016
授课内容:
Complex Numbers, Analytic Functions, Elementary Functions, Complex
Integration, Complex Series, Residue Theory
授课方式:老师有自己的讲义(用手写的),上课会在黑板上面讲解
评分方式:期中考*2 + 期末考 + 作业*6
其他:
我那时候觉得时间有限,慾望无穷,去上课太浪费时间了,OCW (一样是听陈永平教授的
课)直接开个2倍速抄笔记比较经济实惠,也可以腾出比较多时间。刚开学时,我还是有去
上课的,老师讲解讲的很仔细,上课如果认真听,回家好好写作业,考试不会有太大的问
题,学期末结算总成绩时,也会全班平移调分。如果你是要往偏软体的方向发展的话,这
门课真的可以不用修,别浪费生命。
--------------------------------------
Elective Subjects (大学部选修课程)
--------------------------------------
Computer Organization (计算机组织,Lecturer: 陈添福)
--------------------------------------
修课年度:Spring Semester, 2016
授课内容:
Performance, Instructions, Arithmetic for Computers, Data Path & Control
Path, Pipelining, Memory Hierarchy, Multiprocessors & Clusters
授课方式:投影片讲解为主
评分方式:作业*6+期中考*2+期末考
其他:
老师讲课讲得非常好,而且人也很风趣,我可以很自豪地说我从来没有跷过这门课!我个
人认为走电资相关领域的,都应该要修这门课。这门课一开始会先带过基本的MIPS组语,
之後开始介绍电脑的运算,包括ALU以及加减乘除的运作;接着进到第四章,会从最基础
的Single-Cycle CPU开始讲起,之後开始加入Load/Store、Pipelining(会产生Hazard,
需要进行额外处理),最後会讲Branch Hazards、Exception之类的功能;第五章主要是在
讲Memory Hierarchy,Memory、Cache、VM等内容在这边都会提到;最後一章是多核心处
理,但因为到了学期末所剩时间有限,所以老师那边就讲得非常快。这门课总共有六次作
业,都是用Verilog写然後用ModelSim来跑模拟,第一次作业就是实作出简单的32-bit
ALU,之後的每一次作业,都会搭配老师的进度,加上新功能以及Component,让CPU可以
真正开始去运行一些指令(R-type/I-type/branch);第四次作业开始,则需要去改写之前
的Code弄出一个Pipeline CPU;到了最後一次作业,则是用前面的CPU来兜出一个
Multi-Core Computing Environment,每次看到Compile没有发生错误、而且Testbench跑
出正确的结果时,心中真的是成就感满满,也让我深刻体会到了何谓"Learning by
doing."。
--------------------------------------
Intro. to Operating Systems (作业系统概论,Lecturer: 张立平)
--------------------------------------
修课年度:Fall Semester, 2016
授课内容:
System Structure, Processes, Threads, CPU Scheduling, Synchronization,
Deadlock, Memory Management, File System, Disk, VM
授课方式:投影片讲解为主,偶尔会抽点人回答问题
评分方式:期中考(25%)+期末考(35%)+作业*7(35%)+小考*5(5%)
其他:
老师口条清晰,讲得还满清楚的,这门课跟计算机组织可以说是相辅相成,学了以後可以
让你对於电脑的运作有更深的了解。作业次数不少,内容乍看之下虽然有些复杂,但是其
实只要概念懂了,程式很快就能写出来,而且这些作业对於理解OS概念也是相当有帮助。
除了一开始因为对Linux系统还不是太熟悉、太久没写C,所以花比较多时间完成前面两三
次作业,之後就越来越顺利,大概3小时之内就可以把作业搞定了。作业包括了实作简易
Shell、利用Multi-Process进行矩阵运算、用Pthread实作Parallel Quicksort、
Multi-Threaded Quicksort with Thread Pool、Working Set Optimization(减少
Process占据的记忆体)、实作LRU/FIFO、File Finding Utility(实作"find"指令的部分
功能)等等。我自己觉得,作业好像有越来越简单的趋势XD 如果对OS有兴趣的话,之後可
以修研究所开的OSDI看看,据说跟OSU一样好玩(X
--------------------------------------
Automatic Control Systems (自动控制系统,Lecturer: 吴炳飞)
--------------------------------------
修课年度:Fall Semester, 2016
授课内容:
主要是对一个系统去做Time-Domain/Root-Locus/Frequency-Domain Analysis,分析系统
稳定度、准确度、反应时间
授课方式:投影片讲解为主,老师会在上面写笔记讲解
评分方式:作业*10 + 小考*10 + 期中考 + 期末考
其他:
这是门我很喜欢的课(网路上也有老师几年前录的OCW),吴炳飞教授的名声大家都知道,
课程的workload真的不是太轻,每个礼拜都花了不少时间在念这门课;我那时候还满认真
的,都是先预习过OCW(开2倍速)再去听老师上课,真的是获益良多。老师对於讯号处理、
系统都有自己独到的见解,并且可以用相当平易近人的方式让学生理解重要概念。这门课
有10次小考(每学期的次数可能不一样),小考不会事先预告,如果有两次小考0分的话,
占学期成绩40%的小考部分就直接算0分(但是只要你有到现场,考卷上面写个名字,就至
少会有1分同情分XD),所以大家都不太会跷课,我认为,老师的课堂堂精彩,跷课真的很
可惜。
--------------------------------------
Intro. to VLSI Design (积体电路设计导论,Lecturer: 李镇宜)
--------------------------------------
修课年度:Fall Semester, 2016
授课内容:
从最基础的CMOS开始讲起,介绍Layout、Logic Gates相关议题以及各种电路;期中考後
会讲Adders, Data Path, Arithmetic Operation要如何去设计、并介绍各种Memory
Storage (RAM, ROM, CAM)以及做电路设计的相关Issue。
授课方式:投影片讲解为主
评分方式:期中考+期末考+Lab*4(加分题)+Final Project
其他:
如果未来要走电路设计的话,Intro. to VLSI Design肯定是门重要的入门课,因为这门
课会提到很多做电路设计的基本概念以及需要注意的重点。Lab的内容包含Hspice、
Layout以及Verilog,算是为Final Project做一些准备(例如Lab 4就是要用NAND/NOR/XOR
等逻辑闸设计许多Module如Half/Full Adder, Booth Encoder, Wallace Tree, Carry
Look-ahead Adder,最後再组合成6-bit Multiplier & Accumulator,而这正是Final
Project的题目);Final Project要根据Lab 4的设计,去刻spice档以及画Layout,最後
会根据运算速度、功耗等项目来决定成绩;画Layout的过程真的是很崩溃,画到像智障一
样,画完後真是悲喜参半,喜的是跑DRC跟LVS没喷Error,忧的是我居然为了这个东西浪
费了那麽多生命...。很多人在选课的时候应该会注意到,电工系跟电机系都有开这门,
那到底要修哪一个呢?That's a good question. 我跟很多修过相关课程的同学讨论过,
我们的结论是修电机系开的VLSI也满不错的,VLSI 导论 + VLSI 实验一起修,爽拿6学分
,而且很容易拿高分,好GPA不刷吗?不过之後就要并系了,也不知道课会怎麽开,大家
就随便参考看看吧~
--------------------------------------
Intro. to AIC (类比积体电路导论,Lecturer: 洪崇智)
--------------------------------------
修课年度:Fall Semester, 2016
授课内容:
Op Amp Circuits, Filters & Tuned Amplifiers, Signal Generators &
Waveform-Shaping Circuits, Output Stage & Power Amplifiers
授课方式:投影片为主,偶尔会在黑板上画画电路讲解
评分方式:期中考+期末考+作业
其他:
老师人很好,上课偶尔会打打嘴炮,讲解也算满清楚的,碰到一些特殊的电路,老师会直
接画在黑板上讲解,整体来说,我还满喜欢老师的教学风格的。老师偶尔也会关心学生,
那时候是我们电资班的系主任,所以我跟我室友整学期几乎都坐在第一排捧场,没怎麽跷
课,但是另外一位同学很常跷课,主任就会常常问我们他还好吗之类的XD 考试的话还满
简单的,上课好好上、作业算一算、投影片看懂都会有基本分,不过因为我後来决定不往
电路方向发展了,所以我也不是很确定这门课对於往类比电路发展的人有多少帮助就是。
--------------------------------------
Digital Signal Processing (数位讯号处理,Lecturer: 王圣智)
--------------------------------------
修课年度:Spring Semester, 2017
授课内容:
Discrete-Time Signals & Systems, Sampling, Z Transform, Transform Analysis of
LTI System, Structures of Discrete-Time Systems, Discrete Fourier Transform
(DFT), Fast Fourier Transform (FFT)
授课方式:老师用自编讲义上课,使用板书讲解观念
评分方式:作业*7 + 期中考 + 期末考 (都是open book)
其他:
虽然我这门课修得不是太好(有可能是我大学修最烂的一门...),期中期末考都炸裂,可
是老师真的讲很好,也让我一些在修讯号与系统感到困惑的地方豁然开朗。我个人认为,
只要看到是「王圣智」教授开的课,各位都可以放心地选下去,老师真的是品质保证XD
--------------------------------------
Intro. to Image Processing (影像处理概论,Lecturer: 庄仁辉)
--------------------------------------
修课年度:Spring Semester, 2017
授课内容:
Image Enhancement in the Spatial/Frequency Domain, Image Restoration &
Reconstruction, Color Image Processing, Wavelet & Multi-resolution
Processing, Image Compression
授课方式:投影片讲解为主
评分方式:手写作业*10 + 程式作业*2 + 期中考 + 期末考
其他:
老师人很好,下课去问问题会很努力地想解释到你听懂,可是有时候我听了还是没很懂…
程式作业的部分其实满简单的,有两个作业,一个是做些简单的影像处理(Intensity
Transformation,助教还直接帮你弄好环境,载个Visual Studio、编译一下就可以直接
用了,剩下要做的就只是写写几行简单的Code,感恩助教赞叹助教),另外一个是实作
Fourier Transform并分析结果,程式语言印象中好像没有限制。考试的部份,改的还满
松的,听认识的学长说,老师会跟助教讲不要改那麽严XD 这门课研究所好像也有开,考
卷就会是老师亲自改了,授课内容据说是差不多的,供大家参考。
--------------------------------------
Innovative Intelligent Electronics Lab (智慧电子实验,Lecturer: 温宏斌)
--------------------------------------
修课年度:Spring Semester, 2017
授课内容:Arduino, Raspberry Pi, Ameba, Linkit…
授课方式:实验、小专题竞赛、工作坊、简报大赛
评分方式:实验(20%)+小专题(20%)+工作坊(20%)+组队参加通讯大赛或创新创业激励计画
其他:
当初看上一届的学长修这门课,玩了不少炫泡的器材、参加不少场黑克松、爆了不少肝、
也弄了不少作品,这些都让我很心动,因为我觉得能把自己的想法动手实践出来,是件很
酷的事,加上有修这门课的电资学长都有女友,所以我隔年就选了(事实证明女友的部份
是我想多了)。小专题的部分,第一个是用Arduino做一个小车,跑完有各种关卡的轨道,
还算有趣;第二个Raspberry Pi的小专题,则是透过网路连线,在手机上面可以看到影像
并进行远端遥控。至於原本期待的黑克松,我修的那学期老师决定改变做法:参加工作坊
学习相关的开发技术,然後大家回去各自发想Idea,隔两周之後上台做Presentation(把
Demo影片也放在PPT里面)。另外,这门课会要求学生去参加比赛(通讯大赛、创新创业激
励计画或是其他相关竞赛),期末的时候也会有一个电梯简报大赛,每一组要轮流上台报
告准备拿去参加比赛的内容,并由班上同学票选前几名,老师会自掏腰包提供奖品,而最
重要的是,可以藉由上台报告的机会,得到班上同学和老师宝贵的建议。我自己认为,如
果想要让CV看起来更丰富的话,修这门课然後实际动手做出一些成品,是个不错的选择。
--------------------------------------
Graduate Courses (研究所课程)
--------------------------------------
Machine Learning (机器学习,Lecturer: 王圣智)
--------------------------------------
修课年度:Spring Semester, 2017 (电子所)
授课内容:
Probability Distribution, Linear Regression/Classification, Neural Network,
Kernel Method, Mixture Model & EM, Sampling Methods, Latent Variables,
Sequential Data, Combining Models, Deep Learning
授课方式:
投影片搭配板书,建议跟修过的学长姊要投影片并印出来,上课可以边听边作笔记(不过
上课速度颇快,所以有时候我会放弃作笔记,专心听讲)
评分方式:作业*5 + 期末考(open book) + Final Project
其他:
我必须说,王圣智教授是我在交大碰到最厉害的教授,没有之一。所有的数学概念透过老
师精辟的讲解,都能让人茅塞顿开。老师第一门课的时候就有列出一些建议的课程,像是
Random Processes以及Detection & Estimation (或称Statistical Signal Processing)
,老师建议有这部分的基础再来修ML,会有比较好的效果(不过其实班上很多同学都没修
过这两门课)。修了以後,才真的体会到线代真的是世界重要,「线代不学好,老大徒伤
悲」真的是最佳写照。教授的Office Hour也可以多加利用,我都会利用Office Hour去瞻
仰圣智大师的风采,很多你自己要看很久才能明白的数学式,老师都能用相当精辟的解释
让你明白个中原由。
Final Project:
Final Project的部分,是要利用助教提供的Dataset,做出一个类似曾经风靡一时、微软
推出的"How old do I look?"的分类器,但是我们不用像微软一样那麽准确地估测出实际
年龄,只要按照性别(男/女)、年龄区间(Child/Young/Adult/Elder)分成八大类即可。助
教提供的资料其实有imbalanced data的问题,加上资料笔数也没有那麽多,所以可能会
需要用到Data Augmentation的技巧去增加一些资料量。据说很多组别都直接用Neural
Network下去硬爆,很容易发生Overfitting,可能自己在做Validation的时候有着
80%~90%的正确率,但是Demo时,正确率直接腰斩到不到50%。我们这组一开始就觉得这麽
少的资料用NN去Train实在是不太妥当,所以选择用其他方法:首先,先利用dlib的face
detector去抓出照片中的人脸(有时候可能因为背景太多杂讯抓不到,我们会把图片变成
原本的两倍大再抓),Crop下来以後做Face Alignment,让两只眼睛都会位在同一条水平
线上;接着,我们将抓出来的人脸Resize成120*120并做Histogram Equalization,藉此
移除光线的影响;最後把图像切成12*12等分,对每个大小为10*10的区域做LBP (Local
Binary Pattern,可以有效提取Texture,详见示意图),将每个区域的LBP Vector串起来
,就是这张图片的Feature Vector了(注:我们在Final Project中使用的是Uniform LBP
,所以最後的Vector Size是(59*12*12)*1)。在得到Feature Vector以後,我们使用Nu
SVM当作Classification Model,最後的准确度大约落在58%,算是还不错的结果。如果你
对於这个Project有兴趣,我把Dataset放到云端硬碟了,有兴趣的可以自己试着玩玩看,
不过我手上没有助教最後的Testing Data。
--------------------------------------
Computer Architecture (计算机架构,Lecturer: 单智君)
--------------------------------------
修课年度:Fall Semester, 2017 (资工所)
授课内容:
Memory Hierarchy Design, Pipelining, Instruction-Level Parallelism,
Data-Level Parallelism, Thread-Level Parallelism
授课方式:投影片讲解为主
评分方式:期中考 + 期末考 + Paper Presentation
其他:
这门课一开始的内容会和计算机组织有所重叠,但是会更深入地去讲解各种架构的利弊,
有时也会拿一些实际的例子来讨论。这门课也有很大的一部分是在讨论如何去增加指令平
行度(从硬体或是从Compiler的角度切入,讨论如何去做Scheduling以及相关的演算法如
Tomasulo),也会介绍Thread-Level Parallelism(Centralized/Distributed Shared
Memory),Data-Level Parallelism的部份因为这学期进度比较慢,所以最後一堂课才快
速带过。老师的讲解算清楚,而且这门课也有OCW可以参考。到了接近学期末的时候,会
有大约三周的时间,让每组(2~3人)上台报Paper(从几个跟计算机架构有关的大
Conference挑选),不需实作,只要理解Paper的内容上台报告即可,整体而言还算轻松写
意。期中考、期末考可以写写资工系提供的考古题,投资报酬率还挺高的。
--------------------------------------
Parallel Programming (平行程式设计,Lecturer: 温宏斌)
--------------------------------------
修课年度:Fall Semester, 2017 (电机所)
授课内容:Pthread、OpenMP、MPI、CUDA
评分方式:作业*2 + 期中考 + Final Project
其他:
老师讲的不错,不过一次要连续上三个小时的课,其实真的满累的。上完这门课以後,你
对於这几种平行化的工具都会有进一步的认识。第一堂课的时候会有程式测验,如果没有
通过的话就不给修这门课,题目发下来的那一刻真的颇慌,想说「干如果我没解出来,我
就不能修这门课了...」,很多人写一写就放弃离开了;庆幸的是,班上没有人在三小时
内写出来,所以助教就让我们回去写然後补交。事後看来,题目其实还满简单的,因为我
回去以後决定砍掉重练,後来花了两小时就把题目解掉了。这门课会提供工作站让大家去
测试,所以不用担心自己电脑不够力之类的,你的电脑只要可以开个MobaXterm ssh到工
作站上就够了XD 作业有两次,会延续之前的程式测验(Travelling Salesman Problem,
TSP),分别使用Pthread以及OpenMP去做加速;Final Project的话,则是大家各自去发想
题目,内容不会去限制,老师也会提供一些Idea供大家参考;比较可惜的应该是後面CUDA
没有相对应的作业,所以就比较没去练习了(在这边承认我是个很懒的人QQ),其他部分都
很不错,不过老师表示这门课的课程内容需要做些调整,所以应该会停开个几年。
--------------------------------------
Stochastic Processes (随机过程,Lecturer: 简凤村)
--------------------------------------
修课年度:Fall Semester, 2017 (电子所)
授课内容:
Joint Gaussian, Detection(MAP, ML), Estimation(ML, Least Square, MMSE, Linear
MMSE), Random Sequence, Random Processes
授课方式:讲义搭配黑板推导
评分方式:期中考*2+期末考+作业
其他:
学期初,老师会稍微带过线性代数(干,又是你)以及机率的一些基本概念,算是帮大家做
点复习,让大家可以比较快进入状况。在复习完後,会开始更深入地去讨论Joint
Gaussian,上完这部分之後应该差不多就会有第一次期中考了。第二次考试的范围大概是
Detection, Estimation以及一点点Random Sequence,期末考就看老师教到哪决定考到哪
了。老师讲课相当仔细,速度还满慢的,大部分的人应该都可以跟的上,但也因为讲课速
度较慢,所以接近学期末时,没有办法顺利讲完原本预定的最後一章"Prediction &
Kalman Filtering",满可惜的。作业的部份算是有些难度,真的要仔细思考以後、并抱
抱同学大腿,才比较能顺利解出题目。期中考期末考只要把作业重新复习过,搭配老师提
供的考古题,应该就不会太荒腔走板。
--------------------------------------
Computer Vision (电脑视觉,Lecturer: 邱维辰)
--------------------------------------
修课年度:Spring Semester, 2018 (多媒体所)
授课内容:一些传统Computer Vision的基础 + Deep Learning
授课方式:投影片讲解为主
评分方式:作业*4 + 期末考
其他:
这门是英文授课,老师口条清晰,讲课讲得非常好,下课问老师问题也都会很耐心地回复
,偶尔投影片里面还会有有趣的图片(例如女JK、老师自己的照片)。这门课一开始会从传
统的Computer Vision讲起,後半部则会开始讲一些Deep Learning的东西,整学期的内容
包括Camera Model (一些成像的Geometry关系), Filters, Frequency, Edges,
Interesting Points(SIFT就是在这一章提到的), Fitting Alignment, Stereo,
Optical Flow, Machine Learning, Recognition, CNN, 以及最後一章Deep Learning(介
绍各种模型如GAN/VAE)。作业的话只有四次,第一次作业是做简单的Filtering以及
Image Pyramid,第二次是用RANSAC演算法实作Image Stitching,第三次是Structure
from Motion,第四次是用Bag of SIFT来完成Image Classification。程式语言不限,不
过我想大部分的人应该都是用Python或Matlab吧,我会先把老师的讲义看懂了以後才开始
动手写,通常不会花太多时间。这门课最可惜的部份,应该是没有Final Project以及最
後在讲Deep Learning的时候,没有相对应的作业以及工作站资源可供实作,其他部份我
都觉得很不错。如果你担心上课讲太快,有些地方听不太懂,Udacity上面也有一门
Intro. to Computer Vision (课程讲义连结),也可以参考看看。
--------------------------------------
Computational Intelligence & Application (计算型智慧与应用,Lecturer: 王才沛)
--------------------------------------
修课年度:Spring Semester, 2018 (资工所)
授课内容:
Neural Network, Evolutionary Algorithm, Swarm Intelligence, Fuzzy Sustems
授课方式:投影片讲解
评分方式:
程式作业*3 (上面提到的4个Topic都会各出一个作业,4选3并挑其中一个口头报告)+
Paper Presentation
其他:
这算是一门颇轻松的课,老师主要就是带过上面提到的四个Topic的核心概念,让你对这
些领域有些基本的认识。我觉得这门课的程式作业还满有趣的,老师会提供一些Data,让
你去实作;第一个作业有修过ML的大概都做过:手刻NN Classifier (很推荐这个网站,
看完以後数学推导对你而言不再是问题);第二个作业是利用Evolutionary Algorithm去
实作Clustering;第三个作业是模拟Ant Colony Algorithm;第四个作业我没有写,所以
也不太清楚实际内容是什麽。程式作业没有限定语言,肥宅如我当然是用我比较熟悉的
Python来写;必须承认,这门课我没有花很多心力,最後也能赛到一个A,硕班的课给分
比较甜真的不是都市传说。
--------------------------------------
Self-Driving Cars (自主驾驶车技术,Lecturer: 王杰智)
--------------------------------------
修课年度:Spring Semester, 2018 (电控所)
授课内容:
自动驾驶相关的课题,学期初主要是在讲Sensor,後半学期会讲一些Mobile Robotics的
相关内容
授课方式:投影片讲解
评分方式:作业*5 + 期中考 + Final Project
其他:
老师之前是在水果公司做Self-Driving,後来回来台湾,目前有在带领工研院的团队做自
驾。在课堂中,老师会分享自己在矽谷的所见所闻以及老师对於Self-Driving产业的看法
。讲课部分,老师口头表达能力还不错,前半学期主要在讲Sensor,因为老师认为了解
Sensor的特性对於未来处理实际Data会有帮助;但是到了後半学期,因为老师想教的东西
很多,所以很多章节都只有很快地带过High-Level的概念,细节的推导,可能要自己看
"Probabilistic Robotics"这本书。Final Project的话,老师在学期剩下一个月左右时
要求每组提出Proposal,确定方向後,每周上课都要报告进度。我跟我组员一开始想说做
点轻松的就好,就提了一个满鸟的题目,结果老师一听之後就马上打枪了(想混水摸鱼被
抓到XD)。後来我们换了另外一个题目,我有把一些结果写成另外一篇Story,有兴趣的可
以参考看看。上完了这门课,对於Self-Driving这产业的确多了些了解,但比较可惜的部
分应该是到了後半学期,有些内容(如各种Filters)没有相对应的作业可以做练习,光是
看完数学推导,我觉得还是不足以理解在实务面上要如何运用。
--------------------------------------
建议
--------------------------------------
1. 上课不敢问问题没关系,可以多去Office hour问教授。
2. 工程数学好好学,不管是线代、机率还是什麽的,那种课程之所以会是必修,都是有原因
的,尽量不要跷课,好好认真学,之後碰到更进阶的科目会有更好的底子。
3. 修课之余,可以多去和班上的大神请益,听他们的想法,并试着接触各个领域,透过实作
来知道这些领域是否适合自己。
4. 善用Coursera、Udacity、edX去修一些自己有兴趣的课(学校开课选择有限,可是上这些
网站看看,相信我,你会发现新世界)。
5. 多看Quora或是Medium,上面有很多专业的讨论与文章。
6. 永远抱持着一颗谦虚的心。
--------------------------------------
总结
--------------------------------------
以上就是我在交大修的课,这四年应该也勉强算是有学到一些东西啦,希望这些心得可以
帮助到未来的学弟妹,让你们稍微了解到这些课到底在学些什麽,如果有什麽问题,也可
以寄信给我,大guy4这样,谢谢耐心看到这边的你/你!
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.113.235.131
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/NCTU-Teacher/M.1534501563.A.616.html
1F:推 neoneon: 推一下学弟 08/17 18:33
2F:推 dave6: 感谢支持 cv课本来是有向系上争取到要买gpu显卡给大家实做d 08/17 19:01
3F:→ dave6: eep learning的作业 但刚好遇到显卡大缺货完全买不到 sorry 08/17 19:01
没想到发个文居然钓到两个神兽级电资学长...希望学长们以後可以赏小弟我一口饭吃QQ
4F:推 asd2260123: 推 08/17 19:21
5F:推 isbecky27: 推Qq 08/17 23:35
6F:推 stickdaily: 推推 08/18 02:29
7F:推 NCTUCurry: 推 08/19 13:22
8F:推 luandy1006: 推推推OuOb 08/21 18:08
小臭妞 我认得你ID >///<
※ 编辑: NCTUBeast (140.113.235.131), 08/21/2018 22:51:36
9F:推 goldflower: 跟你上同班的ML推个 08/22 18:48
10F:→ goldflower: CV也同堂XD 不过说到final project 老师问有没有人要 08/22 18:50
11F:→ goldflower: 做时班上好像也才一两个 举手 囧 08/22 18:50
12F:推 inat777: 用心推!! 09/04 12:51
13F:推 NCTUduke: 推一下学长 09/06 01:39
※ 编辑: NCTUBeast (73.144.152.147), 10/12/2018 01:28:06
14F:推 walinama: 感谢分享~ 12/23 03:58