CS
演算法
- 開課教授:李建模
- 推薦同時修習的課程:電子設計自動化導論(江介宏)、離散數學(陳和麟)
- 課程小卦:
- 也算是EDA領域的課。
- 李建模教授的這門課和陳和麟教授相比偏重寫程式(難度會由淺入深)和認識不同種類的演算法,但loading和深度較張耀文教授的淺。 有很多演算法跳過或補充的單元都是EDA導論的課程內容,所以很推薦這兩堂一起修,會相輔相成(一個把EDA相關的演算法學的很透徹+活用兩堂課綜合知識的節奏)。 另外雖然是翻轉,但不用太擔心,上課除了基本題目還會有比較難的加分題,助教人手也夠,可以討論。因此真的是在家看影片、上課寫題目,不需要額外花時間。
- 想念CS的真心不推,會有沒有學到夠多演算法的感覺。非常甜、考試簡單(open book),期末project是EDA contest。我個人會比較prefer final能做一些更演算法的題目。
- 李建模教授的演算法中,前半段重點應該就是動態規劃(Dynamic programmimg),後半段的重點就各種圖論(Graph)了。整體而言,演算法和離散數學有很高的相似性,可以相輔相成,只是這樣作業可能會非常重~ 演算法有final project,做的是CAD contest,同學挑大賽中的其中一個題目進行。 修了演算法,會讓後續許多程式相關課程學的比較順,舉例而言,Dynamic programming 在〈數位語音處理概論〉中也會再用到,圖論的各種演算法更是在EDA或網路相關的領域會使用到,還有許多最佳化的方法,也是演算法中一個重點。
- 考試只有期末考,平常沒有考試,所以需要有自制力可以平常就跟著進度走,不然期末考滿崩潰的。這門課的程式loading不會很重,滿推薦剛修完大一計程的同學可以馬上來修這門,這樣也比較好銜接黃鐘揚老師的資料結構。
資料結構與程式設計
- 開課教授:黃鐘揚
- 複選必修(系統類)
- 課程小卦:
- 也算是EDA領域的課。
- 如果你是不排斥coding或喜歡coding的話,非常建議大家大二就去修這門課,修完資結後大概比較知道未來coding會是怎樣的scale,而且先修完資結後以後這個時段可以去修資工的課。 另外這門課訓練你有處理數千行程式的能力,對於未來跟教授做專題或是進實驗室寫code都有幫助。
- 真的是蠻花時間的一門課,建議做好課程規劃,不然會很容易想停修。
資料結構與程式設計
- 開課教授:顏嗣均
- 複選必修(系統類)
課程小卦:
這門課比較有資料結構的感覺,老師介紹了很多種不同的資料結構,上課也都講得滿清楚的;缺點就是老師的語調比較平,聲音並不是很清晰,所以滿容易睡著的。
如果是想學「資料結構」比較推這門課;
如果是要學「程式設計」比較推黃老師的課程。其實應該要兩堂都修啦(被打)。如果是要走CS領域的同學乾脆去隔壁德田館修DSA算了XD。
基因遺傳演算法
- 開課教授:于天立(電機所)
課程小卦:
- 建議修過演算法。
- 基因遺傳演算法(以下簡稱GA)可以說是做最佳化的一種方法,舉例而言,日本新幹線的列車車身設計,就是使用GA完成的。修課的好處除了了解GA怎麼運作,還有能判斷哪些問題是GA能夠解的(GA不是萬靈丹);演算法學到了一些最佳化的方法後,在GA又會學習到另一種作法。
天立也是個認真教學的老師,final project時老師所提出的問題與建議,讓人真的感受到他是認真在思考每一組的題目!
作業系統
- 開課教授:郭大維(資工系)
- 推薦同時修習的課程:計算機結構、電腦網路導論
課程小卦:
- 個人認為,只要未來會用到程式來工作的同學,不管是哪個領域,都很適合修這門課。會讓你對計算機這工具有更透徹的了解。我自己曾經在什麼都不懂的情況下,直接靠網路,查詢一些系統程式的用法(例如fork),或是在懵懂無知的情況下,使用到JAVA的thread,有時還分不清process和thread是什麼。修了這門課更了解作業系統後,會加深用程式控制電腦這個技能的理解程度。所以對於要用電腦程式來工作的人而言,這門課很值得一修。
跟計結一起修的好處是,會對計算機有個很有結構的理,在計算機程式中,我們學會把自己的想法轉換成程式語言;在作業系統中能學到電腦是怎麼運用硬體資源(如多核心CPU、記憶體),進而從電腦的角度更有效率的去使用程式;在計算機結構中,能學到做CPU的人,怎麼把程式中會需要的功能,拆解成若干指令(instruction),以及指令與電路運算單元的組合關係,還有OS是使用了什麼計算機的功能。
跟電網導一起修的好處是,了解了一台電腦中的運作後,電網導會介紹許多電腦形成的網路怎麼運作。OS提供了「intra-計算機」的結構,而電網導則是「inter-計算機」的結構。
- 我認為對CS相關的同學這是一門必修課。作業系統是對硬體資源做最有效的分配,修完這門課雖然也許沒辦法和你的領域有直接相關,但是在實作的過程中或多或少都會用到作業系統的概念,讓你的程式能夠有效率的執行在機器上。
系統程式設計
- 開課教授:鄭卜壬(資工系)
課程小卦:
這門課是資工系大二的必修,建議如果要走CS領域的同學可以考慮修這門課,可以了解Unix系統的精神。老師的講解非常清楚,很用心在教學上;作業部份總共四份,有期中期末,不調分,但是期末滿分會超過100。如果很用心在這門課上,功力絕對倍增,對於Unix、Linux就會比較不陌生,遇到問題也比較會下關鍵字。
編譯程式設計
- 開課教授:徐慰中(資工系)
課程小卦:
- 建議修過資結、計算機結構。
- 這門課是資工系的選修。如果你想走嵌入式或是軟硬整合,甚至是進資工系的話,這門課可以讓你了解程式語言與機器碼之間的關係,對於優化機器執行效能的問題裡這門課教的觀念都算是基礎知識。
在教學內容的部份,這門課假設你對實作C++的資料結構有一定能力。
第一部份是探討如何parse我們寫的程式語言變成內部的資料結構,
第二部份是如何將內部儲存的資料fit進我們的目標機器,像是register分配等(這學期是用arm)。因此也需要對於計算機結構的知識(尤其是組合語言那部份)。
最後,這門課預期你有handle數千行C程式的能力。
人工智慧
- 開課教授:于天立(電機所)
- 推薦同時修習的課程:機器學習、電腦對局理論(資工所、網媒所)
課程小卦:
天立的上課非常用心,然而我個人覺得教得非常廣但是有點淺,會對於AI這個領域有初步的認識,也介紹一些ML的領域,但基本上偏淺。
在教完search以後,會先教一些ML,之後再教reinforcement learning和planning。後面邏輯的部分個人是沒什麼興趣,但如果去看AI的conference這些領域每年還是會有不少篇。上課分配算是符合現在AI conference被ML攻佔的情形,期中考有一題是VC dimension有關,如果有修ML的話考題會覺得很輕鬆,
老師的考試很重視思考,但給分其甜無比,其中有一題要我們舉反例,我構造的反例是錯的拿到1.5/2.0。老師人很好希望大家考試分數都很高,有讀書的話考試完全不刁難;作業方面好像三次作業一個final,有期中期末。作業都很簡單,大概幾個小時可以寫完。基本上作業佔分重,因此最好要對答案,算是一門甜課偏涼,想大致知道現在AI的世界觀的話值得來修,但還是覺得老師沒有上深一點滿可惜的。
數據分析學與模型專題
- 開課教授:莊炳湟(主授)、李琳山(電機所、資工所、網媒所)
課程小卦:
- 資料科學領域相關。
- 莊炳湟教授為台大電機系系友,現任教於美國Georgia Institute of Technology,並為美國國家工程院士及中央研究院院士。
他規劃在2016年8月利用休假的機會來本校電資學院訪問研究一學期,電資學院非常榮幸能請到莊院士規劃開授這一門課,這門課只會開一個學期,機會難得要好好把握。莊院士會採用討論的方式帶領同學們學習,未來立志要到美國留學的同學可以利用這個機會來體驗美式教學。
附帶說明,領域分類中所填的「資料科學」為「資料科學與智慧網路」組的簡稱,是在電機系原有的十個領域之外將增加的新研究領域。(by 李宏毅教授)
- 以下為莊院士提供的課程簡介:Data is at the center of the so-called “fourth paradigm of scientific research” that will spawn new sciences useful to the society. Data is also the new and extremely strong driving force behind many present-day applications, such as smart city, manufacturing informatics, and societal security, to name a few. It is thus imperative that our students know how to handle data, analyze data, use data and draw insights from data. This course aims at acquainting the students with the analytical foundation of data handling techniques. The course consists of a series of seminar talks with substantial student participation, in the form of research and presentation in response to posted questions about main topics in data analytics and modeling.
機器學習
- 開課教授:李宏毅(主授)、林宗男(電信所、電機所、生醫所)
課程小卦:
- 資料科學領域相關。
- 本課程的2016年秋季班由李宏毅主授,本課程旨在完整介紹機器學習(包括深度學習),有分組作業和期末專題,沒有期中、期末考,1~4人一組,建議可以事先找好隊友一起修課。
在理論方面,電機系大二以上的同學應該就有能力理解機器學習各種方法的原理;在實作方面,因為機器學習需要靠寫程式來完成,所以至少要不害怕寫程式。
修完這門課後,可以繼續修習「機器學習及其深層與結構化」,深入學習「深度學習」這個目前在機器學習領域中非常受到重視的方法。(by 李宏毅教授)
機器學習及其深層與結構化
- 開課教授:李宏毅(電信所、電機所)
課程小卦:
- 資料科學領域相關。
- 現在CS領域中Deep Learning應該是最紅的領域之一,老師把DL講解的淺顯易懂,而且常常舉很多動漫的例子來讓大家更了解內容。
這個領域算是非常新的領域,這門課的上課內容都是近兩三年來的paper,老師也會將上課影片錄影,方便課後複習或者補課。但這門課的作業loading有點重,剛開始會花有點久的時間。DL不管是在語音或者是影像都有相當好的表現,建議對於機器學習或者影像語音有興趣的同學可以修修看。
- 本課程內容和「機器學習」的內容是互補的,同學可以先修「機器學習」再修「機器學習及其深層與結構化」深入了解深度學習,也可以先修「機器學習及其深層與結構化」然後再修「機器學習」以了解機器學習的全貌。
因為深度學習是一個發展非常迅速的領域,老師希望能儘量讓同學都能跟上最新的技術,下次開課時會加入很多新的內容,例如:Deep Reinforcement Learning(Alpha Go就是用這類的技術)。
本課程有分組作業和期末專題,沒有期中、期末考,1~4人一組,建議可以事先找好隊友一起修課。過去的作業請見ptt
NTUcourse版上ittfie的評價文。本課程於2015年春天第一次開課時的期末專題是實作語音辨識系統,2015年秋天的期末專題是實作影像問答系統(讓機器根據圖片回答問題)。未來老師可能還會規畫新的作業和期末專題。( by 李宏毅教授 )
機器學習
- 開課教授:林軒田(資工所、網媒所)
- 推薦同時修習的課程:機器學習特論(資工所、網媒所)
課程小卦:
開課教授是林軒田,小道消息是老師2016年11月可能再開一門兩學分的機器學習基石,基本上就是前半堂的機器學習,佔兩學分。如果明年電機系的機器學習主開教授不幸是林宗男,〈機器學習基石〉和〈機器學習特論〉會是好很多的選擇(如果是李宏毅主開就當我沒說XD)。
完整的機器學習,一學期有八次作業,大部分都要花十個小時以上,外加一個final,老師把自己的上課影片放在coursera和youtube上面,有看影片外加數學還可以的話作業還算中等難度;作業的目的偏向在幫助你了解老師上課講的東西,不會感覺只是看過就沒了,程式作業很簡單,證明比較麻煩。
老師上課的時候滿著重在機器學習的數學上面,基本上前半學期著重在一些基本的learning theory和基礎數學,後半學期會開始教一些不同的classifier,滿著重在一些learning的觀念,甚至有一些dimention reduction,教得不深但是修完以後算是會對classifier有初步的認識,我覺得算是比較像通論的課,但老師很強,收穫很多。
如果對optimization比較有興趣可以修機器學習特論。
資料科學
- 開課教授:陳銘憲(電信所、電機所)
課程小卦:
- 資料科學領域相關。
- 這門課應該是出了名的涼甜吧。整個學期總共7份作業,一個作業7~8分不等,雖然滿多份的,但是每一份大概4小時內可以解決。另外還有一個期末考跟final project。
這門課老師上課的內容不是很推薦就是,其實自己念說不定比較快,如果缺3學分就來修吧XD。但是如果真的想學東西的話,建議找其他門相似課程。