大學修課心得分享

大學四年來修了蠻多課的,但一直都沒有空或者說懶得打修課心得,剛好這學期比較有空閒了,再加上有些人想敲碗,就決定來完成這個四年修課心得大計畫。跟其他人不一樣的是我應該會按照課程的類別來劃分而不是修課的學期,同一個類別才會按照修課學期排序,這樣感覺比較有系統而且誰在乎我每個學期分別修了哪些課 XD。但很多課程其實已經有點忘記了,所以如果寫得很差就請見諒~

培訓班的部分就先不寫了,感覺會是另外一個 part,有想要補坑的話再說!

必修

計算機程式設計 (CSIE 1210)

- 修課學期: 大一上
  • 授課老師: 劉邦鋒

  • 給分甜度: ★★★

  • 課程硬度: ★★★

  • 個人評價: ★★★

  • 等第: A+

a.k.a 計程,資工系大一上必修,也是很多人一進資工系面臨的大魔王,套一句老師講過的話:「看看左邊的同學,再看看右邊的同學,你們其中一人不會過。」代表剛開始把一個程式語言學好需要相當時間的練習。運氣很好的我,在高中時就已經有寫程式的經驗並參加過一些競賽,所以順利被徵選上這門課也很有名的「真強者」身份。真強者要做的事情基本上就是定期和老師開會,然後幫忙驗題以及提供學生問問題。這門課的的模式基本上是每週都有考試,使用 JudgeGirl 作為線上評測系統,18 週的課程一共 18 次上機考,每次都佔學期成績 6 分,沒有任何調分空間,這也是為什麼剛學程式的學生沒有一定的練習很容易直接被當掉的原因,另外總成績超過 100 分的學生可以和老師拿傳說中的「強者 T」,真強者好像也有但我不知道為什麼沒拿到,可惜。

這門課在這幾年好像有做一些有趣的改進,例如 Judge 會用一些特別的方式檢視你的 coding style,所以要盡量避免全域變數或是 goto 之類的語法出現,並且因為會納入計分,除了要讓程式碼 AC 以外還要寫得夠「漂亮」才行。

愧疚的是,我們那年的真強者到學期後半好像就很少人有乖乖驗題,可能是因為這樣讓老師對之後的真強者要求變多了 QQ。但今年這門課又開啟一個有趣的公會制度,讓每位真強者作為公會長負責一些固定的同學,公會長也可以帶領組員一起討論題目,感覺這是一個不錯的改變,除了讓真強者和其他同學比較沒有隔閡,互相討論的學習方式應該能進步得更快吧!

打一打發現自己不是在討論這門課的修課心得,因為我沒有上過課,不過就算了 XD

普通物理學甲 (Phys 1006, 1007)

- 修課學期: 大一
  • 授課老師: 林俊達

  • 給分甜度: ★★★

  • 課程硬度: ★★

  • 個人評價: ★★★★

  • 等第: A+, A

資工系有必修物化生其中之一,但大部分的人都會選擇物理,果然大家都不喜歡背東西 XD。現在資工系的普物好像已經不是這位老師開了,有點可惜,但心得還是可以寫一下。一共一年的物理課,上學期算是高中物理課程的延續,包含力學、運動學、與熱力學,下學期則包含電磁學與近代物理。老師上課方式是直接用板書講課,會給很多例子來讓我們弄懂相關知識,有一些公式可能會需要用到比較難的工具才能理解它的意義,所以也有補充一些比較困難的數學理論,但大部分都還是讓我們相信它然後跳過,作業的部分有課本的手寫作業,以及我覺得還蠻有趣的 vpython 作業,基本上是要讓我們用 python 中的套件去模擬一些物理現象,像是拋體運動、彈性碰撞或電磁場的變化,把那些東西用程式視覺畫出來還蠻有成就感的!

考試的部分是 open book,也因此考試的內容比較活用,而不是直接考作業題之類的,題目難度不算太低,感覺上要真的弄懂上課講的東西還要搭配一些額外練習才能夠應付,我最後一次期末考因為內容不太熟悉也沒有好好準備所以考得很差讓我直接差點掉到 A-,所幸其他作業都有好好寫才勉強維持成績。上了高中以後就沒有好好讀過物理的下場果然讓我的物理能力直接大退化 QQ。

微積分一 (MATH 1211)

- 修課學期: 大一上
  • 授課老師: 余正道

  • 給分甜度: ★★

  • 課程硬度: ★★★★

  • 個人評價: ★★★★

  • 等第: A+

其實資工系學生的必修是微積分甲上和甲下,當初因為我不想學各種無聊的計算比較想學各種嚴謹的證明就跑來修數學系的微積分課程。這門課基本上就是進入數學系非常重要的必修課,對於還不熟悉數學證明剛進入大學的大一新生來說,這門課帶領的嚴謹度與邏輯訓練是十分重要的。這門課基本上 follow Courant and John 的課本在上,老師說他在第一次教微積分講課和出考卷的時候沒有拿捏好難度大家死得很慘,所以第二次開課的這學期講課起來似乎就中規中矩。作業的部分整個學期一共有 12 次作業每次大概有 5 至 6 題,因為有學過一部分微積分的關係所以作業大多做得還算順利。另外這門課有所謂的助教課(之後我修的分析和代數也都有),就是由助教講他想講的內容,可能是上課內容的補充或是單純讓我們講習題,小考也會安排在那個時段。

期中期末基本上都是證明題,只要平時作業好好寫然後課本的內容都有讀懂考好並不會太困難,但我運氣似乎很不錯,期中考和期末考滿分都 125 分一共只掉了 5 分,我猜應該是全班最高 XD。幸好有和系上確認可以拿微積分一二抵免微甲,不用碰複雜無聊的計算對我來說算是修這門課的一大吸引力。

微積分二 (MATH 1210)

- 修課學期: 大二下
  • 授課老師: 林惠雯

  • 給分甜度: ★★

  • 課程硬度: ★★★★

  • 個人評價: ★★★★

  • 等第: A

因為大一下同個時段有 DSA,時隔一年才又跑回來修微積分二,授課老師也是不同人。仍然是使用 Courant and John 的課本,相比於微積分一,微積分二著重在多變數微積分的探討,也有比較多向量微積分相關的定理性質 (e.x. Stoke’s theorem, Green’s theorem),因為以前沒學過的關係,整體感受比微積分一難上不少。老師在上課的時候和台下互動還蠻多而且還蠻幽默的,時不時會有學生回答他的問題。有趣的是我第二個禮拜才選到課然後剛好遲到進教室,結果坐在一個比較顯眼的地方直接被老師認出來叫名字:「你是林庭風對吧」老師好像知道我是誰,超好笑整場都在看我,超尷尬 XD。

作業和微積分一風格差不多,大多都是來自課本的習題。考試的話風格和前一年微積分一感覺比較不一樣,有比較多課本定理證明或是作業習題。除此之外期中期末考都有分成 A 卷和 B 卷,如果想要拿 A+ 據說一定兩次都要考 A 卷,就算你考 B 卷都拿滿分也最多只有 A 的樣子,我沒聽到這項規定期末考看到 A 卷的時候覺得沒有把握考得好所以就寫 B 卷了,但因為期末的時候花太少時間讀書所以連 B 卷也沒有考好。還記得發考卷的時候還被老師關心為什麼不是寫 A 卷 QQ。

有點遺憾大二下在修課衝勁不足的情況下還修了好幾門比較重的課,讓我沒什麼時間好好學好微積分二的所有內容,好像也就是從那之後我決定不要讓自己的課太滿太硬,嘗試過得比較像正常大學生一樣。

資料結構與演算法 (CSIE 1212)

- 修課學期: 大一下
  • 授課老師: 張智星

  • 給分甜度: ?

  • 課程硬度: ★★

  • 個人評價: ?

  • 等第: A+

a.k.a DSA,是資工系的大一必修課,可能也是資工系學生第一個碰到比較困難的必修課?但比較特別的是現在這門課是由林軒田老師與蔡欣穆老師合開,與我當年修的時候不一樣。張智星老師的 DSA 給予一些同學「小老師」的身份,有點類似 P 老師在計程的「真強者」身份,只要進過 TOI 二階、全國賽二等獎、或是 APCS 實作題滿分就可以申請,從來沒想到考 APCS 會在這時候派上用場 XD。小老師的工作其實和其他課程的助教有點類似,基本上就是出作業和開 TA hour,也因為有 A+ 的保證所以從來沒去上過課也不太清楚老師教得怎麼樣。

作業的部分其實非常輕鬆,一共六次程式作業,但每次都只有一題,分別由六個小老師各出一題,期中期末考的部分則是有手寫和上機考,手寫的部分不太清楚,但上機考也是由小老師們出題,而期中考因為沒有掌控好難度,導致出現上機考平均 6 分的慘況,所以作為期末考出題者之一的我就有盡可能降低難度,雖然是這樣說但最後期末考上機平均也只有接近 40 分而已,和預設的 50 分目標還是有一段差距。

因為 Roger 的 DSA 真的沒有讓我留下印象沒什麼好講,而我在大三時也當過軒田與欣穆的 DSA 助教,這部分的心得可能還更有用一些,畢竟現在和未來幾年應該都是這個組合開設 DSA 課程,所以這裡改寫大三擔任助教的心得 XD。

  • 助教學期: 大三下

  • 授課老師: 林軒田 & 蔡欣穆

  • 給分甜度: ★★★

  • 課程硬度: ★★★

  • 個人評價: ★★★★

從合班開始改成一類加選,所以可能會有沒有程式語言基礎的人想要修這門課,所以一貫軒田老師的風格,在第一節課就設法勸退修課學生們 XD。整學期比較著重在介紹各種資料結構的原理與複雜度,在什麼時候應該使用哪種資料結構去處理問題是在設計演算法常常遇到的問題。介紹的資料結構包含 stack/queue, heap, 各種 binary search tree 等等,因為是資料結構與演算法,所以不乏也有一些基礎的演算法,並需要搭配學過的資料結構去設計方法解決問題。

上半學期由軒田老師授課,並且是全線上教學,老師會利用已經做好的投影片搭配一些手寫的例子讓同學更能了解資料結構的使用原理(我其實沒有全程跟過課只有憑偶爾上去看到的個人印象,有錯請告訴我 XD),下半學期由欣穆老師授課,好像一開始改成實體授課但也有錄影,後半學期因為比較忙碌所以就沒有 follow 到課程了。課程的最後有個大地遊戲,因為疫情剛好爆發強制線上,所以改成在 gather town 上玩遊戲,也有像是 kahoot 之類比較多和學生互動的方式,有些我沒 follow 到但看起來好像是蠻有趣的。

作業是這門課比較困難的部分,首先這門課只能使用 C 語言,所以如果寫習慣 C++ 的話很多 library 都不能使用,像是很常使用的 heap 就需要自己重寫一次。整學期一共有三次作業,每次分別有三題程式題和三題手寫題,相對於之後介紹的 ADA,DSA 的程式作業相對著重在實作部分,所以題目大多思考起來很簡單但需要花費比較多時間去寫程式和 debug,例如在第一次作業就出現了塊狀鍊表+二分搜這等很難寫的題目,連出題助教都花了不少時間才寫出沒有 bug 的程式碼,也因為如此我自己覺得 DSA 的 TA hour 相對於 ADA 更加痛苦,除了因為 code 本身就比較難寫難讀以外,修課學生多半寫程式或寫演算法題目的經驗比較少,所以寫出來的 code 可讀性常常比較差而且又很多行,就需要花很多時間幫忙檢查哪裡可能出了問題。

考試的部分就相對容易,雖然分別都有 16 題左右的題目,但多半都是經典問題或只需要寫兩三行就可以解決,題目相對也比較容易,大概就是上課講過的例子的難度,我猜有寫考古題或準備上課講過的內容就不會考得太差。另外還有一個 Final Project,一言以敝之就是一個壓常數大賽,要用各種奇妙的方法讓目標的 task 可以做得更好,據說今年把這個 part 取消掉了原因不明。

因為是資工系開設的課程所以有相當多人想要修這門課,總之就是建議一定要對 C 語言有一定的熟練度,否則作業會寫得很痛苦。

機率 (CSIE 2121)

- 修課學期: 大一下
  • 授課老師: 林守德

  • 給分甜度: ★★★

  • 課程硬度: ★★★

  • 個人評價: ★★★

  • 等第: A+

這門課是資工系大二下必修,但因為有一群大一同學要先修就揪團一起去修了,聽說另一班比較簡單不好簽到,所以我們都選這個班。這門課因為不算出席分數加上我相信數學課我可以自己讀得起來,以及那時候比較專心在練 ICPC 競賽,所以整學期除了考試以外我只去過三次,雖說不點名但會叫人回答問題,沒來好像只會被問「阿怎麼沒來」之類的問題,聽說我被叫了兩三次都沒到 XD。

整學期只有期中期末考以及 Final Project,期中考之前的部分比較接近高中會講到的內容,像是貝氏定理或是機率分佈的意義,期中考的部分蠻多是需要思考的題目,有些有點像是高中數學能力競賽的感覺,有時候想不到也沒什麼辦法,但他也會有一些像是需要背誦人名的題目,有趣的是只要期中考考到 100 分以上(滿分應該是 120),就可以吃到老師的慶功宴,但我期中考看錯題目還有各種失誤所以只考到 90 分左右 QQ。期中考之後的內容就比較多需要記憶的內容,期末考印象中也比較中規中矩。

Final Project 的部分我們那年是老師開幾個題目讓我們自己選一個,我們組最後選擇裡面最偏向數學的主題(其他主題都不太知道要做什麼…),也做出了還蠻完整的成果,最後因為隊友報告的很好所以幸運拿到最高票,但之後的 project 主題因為老師開始和業界合作所以都是比較實務的專題,也似乎跟 ML 有關但我就不清楚了。

系統程式設計 (CSIE 2210)

- 修課學期: 大二上
  • 授課老師: 鄭卜壬

  • 給分甜度: ★★★

  • 課程硬度: ★★★★

  • 個人評價: ★★★

  • 等第: A

a.k.a SP,這門課是資工系大二上必修,也是我認為第一個系上比較硬而且比較接觸真正電腦相關知識的必修課,似乎如果修過 NASA (系上很多人會在大一下修的系選修) 的話會比較輕鬆,這門課對我來說就是一個全新的領域,有很多需要記憶的知識,在此之前高中在修計算機概論的時候我一直不是很喜歡記憶一些我覺得無聊的東西,但既然都進來資工系了還是要面對這些。

這門課主要就是介紹在 UNIX 系統的基本概念,因為 UNIX 系統同時支援多位使用者或多支 process 同時運作,所以就要謹慎處理各種檔案權限問題或是避免讓不同 process 之間發生 race condition 以及各種 signal 產生的問題。老師上課的節奏很快,而我因為沒辦法在上課的時候一直保持專注,所以很多東西上課的時候都沒有聽懂,通常是在作業死線或是考試之前惡補投影片或課本才慢慢搞懂的,事實上我認為這門課才是第一個資工系學生真正會面臨困難的必修課,除了有很多內容需要記憶以外你寫的程式已經不僅僅只是在可以動或是傳到 online judge 可以 AC 的層面,還需要思考寫出來的程式執行效率好不好或甚至像是上述提到要小心 race condition 等很多不單純的問題,不過也是因為這門課教了很多 syscall 和比較底層的知識我才有覺得自己看起來比較像是會寫 C 的人了 XD。

作業部分有四次手寫作業和四次程式作業,手寫作業算比較簡單每次通常只有一兩題大概可以在一到兩小時之類完成。比較困難的是程式作業,還記得第一次作業和 IO multiplexing 相關,但不知道為什麼助教給的 sample code 充滿了 socket programming 我都看不懂,而且 spec 寫的沒有很清楚,加上那時沒有寫過競賽以外的程式,所以作業寫起來是蠻辛苦的,不過習慣了這樣的作業以及 coding 模式之後後面三次的作業就相對容易上手了。最後一次作業還跟 ML 常用到矩陣乘法有相關希望我們用 multi thread 加速某些運算,然後就有同學直接手刻 ada boost 拿到全場最高分 XD。

考試的部分有系上同學一起做的考古題共筆可以練習,這門課也是少數我有和一部分系上同學一起讀期中考的科目,確實有人一起讀有些不會或看不懂的東西問別人會比較快理解。考試內容大致上就是上課講過的東西,但常常會有看不懂的題目,就算問完助教意思還是不太理解要怎麼回答,所以就只能靠通靈了 QQ。可能也因為我不太擅長背誦的原因期中期末考都沒有考很好,幸好因為期末考的滿分調到 150 分才讓我等第還有 A。整體來說就是一個正常的必修課,除了作業感覺可以在寫的清楚一點以外應該沒有什麼特別不好的部分,不過可以建議大一的學生可以在暑假之前就先裝上像是 ubuntu 的作業系統先熟悉一下 UNIX 系統的運作,對這門課會比較好入門。

演算法設計與分析 (CSIE 2136)

- 修課學期: 大二上
  • 授課老師: 蕭旭君

  • 給分甜度: ★★★

  • 課程硬度: ★★★

  • 個人評價: ★★★★

  • 等第: A+

a.k.a ADA,這門課是資工系大二上必修,似乎也是很多學生覺得最硬的資工系必修課之一,不過我對這門課比較多的記憶和心得是在後來兩年當助教的時候,所以心得部分可能會融合一點我當助教時看到的狀況。我修的那年還是分成兩個班授課,而現在已經變成兩位教授合開變成一個很大的課程。

課程內容的部分算是大一下必修資料結構與演算法的延伸,介紹各種經典演算法的原理以及各種例子,整學期包含分治、貪心、動態規劃、圖論、均攤、NPC 等主題,我自己沒有聽過太多次老師上課,但聽到各方的評價是覺得老師上課講得很淺顯易懂也很清楚,然而這門課最大的難題其實是在作業,每次作業都有四題程式作業以及兩題手寫作業,作業和上課內容雖然很大相關,但因為通常是由助教獨立出題,教授們雖然會負責檢查題目但不會給太多意見,因此難度相較於課程內容提升不少(但助教們有在努力抑制難度),我猜這也是讓很多學生覺得這門課很硬的理由之一,因為對大部分的人來說很多題目完全只靠自己的話是很難想出來的,於是我聽說大多數人的做法都是組成作業戰隊一起討論或甚至是到 TA hour 尋求助教的協助。而這門課的特點之一就是助教非常多而且很熱心(自己講 XD),基本上 TA hour 幾乎填滿平日大部分時段所以不用擔心沒有 TA hour 可以去,我當助教的兩年只要在作業死線前兩週來的人數都滿到必須要延長時間到接近兩小時才能處理完所有同學的問題,甚至還有要偷開 private TA hour 的時候 (細節不好說)。而不知道為什麼感覺這兩年的作業難度相對我修的那年有提高的趨勢,至少我修課的那年通常會有一兩個人在公佈作業到下課之前就可以把程式作業全部寫完(我自己有這樣做到一次),但後來這兩年比較沒有這樣的趨勢,或許是喜歡早早開始寫作業的人消失了 XD。

另一個有特色的部分是期中期末考,特別是期中考是著名的寫不完,雖然考試時間有三個小時,但因為題目數量也不算少,而且因為是演算法的關係所以題目基本上都需要思考加上寫下證明或解釋,所以沒有從頭寫到尾很難寫的完,我自己修課的那年還因為太想把考卷寫完很多細節都漏掉,甚至還假解兩題動態規劃的題目,所以期中考考得其爛無比,通常能夠寫得完的一隻手數得出來 (0~5 個人的意思)並且通常是競賽選手,所以沒寫完也不用太在乎。期末考基本上就比較中規中矩,雖然題目仍然都需要思考但會設計得較為簡單也比較能夠寫完,所以期中考考不好的話期末考還是能好好把握住的。

另外我修的那年以及隔一年都有 5% 的 final project,我修的那年是選擇一個上課沒講過的資料結構或是演算法進行約 10 分鐘的報告,隔一年則是進行一個類似排程系統的小競賽,但感覺因為成效沒有到很好所以今年就決定取消恢復只有考試作業的步調了。

當助教之後一直有在思考這門課到底作業模式維持現狀比較好還是改成題目比較多但比較簡單比較好,又或者是有更好的作業模式,和其他助教討論過一直沒有一個很好的結論,只能說各有優劣,希望有看到這邊心得的人可以來想一下來跟我討論,我可以把這些 idea 傳給之後的助教讓這門課變得更好 > <

線性代數 (CSIE 2120)

- 修課學期: 大二上
  • 授課老師: 呂學一

  • 給分甜度: ★★★★

  • 課程硬度: ★★

  • 個人評價: ★★★

  • 等第: A+

本來有想過要不要去修數學系的線性代數,但時間上各種衝堂加上我後來決定不雙主修數學系所以就還是算了。線性代數是資工系大二上的必修課,一共開了兩個班,但因為這個班沒有作業,而我因為只打算水過這門必修所以想當然就是選這個班。呂學一的上課模式很多人應該耳熟能詳,他會把很多名詞用自己的話變成很奇怪的東西,像是「濃湯觀察」、「小菜定理」之類的,把這門課的名詞丟到外面肯定是沒人聽得懂。因為線性代數的內容我大部分都有學過,所以其實整學期我只去了兩次上課,其他都是去考試的。一共有三次期中考和一次期末考,但三次期中考只算兩次比較高的成績,我因為前兩次期中考都考蠻高的所以直接翹掉第三次期中考 XD。因為上課充滿了奇怪的詞語加上據說考試內容都是會考投影片的東西,所以在考試前我還是花了一些時間複習投影片的內容,然後把一些名詞背起來,考起來的感覺其實和我大三修的數學之美差不多,把證明記起來基本上就足以應付。後來這門課好像就換人開了所以這門課可能就走入歷史,這個修課心得也沒什麼用處 XD,就是一門很輕鬆的必修課。

計算機網路 (CSIE 3510)

- 修課學期: 大二上
  • 授課老師: 周承復

  • 給分甜度: ★★★★★

  • 課程硬度: ★★

  • 個人評價: ★★★

  • 等第: A+

大二上的時候想說盡量早一點把必修課修一修之後排課程比較方便,所以就把計網拉到大二上來修了,老實說這門課應該要學會很多網路相關知識但我現在其實都忘得差不多了(可能是因為沒修 NASA 的緣故之後就都沒有在接觸到了),現在覺得蠻愧疚的。比較有印象的就是各種傳輸協定例如 UDP、TCP 等運作原理和有介紹 OSI model 每個 layer 在做什麼。老師同時是我的導師,上課和平常講話都給人一種很親切的感覺,但我覺得因為上課步調有點緩慢,可能是因為這門課的原因開始養成我在上課的時候常常在做自己的事情的壞習慣(牽拖)。

上課主要就是 follow 課本附帶的投影片在走,因為投影片和課本都講得蠻清楚的所以基本上我都自己讀,作業的話有五次課本作業,因為有解答所以寫起來相對容易,另外期中期末各有一次 project,期中主要是讓我們實作 socket programming 模擬 ping 這個指令的運作,印象中 server+client 加起來只寫了 150 多行,算是一個比較輕鬆的 project,但期末要我們實作聊天室,而我自己覺得和隊友的溝通出現了不小的問題,以至於我不太知道我該做什麼,結果到後來都是隊友在做,我現在想起來還是覺得非常抱歉 QQ。

考試的部分基本上就是把課本讀懂,期中考的時候我甚至前一天人還在國外比賽,是當天回國之後才開始花一個晚上準備,期末考也沒有花太多時間讀,但因為感覺上助教評分標準都很鬆,所以只要有寫到一點關鍵部分分數基本上都不會太慘。最後給分也是非常甜,大約 70% 的人都拿到 A+,可能就是因為這麼甜涼才害我忘記我在這門課學到的東西,雖然說真的願意的話花一點時間讀課本應該是都能夠複習的回來,但實在愧對自己是資工系學生。

自動機與形式語言 (CSIE 3110)

- 修課學期: 大二上
  • 授課老師: 陳偉松

  • 給分甜度: ★★★

  • 課程硬度: ★★★

  • 個人評價: ★★★★

  • 等第: A

這門課是大三上必修,同時也是系上少數的純理論和比較特別領域的必修,算是計算領論領域的入門課程,定義各種自動機和以及圖靈機,並嚴謹的定義一個演算法或 language 在計算上的複雜度,在 ADA 的時候有大致上講解過什麼是 NP-hard 或是 NPC 問題,但在這門課才會比較嚴謹的用圖靈機的角度去解釋,並擴展到更上層像是 halting problem 之類的 undecidable 的問題。

老師不是台灣人,所以基本上是用英文搭配板書講課,印象中有時候上課還蠻幽默的,教材是老師自己編的 pdf 講義,雖然寫得還算清楚不過全部都自己看可能還是稍嫌吃力,所以我還是都會去邊上課聽邊做自己的事情。我個人覺得這個領域還算蠻有趣的,只可惜可能因為是必修的原因進度比較慢,所以我後來就沒有花什麼時間在這門課上面,聽說 MIT 大概花不到一半的學期就教完我們整學期的量,有機會還蠻想看看他們的課程(?) 作業一共四次每次大概有四題,因為已經受過很多寫證明的訓練所以寫起來就沒有太吃力,除此之外還有期中期末考各佔 30%,不過期末考前我因為花太少時間讀書了所以期末考就有一兩題卡住想不到怎麼做,也是因為這個原因最後只拿到 A,算是蠻可惜而且慚愧的部分,覺得課程內容不難但卻是少數這樣然後沒拿到 A+ 的課。但我覺得如果想學習一些有趣的計算理論課程從這門課入手應該是不錯的選擇(?)

作業系統 (CSIE 3310)

- 修課學期: 大二下
  • 授課老師: 薛智文

  • 給分甜度: ★★★

  • 課程硬度: ★★★

  • 個人評價: ★★

  • 等第: A

這門課是資工系大二下的必修課,但因為某種原因之後都不是這個教授開了 (後面會解釋 XD),所以心得可能沒什麼參考價值,不過就還是寫一下。這門課是大二上必修系統程式設計的延伸,通常會 default 已經對前一門必修有一定的了解,課程顧名思義就是在介紹一個作業系統各種運作機制,我個人感覺有蠻大一部分和系統程式設計內容有重疊,所以前一個課程有學好的話修起來可能不會太吃力,但我本來就不太擅長系統相關的知識,又不太喜歡背東西,所以這兩門課就變成我修得比較差的必修了。

這門課有一兩次作業但是不算成績,所以我就完全沒有理它,除此之外有期中期末考和兩次 Project,期中考 Project 是要模擬四種排程系統並進行比較,除此之外還要自己編 kernel 跑 code,模擬排程系統本身是沒什麼難度,知道演算法寫起來還算輕鬆,但是編 kernel 就很討厭,不知道為什麼我弄了好幾次都沒跑不起來,最後是拿同學來跑實驗錄影才完成的。

期末 Project 六個人一組,印象中是要做 Synchronous Virtual Device 並比較使用 mmap 和 fcntl 的效率差異,細節我已經忘得差不多了,大部分的 code 都是某個很強的隊友寫的,我大部分做的只有知道他在做什麼然後寫 report 而已。

至於考試的部分,期中考因為疫情的原因所以線上考,但我印象中有一些奇怪的選擇題答案很模稜兩可,但我其實都不太會所以也不知道怎麼爭取分數,那時候有人講一講就把分數多了快 30 分。期末考是現場考,雖然我有讀書單基本上考試的題目都還是看不太懂,最後只考 60 多也不太知道怎麼去要分

這門課有個很詭異的部分是授課老師時不時就會在投影片中穿插各種區塊鏈相關的東西,包含最一開始的課程介紹,內容上的有點不明所以,連期末考聽說只要唬爛一點跟區塊鏈有關的東西就可以拿分(?)。學期結束後同屆的同學甚至發起連署,好像直接把這個教授罷免還是怎麼樣,總之之後就不是這個教授講課了,或許也是因為這樣才跑出資訊中數導論這個不知道是中邪還是怎樣的怪課 XD。

計算機結構 (CSIE 3340)

- 修課學期: 大三上
  • 授課老師: 楊佳玲

  • 給分甜度: ★★★

  • 課程硬度: ★★★

  • 個人評價: ★★★

  • 等第: A

這門課是資工系大三必修,同時也是我最後一個修的必修課。這門課會介紹 CPU 的運作原理如 pipeline 以及 cache,知道 cache 怎麼運作後會知道平常寫程式有些小地方要如何優化。另外一開始會介紹機器如何將平常在寫的高階語言如 C/C++ 轉換成組合語言甚至是 binary sequence,這部分就是需要花時間背誦的知識。作業的部分會有課本的手寫作業和 RISC-V 及 Verilog 的程式作業,手寫作業很簡單而且其實找得到作業解答,程式作業的部分就是需要花點時間學一下語法,Verilog 可能還要學一下怎麼看波形圖,不然會不容易 debug。

Project 的部分有兩次,分別是要用 Verilog 實作 CPU pipeline 以及加上 Cache 的功能,這部分因為是第一次接觸 Verilog,所以在怎麼好好把不同 component 接線和變數命名、以及藉由檢查波形圖來找到 bug 都花了不少時間。

另外這門課的考試好像一直以來都是期中考很簡單期末考很難,我修的這屆期中考平均 82 分而且基本上分數曲線靠又非常多人,所以要趁期中考的時候盡可能把分數衝高 XD。老師上課模式也很正常,有時候會點同學回答問題但好像沒到也不會怎樣,整體來說就是中規中矩的必修課。

系選修

機器學習基石 (CSIE 5432)

- 修課學期: 大一上
  • 授課老師: 林軒田

  • 給分甜度: ★★

  • 課程硬度: ★★★

  • 個人評價: ★★★★

  • 等第: A

這門課在 Coursera 上還算是蠻有名的課程,因為機器學習領域近年來正熱門,而它又是完全入門的課程,自然有很多人跟風 XD。課程基本上就是從最基本機器學習到底在學什麼開始講起,然後帶一些最古典的機器學習方法例如 classification、regression 等,然後因為這門課跟李宏毅的機器學習課程不一樣的是它比較偏向理論基礎,就是會比較會用數學工具去分析一個方法的好壞,讓大家比較了解機器學習的基本理論,而李宏毅的課程比較偏向實作,基本上就是介紹各種比較常見的知識並讓大家寫程式實作,比較偏向是學會怎麼使用工具的課程。(我猜大致上可以這樣區分,如果我有講錯再敲我 XD)

上課的模式像是老師會直接 1.1 倍速 Coursera 的影片,然後每個段落就會停下來再跟大家解釋一遍 motivation 之類的內容,但我後來都自己直接去看 Coursera 影片了。整學期一共四次作業,有一部分是要寫 Coursera 上的題目,剩下的是老師自己出的手寫題目,另外可能還會有一些題目是需要寫點小程式,但並沒有很困難。不知道是不是老師的風格,他每一門課都會警告大家每份作業都要花超過 30 小時,我猜是要藉由這樣的方式來勸退大家讓修課人數少一點,不過實際上我每一份作業都只花大概 5~10 個小時就完成了,而且實際上就算是 30 小時一學期只有四次作業好像也不算太多(?)

老師的作業風格還有 Bonus,我年紀輕輕不懂,以為 Bonus 是額外加分題,有寫有加分,但其實由於最後的等第給法是按照名詞切比例,A+ 固定只有 10%,所以變成 Bonus 才是大家搶 A+ 的部分,而且只要不夠細心很容易到處被扣分,我大概就是因為被自己的粗心搞到最後只有拿到 A,即使我的學期平均大概有 98.5 分(印象中)。

但整體而言還是算推薦這門課,可以讓大家知道機器學習到底在幹嘛,同時 loading 也不會太重,但這門課和之後的機器學習技法 被併成一門四學分的課了,擔心太重的話就可以斟酌一下 XD。

機器學習技法 (CSIE 5433)

- 修課學期: 大二下
  • 授課老師: 林軒田

  • 給分甜度: ★★★

  • 課程硬度: ★★★

  • 個人評價: ★★★★

  • 等第: A+

這門課是機器學習基石的接續課程,就是繼續一些比較古典的機器學習方法像是 Support Vector Machine(SVM) 和 kernelization,學期中後段有帶一些 Neural Network 跟 Deep Learning 相關的東西,有趣的是在上到 SVM 的時候讓我靈感一來隨手想了一道題目,然後跟別人討論一陣子後投稿到國際數學奧林匹亞,竟然入選該年的第六題,而且就數據上還是近十幾年最難的國際賽題目之一,真的是一項人生成就 XD(有興趣的話故事可以看這裡)。

作業模式和基石差不多,但是沒有 Coursera 作業,全部題目都已經出在 pdf 裡面了,一樣會有些題目需要寫點小程式來做實驗,然後我那時候一直覺得作業批改標準很奇怪,所以和助教吵了好幾次,後來我當上助教之後才知道改作業有多不容易,真的是對當時的助教感到蠻抱歉的 QQ。

最後還有一個 Final Project,每年都不太一樣,我修的那次要參加一個 AI Cup 的芒果等級分類競賽,然後要實作至少三種方法來進行實驗和比較差異,基本上最容易想到的應該就是 CNN (因為 dataset 是圖片),我們另外選了 SVM 和 Random Forest,但可想而知效果都沒有太好,因為我們沒有很會調參數所以用 CNN 的模型也沒有拿到很好的名次,但由於大部分的分數來自 report 所以成績也不算太差。成績給分看起來是比基石還要甜,大概有 1/6 的人 A+。總之就是和基石連貫的課程,兩門課加起來可以讓我們對機器學習有一個比較基本的認識,當然這個領域有太多東西,肯定不是修這門課和李宏毅的課就可以透徹的領域,後面研究的部分還是要靠自己多去學習,反正現在很多領域都和機器學習有結合,把基礎知識先學起來肯定不會虧 ~

資訊理論與編碼技巧 (CSIE 7624)

- 修課學期: 大一下
  • 授課老師: 吳家麟

  • 給分甜度: ★★★★

  • 課程硬度: ★★★

  • 個人評價: ★★★

  • 等第: A+

大一下懵懂無知,有人推薦系選修就跑去修了,看了一下課程內容感覺應該不會太無趣,老實說我對這門課已經沒什麼印象了,只能憑僅存的一點記憶來寫。這門課前半段著重於基本的 information theory 開始,介紹衡量隨機事件不確定性的 entropy function、各種不同的 coding 優劣 (e.x. Huffman coding, LZ-Coding…),後半學期則著重在介紹影像的壓縮技巧。

整學期有一次 take home exam 和忘記有幾次手寫作業,另外比較重要的部分就是期中期末 project。期中 project 是要我們寫 JPEG decoder (天阿小時候的 coding style 不忍直視…),並且是一人一組,基本上就是直接按照既有的 spec 手刻出來,不過那是我第一次做比較大型的 project,雖然大概也只寫了 500 多行,但還是花了好幾天才寫出來,另外如果有能力還可以再寫 encoder 的部分。期末 project 則是以組為單位,我們是寫 vp8 decoder,也是一種影片的壓縮通訊協定,那應該是我目前為止唯一一次有看著 spec 開刻以及以小組為單位寫程式的經驗,因為隊友實在太強以至於我覺得我雖然有寫程式但好像沒什麼很大的貢獻,只完成比較簡單的份內工作而已。

另外在等第計算似乎有點模糊,學期一開始的時候他在投影片只說了類似如果完成期中或期末 project 的哪些部分可以拿到哪些等第,我們這年是還好給分還算是蠻甜的,但有興趣可以參考這份心得,裡面充滿對這個課程給分制度的不滿,後來修課的朋友好像也遇到給分不透明的狀況,不知道現在有沒有改善。

深度學習之應用 (CSIE 5431)

- 修課學期: 大二下
  • 授課老師: 陳縕儂

  • 給分甜度: ★★★★

  • 課程硬度: ★★★★

  • 個人評價: ★★★★

  • 等第: A+

這門課的取向有點像是李宏毅的機器學習,整體來說需要寫很多 code 實作上課講過的方法。老師一開始會提醒大家建議要有能自己使用的 GPU 資源,不然作業會有點辛苦,建議可以用付費的 colab 或是資工系上的工作站(雖然到 deadline 前大家搶得很兇)。

課程會有 HW0,是希望我們能先學習使用 PyTorch,但因為有 sample code 只要改幾行程式碼,所以弄完我還是不知道 PyTorch 在幹嘛,直到寫 HW1 的時候我才花了好多時間學會怎麼用。因為老師本身是做 NLP 相關的研究,所以課程前半段基本上都圍繞著 NLP 相關的主題,從最簡單的 RNN 到現在大家一言不合就拿 BERT 當 model 的基底都會介紹,其實最重要的部分應該是 self-attention 機制。上課主要都是介紹各種模型的原理,實作的部分都要從作業中自己學會,也因為沒有像機器學習有提供 sample code(應該是吧?),所以會比較花時間,尤其在 HW2 特別有感,因為 BERT 模型超級胖,所以 train 的時候會花很多計算資源和記憶體,也特別花時間,所以有一個好的 GPU 資源在這裡就可以體現出來。

學期後半段才進入不是 NLP 相關的主題,主要會介紹 Reinforcement Learning 和 GAN,Reinforcement Learning 和 Supervised Learning 及 Unsupervised Learning 是機器學習的三種類別,Reinforcement Learning 常藉由觀測環境與和環境互動來取得最大的效益,像是那次的 HW3 要玩 Lunar Lander 和一個射擊遊戲,在寫作業的時候還有 GUI 可以看訓練的模型強不強,我覺得超級有趣的~ GAN 的部分好像因為時間不足就沒有作業了 QQ

Final Project 的部分可以做老師給定的題目或是自己找 DL 相關的主題來做,我們組是做老師給定的題目,會有一些日文的建案資料,然後會有 20 個簡答題讓模型去回答,因為 data 比較少所以會需要用 Transfer Learning 去做。因為我們組有好會 ML 的隊友,所以他用了很多方法來加強我們的模型,也讓我們在最後的 private dataset 上拿到第一名。

我覺得這門課很大的優點是老師人很漂亮投影片做得很漂亮,而且節奏掌握得很好,語調也很清晰,不會讓人聽不太懂或跟不上,印象中也會偷偷在上課穿插冷笑話 (ADA 比較常這樣做的樣子?)。整體上也覺得這是一個很實用的課程,透過作業實作上課講過的東西,也才能知道比較細節的問題和訓練 model 遇到的各種困難和解決方法,自行 Google 各種資料解決問題也是資工系學生必備的技能之一。

現代科學與心靈科學 (CSIE 1923)

- 修課學期: 大二下
  • 授課老師: 歐陽彥正

  • 給分甜度: ★★★

  • 課程硬度: ★★

  • 個人評價: ★★★

  • 等第: A+

這門課雖然是通識課,但因為是資工系開的課所以還是算在系選修內,大二下的時候很缺系選修就選了一堆課,但這門課是剛好認識好幾個人都選到就來加選的。現在看起來這門課有一部分有和普通心理學的內容重疊到,比較印象深刻的是有介紹大腦運作機制、情緒產生與運作、還有一些跟宗教有關很玄我不太知道怎麼解釋的內容 XD。

整學期只有期中期末考和一個報告,考試的話是考簡答題,完全就是背投影片,幾本上我整學期都沒有上過課,在考試前兩天才開始瘋狂看投影片然後把重點摘錄到 hackmd 上,考試的時候基本上會就是會,不會就是不會,所以很多人都 20 分鐘左右就交卷了。期末報告就是選一個相關主題找一些文獻做成投影片報告… 本來是這樣但是因為疫情爆發的緣故變成線上上課,所以就取消報告只要做投影片就好了,這讓事情變得很輕鬆,我們組只花了兩個小時就做完了,而且基本上都是我在弄 XD。最後有把總成績往上調兩分左右,讓我剛好拿到 A+,可喜可賀。很擅長背投影片的人可以來修這門課水過系選修或通識課~

生物序列分析演算法 (CSIE 5028)

- 修課學期: 大三上
  • 授課老師: 趙坤茂

  • 給分甜度: ★★★★★

  • 課程硬度: ★★

  • 個人評價: ★★★★

  • 等第: A+

當初聽說這門課不會太難那個時段又是空著的就決定來修這門課了,這門課是全英文授課但我總覺得老師英文講得還蠻卡的所以不知道為什麼要是全英文 XD。其實說是生物序列,但基本上就是在介紹各種序列相關的演算法,只是有時會特別考慮只包含 A, T, C, G 的字串。因為是基因序列,所以大部分都在介紹和 sequence alignment 相關的演算法,不過大部分都是學過的東西所以不會很吃力。後半段有些跟生物有關的東西我那時候沒有聽懂所以考試的時候也不會寫。

整學期只有期中期末考和 Final Project,基本上就是把上課講過的演算法寫出來,期中考要手寫類似 LCS 的 dp 大表格有夠辛苦,另外可能是助教改考卷都改很鬆,有些我自認為沒寫清楚的地方他都直接給滿分了,算是蠻甜的助教 XD。Final Project 就是老師挑一些 paper 讓我們選來報告,一個人大約要講 15 分鐘,因為是全英文的課程所以也要求用英文報告,所以我們這組有在報告前的週末自己 rehearsal 過一次,確保上台的時候講英文不會卡住。

整體來說就是一門甜涼系選修,只要期中期末考前花點時間看投影片複習一下就好了,最後將近 70% 的人 A+。

計算邏輯簡介 (CSIE 4111)

- 修課學期: 大三上
  • 授課老師: 王柏堯

  • 給分甜度: ★★★★

  • 課程硬度: ★★

  • 個人評價: ★★★★★

  • 等第: A+

這堂課是少數開在大學部的系選修讓我覺得內容很有趣的課,課程會介紹各種 Mathematical Logic,包含 Propositional Logic 以及 Predicate Logic 等等,如果有學過邏輯的話應該可以比較好入手這個課程。作業包含三次手寫作業以及三次程式作業,手寫作業基本上就是上課講過內容的練習題,比較有趣的是程式作業,有一次要我們用 Coq (一個交互式的定理證明輔助工具) 來寫兩個變數的中國剩餘定理證明,另一次是要用 NuSMV 對 Needham–Schroeder protocol 進行 man-in-the-middle attack,還要嘗試修好老師給的 source code 來避開這樣的攻擊。這應該是人生唯一一次寫到這兩個酷東西了。

期中期末考 open anything 但不要使用網路,基本上上課有聽懂手寫作業有弄懂考試應該不是太大的問題,期末考第一大題甚至有 20 分是問你喜歡本學期上課的哪些內容,分數直接大放送 XD,雖然我不知道最後期末考的分數,但全部共有 50% 的 A+,應該是一門超甜內容又蠻有趣的選修課了。

自然語言處理 (CSIE 5042)

- 修課學期: 大三下
  • 授課老師: 陳信希

  • 給分甜度: ★★★★

  • 課程硬度: ★★★

  • 個人評價: ★★★

  • 等第: A+

我在大二下的時候就有選到一次,但是在學期中考完期中考後因為私人因素結果停修了 QQ (跟成績無關),大三下的時候揪了幾個同學再修一次。這門課是 NLP 領域的入門課,介紹語言處理這項領域的重要性,並從比較古典的自然語言處理的方法開始介紹,包含 N-gram Model、詞向量、語意及句法分析等等,到現在更為興盛的 Neural Network Model 像是 RNN 或是 Self-Attention 模型,在機器學習興盛的現在 NLP 應該由其是很多人都想要接觸的領域 (Vivian 的 Lab 也爆多人…),所以這門課每年都有好多人來加選,要選到好像不是一件容易的事情~

期中期末考都是 open books,所以考試前都會在印表機看到一大堆人印整坨投影片進去考場翻,但這樣真的好浪費紙…,感覺應該讓我們可以開電腦但斷網路考試。除此之外還有 oral presentation 以及 term project,oral presentation 就是找一篇論文來報告,因為已經在 lab 報告過類似領域的論文所以這部分沒有太大的難度。term project 在那年是要參加 AI Cup 舉辦的「醫病決策預判與問答」競賽,簡單來說就是寫模型讓問答或預測類別的正確率盡量高,有修過 ML 的學生應該對這種比賽不陌生。

整體來說我沒有特別推薦一定需要修這門課才能入門 NLP,主要是因為老師的語調其實有點平淡,很容易不小心睡著,除此之外似乎介紹很多現在比較少在用的方法,所以要 follow 最新的技術可能自己查文獻來看比較有用,自從 BERT 出現了以後看了現在的論文很多都是直接 Deep Learning 硬 train 一發,後來不打算繼續研究 NLP 決定離開 Vivian 的 Lab 的原因也是因為看了一年的論文後還是不太懂到底 NLP 要怎麼著手研究,或許我可能就沒有很適合做研究也說不定。

圖形演算法特論 (CSIE 7133)

- 修課學期: 大三下
  • 授課老師: 趙坤茂

  • 給分甜度: ★★★★★

  • 課程硬度: ★

  • 個人評價: ★★★★

  • 等第: A+

上學期修了老師的生物序列分析演算法發現他的課好甜好涼所以決定再撿一個甜涼課來修 XD,這門課感覺上命名成「樹形演算法特論」比較合理一點因為整個學期其實都圍繞在樹上做研究,課程內容大致上就是從老師做過的研究論文拿一兩篇出來講,包含 Minimum Routing Cost Tree 和 Communication Spanning Tree,講課的進度其實非常緩慢,所以上課的時候基本上我在做自己的事情或是直接不去上課,因為圖論算是我比較熟悉的內容所以在看課程筆記或是投影片的時候其實蠻快就可以看得懂了。

整學期只有期中期末考以及 Final Project,和生物序列分析演算法一樣期中考和期末考改分都非常的鬆,只要有寫到關鍵好像分數都蠻高的,Final Project 則是找一篇論文來報告,通常是老師列出幾篇 paper 讓所有修課學生分別選不同的主題,但後來我們這組不喜歡被分配到的主題所以另外找了一篇和 Directed Steiner Tree 的論文來報告,不過因為疫情的原因最後老師只讓我們做投影片不用報告,也讓這門已經很輕鬆的課變得更加輕鬆。雖然不知道老師最後怎麼評等第但有 75% 的修課學生 A+ 應該足夠甜了吧 XD。

預測、學習、與賽局 (CSIE 5002)

- 修課學期: 大三下
  • 授課老師: 李彥寰

  • 給分甜度: ★★★

  • 課程硬度: ★★★

  • 個人評價: ★★★★★

  • 等第: A+

這個課名乍聽之下不知道在幹什麼 XD,實際上老師在想課名的時候也想很就要怎麼取名,老師說他本來想把課名叫做 Online Learning,但這樣可能怕會被誤解成別的意思,所以後來就從課程內容挑一些名詞湊起來當成課名了。課程一開始用 Mind Reading Game 講解什麼是 Online Learning,概念是玩家與一個給定的環境互動,每一回合玩家和環境依序給出某種選擇,接著有一個評價函數來衡量玩家的損失,玩家的目的是要勁量讓損失總合越小越好。之後介紹比較常見的 Online Learning 模型並討論其相應的演算法,例如上面的 Online Binary Classification 問題就可以使用 Blackwell Approachability 來解決,個人覺得這門課的內容十分有趣,很像是自己設計一個遊戲內容然後設計一個好的演算法並利用數學工具去分析它,在該學期以及隔一個學期在修同一個老師的最佳化演算法 時看了不少 Online Learning 相關的論文,覺得內容都很有趣,而且能想到解決這類問題的演算法的研究學者都有夠厲害。

在開學的時候有 HW0,內容是給一個簡單的 Online Learning 模型讓我們去進行簡單的 paper survey 並針對找到的論文寫它的研究摘要及證明脈絡。除此之外整學期有兩次的作業以及一個 Final Project,作業有上課看懂投影片應該一份可以在 1015 小時左右完成,Final Project 的部分是讓我們選一篇 paper 進行 1525 分鐘左右的報告,但後來因為疫情的原因全面線上上課,所以改成以錄製影片的形式報告,這樣反而讓我們花更久的時間準備,因為一卡住就想要重錄讓影片看起來更完整,讓我們到 deadline 前十分鐘左右才弄好影片並上傳,算是有驚無險。

個人覺得這門課的內容相當有趣,如果對數學能力有足夠的信心我覺得很推薦來修這門課了解一下這個領域在做什麼。

數學之美 (CSIE 1927)

- 修課學期: 大三下
  • 授課老師: 呂學一

  • 給分甜度: ★★★★★

  • 課程硬度: ★

  • 個人評價: ★★★★

  • 等第: A+

雖然是通識課,但因為是資工系教授開的課程所以算在我的系選修內,這門課主要是以比較輕鬆的方式在介紹各式各樣的數學謎題或是有名的數學定理跟歷史,例如黎曼猜想與四色問題等等,當然還有老師到哪個課都要講的海怪定理 XD。老師上課的時候會時常走下台和同學互動,在三百人的通識課還肯這樣做可以想像老師其實是很用心授課的。

全部一共只有三次期中期末考試,計分方式會因為系所必修哪一種微積分課程來決定採計分數最高的幾題進行加總,簡單來說可以以下述的表格呈現:

微甲 微乙 不必修微積分
10/12 8/12 6/12

考試內容全部都在上課投影片內,所以只要考試前花一點時間讀投影片就可以拿到不錯的分數,但要在兩個小時內寫完所有的題目還是要對課程內容有一定的熟練度,以及要熟悉一下數學證明的書寫,最後聽說分數給的非常甜,因為有認識的同學學期平均只有 85 左右還是拿到 A+,所以如果想要輕鬆刷通識學分或是資工系學生想要刷系選修的話是一門很甜涼的課。

計算機安全 (CSIE 7016)

- 修課學期: 大四上
  • 授課老師: 蕭旭君

  • 給分甜度: ★★★

  • 課程硬度: ★★★★★

  • 個人評價: ★★★★

  • 等第: A-

這是一門為了打 CTF(Capture The Flag) 競賽的入門(?)課程,CTF 主要有 Crypto, Web, Rev, Pwn 四個大領域,如果對 CTF 競賽有點興趣可以再查查看這四個項目大致上在做什麼,但整體來說都是找到題目刻意設計的漏洞進行攻擊進而取得 flag。每個領域都會由一個助教來上課(對所以教授不會上課,只有在第一週的時候進行課程介紹),每個課程會進行三週,在介紹每個內容的時候都會順便帶 lab 進行簡單的示範,lab 可能是上課會直接告訴我們做或者是給我們提示讓我們自己做,至於作業的部分每個領域大約會有 4~5 題,除了找到 flag 也需要寫 write-up 告訴助教自己的解題歷程。作業的難度都蠻高的,對於剛入門這個世界的學生來說大部分的題目都不太能自己獨立完成,所以找好大腿非常重要 XD。

除此之外,在期末的時候會讓我們組隊參加比較正式的 CTF 競賽,這個比賽是 4 個人一組,然後在期末考週的星期五~星期日進行大約 56 小時的時間,一樣打完比賽後需要繳交一份 write-up 給助教批改。一場 CTF 競賽大致上每個領域會有 5~6 題,然後還有一些不知道放在哪個領域的題目會被丟到 Misc,然後這其實是某場比賽的初賽,所以如果打得夠好寒假的時候還可以繼續去打決賽。

會想修這門課的原因其實就是想嘗試接觸不同的競賽領域試試看,但經過一學期後我發現 CTF 對我來說真的太困難了,除了 Crypto 以外的三個領域基本上我在修這門課以前基本上沒有碰過類似的東西,在 final CTF 的時候除了 Crypto 以外幾乎所有題目我都沒有什麼想法,所以即使一整個學期學了不少東西遇到真的問題的時候也很難想到怎麼解題 QQ,所以經過一學期的歷練後我就決定放棄打 CTF 了,但整體上如果真心想嘗試 CTF 這門課應該是真的蠻推薦的,但就是要有充滿挫折還有花費很多時間的心理準備。

最佳化演算法 (CSIE 5410)

- 修課學期: 大四上
  • 授課老師: 李彥寰

  • 給分甜度: ★★★

  • 課程硬度: ★★★

  • 個人評價: ★★★★

  • 等第: A+

這在系上是一門比較少數(?)蠻著重數學能力的純理論的課程,主要在介紹在各種不同條件限制下要如何去最大化或最小或一個函數,在這當中會介紹很多種不同的 gradient descent method,其目的就是要去逼近預期的最佳解,gradient descent 用比較多人知道的講法有點類似在高中數學課就學過的牛頓迭代法,利用一步步更新當前狀態逐漸去逼近想要的結果。除了介紹各種條件下的演算法以外也會分析該演算法對於逼近最佳解的好壞程度。

整個課程大致上會有三份作業,其中包含一開學的 HW0,以及一份 Final Project,不確定自己數學能力夠不夠應付這門課的話可以先寫寫看 HW0 再來決定。每份作業看完上課投影片及查閱相關資料的話通常可以在 10 小時左右內完成,作業聽說都會是老師另外找與課程相關的論文拆成好幾個小題讓我們去完成數學推演,個人覺得這樣的作業蠻棒的,有種真的在解決實際問題的感覺,但因為作業都集中在學期後半段,所以整個學期的 loading 還蠻不平衡的,但根據課程內容來看好像也沒什麼辦法。Final Project 的部分今年是做 paper survey 並寫一篇不超過 12 頁的 survey 成果,報告的要求其實蠻多的,主要是希望我們能夠統整調查的論文有自己的看法而不是只是把各種結果抄上去,除此之外對數學證明的書寫以及避免文法錯誤也有一定的要求,也算是希望我們能用心對待這份報告。我們組其實在剩下一個月的時候才決定好要看的 paper 然後開始找一堆相關的 paper,因為一大堆 deadline 搞在同一天,甚至在繳交報告前一天晚上 overleaf 才打下第一個字,好險最後有成功趕工完成,還拿到 project 的最高分,感謝隊友大 carry > <

在大三下的時候就曾經修過同一個老師開的預測、學習、與賽局,那時候上起課來覺得老師其實相當的聰明,對自己研究領域和上課模式有蠻獨到的要求,老師其實蠻希望我們不是只是有學好上課內容本身,而是希望我們在上完課後能對自己有興趣的部分進行更加深入的自主學習,有加老師 FB 的人應該也常常可以看到老師發的文,很多都很有趣 XD。除此之外上課的時候蠻常穿插一些相關領域蠻有名的人做過的事情,課上起來其實還蠻有趣的不過進度就是相對比較慢,學期過幾週後發現自己其他課和課外事情有點太多忙不過來就決定都不上課只在作業來的時候看投影片解決作業,這部分感覺真的有點對不起老師 QQ。

現代密碼學的理論基礎 (CSIE 5037)

- 修課學期: 大四下
  • 授課老師: 鐘楷閔

  • 給分甜度: 待補

  • 課程硬度: 待補

  • 個人評價: 待補

  • 等第: 待補

一般選修

分析一、二 (MATH 5232, 5229)

- 修課學期: 大一
  • 授課老師: 崔茂培

  • 給分甜度: ★★

  • 課程硬度: ★★★

  • 個人評價: ★★★★

  • 等第: A+, A+

這門課是數學大二必修ㄦ–分析導論的榮譽課程,但以結論來說,這年的分析相對於其他學年上課進度還蠻慢的,所以我並沒有花太多的時間在上面。分析基本上就是微積分課程的後續,從定義 metric space 開始,上學期介紹了很多 topology 相關的知識,甚至將在 metric space 上的 topology 近一步推廣到更抽象在 set 上的 topology,後來又拉回來講 R^n 上函數的各種性質,下學期最主要比較有趣的部分是在介紹 Lebesgue integral。上課方式一貫數學系傳統以板書上課,但老師的字體比較潦草所以可能要認真看才比較看得懂 XD,上學期作業不知道為什麼是分成小組一組寫一份作業,這真的讓我在上學期幾乎沒做到事情,到了下學期才恢復每個人都寫作業,感覺數學系的課最重要的就是透過作業來學會上課講的定理性質怎麼使用,還有嚴謹的數學論證模式。

除了作業以外還有課堂的小考,但只是為了確認大家有在上課,所以印象中題目都不太難,期中期末考也還算正常,每次都考三小時大約 5 到 6 題,有少數作業或課本題目但大部分還是沒有出現過,所以需要花時間才能想到怎麼做,比較有印象的是有放一些蠻梗的題目考試當場沒想到怎麼做,但考完後突然想到梗就會做了,還蠻可惜的。另外上學期可能是因為作業考試都太簡單了老師把 A+ 線調到 95 分害我差點沒 A+,下學期才拉回到學校預設的 90 分。

數學系課程比較大的特點是每一年開課老師都不太一樣,所以不知道下一次這門課輪回同一個老師開是什麼時候,不過感覺上這個老師的課進度都不會太快(我需要數學系的好朋友幫我認證 XD)。

代數一、二 (MATH 5178, 5179)

- 修課學期: 大一
  • 授課老師: 王金龍

  • 給分甜度: ★★★

  • 課程硬度: ★★★★★

  • 個人評價: ★★★★

  • 等第: A+, A+

這門課是數學大二必修–代數導論的榮譽課程,修課前就有耳聞王金龍老師的課程蠻硬的(是說老師有很多酷酷語錄可以看這裏),不過因為當時還在思考有沒有可能雙主修數學系甚至走偏數學的研究,大一還年輕想說就來修看看。兩學期分別 follow Jacobson 的 Basic Algebra 上下冊在上。上學期比較著重在基礎的部分,包含 group, ring, module, 基本的 field extension 以及 Galois theory,下學期則是在介紹比較近代的代數,包含(非)交換代數、同調代數、infinite Galois thoery 等等,因為是 honor course 所以每年不同老師所開設的課程內容以及編排上都會有些許差異,不過共同的特點是都比代數導論進度快上不少。這門課應該是我個人認為大學四年修的課以來知識密度與進度最快的課,老師講課的方式必較算是照著課本的內容透過板書方式呈現,有個特點是感覺上老師常常把看起來很難的東西講的好像很簡單,所以台下的學生常常看起來都有聽懂,可能也是因為這樣每次的內容都很多,小時候我還會認真聽課的年代基本上也需要全神貫注才能不會中途死亡。(記得下學期常常到一半就聽不懂就決定偷睡覺了 XD)

個人主觀認為 Galois theory 是整年下來學到最有趣的章節,原因之一是小時候大家常常在講五次方程沒有根式解,但一直這樣講其實也不知道這件事情的理由是什麼,這系列理論本質上提供了體論和群論之間的聯繫,在研究許多相關的性質的時候順帶解決了這個大家耳熟能詳的定理。代數相對於分析我自己覺得「抽象」非常多,分析常常在討論實數的函數,所以看得到具體的東西,但代數經常是把各種具體的東西的結構拉出來抽象化,所以在能看到東西的情況下我覺得我比較能直觀理解這個理論在做什麼或為什麼要這樣思考,而 Galois theory 我覺得比較有東西讓我想像的那種感覺,像是下學期學到的同調代數感覺因為沒有一個好的東西可以讓我理解,所以那部分我大部分都是直接把定理性質證明背下來,學的不是很好 QQ。

作業基本上每週都有大約十題,上學期大部分都還能做得出來,但到了代數二基本上常常一半以上的題目都不會做,所以都要靠一起修的同學去問助教提示在想辦法一起解決,花在作業的時間應該佔據了我在大一大部分課業上的時間。另外代數一的時候有時候會出另一本 Bourbaki 的習題當成 bonus,Bourbaki 的內容和題目聽說是蠻出名的暴力或困難(有點忘了),所以我記得我只寫過一兩題而已。

每學期各有兩次小考,印象中題目都不是很容易,但因為有調分所以成績不會太差,期中期末考的部分其實蠻佛心的,大多數不是考作業或課本有的習題就是定理的證明,所以基本上努力讀書就會有回報,印象中期末考甚至還會有讓我們自己選擇一個準備好的定理證明把它寫上去,滿分也通常大約有 130 分左右,而且考試時間有四個小時,有認真讀書應該是都不會考太差。

數學系的 honor course 基本上就是希望我們花足夠多的時間投入,對一個真正的數學系學生來說這應該只是一個基本的訓練,不過對我來說嚐鮮即可,藉由這門課我感覺到自己好像沒有很適合往數學系或純數學研究的方向走,所以後來就不決定雙主修了。總之如果有想要讀數學系或是雙主修的話可以修修看 honor course 體驗看看什麼是一個真正的數學課 XD,應該會非常充實。

數論導論 (MATH 5195)

- 修課學期: 大二上
  • 授課老師: 謝銘倫

  • 給分甜度: ★★★

  • 課程硬度: ★★★

  • 個人評價: ★★★★

  • 等第: A+

數學系的數論相關課程好像不多,而且因為比競賽的關係,我其實蠻想學一些比較進階的數論知識,所以看到這門不知道幾年才開一次的課程就決定選下去了。整學期前半大致上 follow A course in arithmetic (GTM 7) 在講,包含從高中就講過的二次剩餘和討論 p-adic number 及 finite field 上的各種性質,後半學期則是在討論橢圓曲線上的群結構,這在密碼學中也常常用到,不過因為老師有給自己打的講義所以大部分我都沒有看課本(但後來看 ceiba 老師把講義全部撤掉了 QQ,想複習只能去看課本了)。雖然課程要求似乎有代數導論的先備知識要求,但我其實覺得只要有群的概念就沒什麼問題了,另外就是在講 Dirichlet’s theorem 時有用到複變知識所以我有些地方就直接承認了,但整體上應該不太影響上課體驗。上課模式就是經典的數學系課程沒什麼特別好講的,步調也算正常不至於讓人認真聽還跟不上,只是數學系的人計算都不太好,老師在台上四則運算常常算錯 XD(但這門課很多部分都要暴力算東西誒),然後有時候會掛版但顯然是因為這些東西對他來說已經太容易細節就很容易忽略掉,我自己在講數奧的課有時候也會這樣 XD。

評分的部分整學期有 10 次作業共佔 80% 及期末考 20%,作業的部分印象中有 bonus 題,但是都沒有太難,大部分都可以做得出來,少數有和同學討論,題外話我之前一直蠻想從作業或課程內容變出數奧題來丟選訓但都沒有什麼好的想法,只能說自己實在不夠聰明 QQ。期末考的部分其實老師異常友善,在考試前一週已經偷偷透露每一大題的題型了,所以準備起來就相對簡單,只是有一大堆計算題,所以考試卷上就充滿我計算一些四位數字的各種運算,好險都沒有計算錯誤。老師原本好像只想給一個 A+ 但是太多人考太高分了所以最後好像就給到四個 A+ 了,但我覺得題目就都已經大概知道了要考高應該不是太困難的事情 XD,我還被扣了一個我覺得是對的地方但我已經全班最高分了就懶得要分數了。

不知道這門課幾年後還會再開一次,不過數學系的數論課真的比較稀少,所以如果遇到有興趣的話推薦就去修修看ㄅ。

日文一、二

- 修課學期: 大二、三
  • 授課老師: 施姵伃

  • 給分甜度: ★★★

  • 課程硬度: ★★★

  • 個人評價: ★★★★

  • 等第: A+、A、B+、A

因為不想修大一英文而且有接觸過日本文化平常也會聽日文歌,就決定比較有系統地學習日文,順便可以抵大一英文。剛好兩年都修到同一個老師的課就一起寫,基本上日文ㄧ、二的內容就是完全照著「來學日本語」兩本日文課本的進度進行,上課的時候會讓我們兩個一組進行課本上句型的對話練習,也是少數可以講日文的機會。每一個老師的日文課進度基本上差不多,基本上每一課上完就會有一個大約十分鐘的小考,包含上課單字以及句型,有時候也會要我們寫翻譯,基本上課本內容要夠熟練不然十分鐘會有點來不及。這個老師的課沒有作業但會發一些補充題目讓我們自己練習,但我因為很懶所以幾乎沒有寫過。

另外在日文一下及日文二下的時候都會有口說的測驗,日文一下的時候是讓我們朗讀日文的故事,因為沒有讀過這麼長的文章所以需要花點時間練習才能夠朗讀的通順,日文二下則是讓我們用日文花大約五分鐘的時間介紹自己喜歡的東西,主題不限,我想了一段時間決定報告「刀劍神域」這部動畫 XD,因為日文還不夠熟練所以沒辦法像英文或中文一樣想到什麼就講,所以花了一點時間寫逐字稿然後請認識的日文大神幫忙修一下,當然還要做簡單的 ppt 上台報告,整個過程還算是蠻順利的~

整體來說就是一個中規中矩的日文課程,當然如果想學得更快更多自己再另外找資料學或是到外面花錢學一定是更好的。大四上因為排課原因沒有繼續修日文三是有點可惜,其實自己有點希望能把日文學到足以進行溝通的程度,畢竟去了好幾次日本玩也蠻喜歡這個國家的,希望以後有機會再去日本可以成功用日文和當地人溝通 XD

圖論一 (MATH 7703)

- 修課學期: 大三上
  • 授課老師: 張鎮華

  • 給分甜度: ★★★

  • 課程硬度: ★★★★

  • 個人評價: ★★★★

  • 等第: A+

這門課的老師是已經退休的名譽教授再回來開設的課程,也不知道會不會再開下一次不過還是寫一下心得~。上課用的教科書是老師自己出版的圖論教材,內容還蠻豐富的,即時不修課也可以自己買來看。課程安排從最基本的圖論來源開始講起一路介紹各種經典的圖論知識如匹配、圖的連通性、以及 Ramsey Theory 等等。學期大半的內容其實之前或多或少就已經有接觸過了,加上老師上課的步調比較緩慢,所以課上起來來不會太吃力(我到後來也都沒去上課了 XD),所以花費的時間主要是整個學期一共 17 次,每次約 6 題的作業,因為學期初就已經開好作業的題目單了,所以可以超前把作業寫完。我到最後幾次作業前都有超前大約兩次的作業進度,但最後因為其他課忙不過來所以進度就被追平了 QQ。

另外這門課的期中期末考十分有趣,因為考試時間長度沒有限制,也就是從下午開始考試可以一路考到半夜都沒有問題,所以基本上沒有寫不完的問題只有題目真的不會寫的可能,或者是到最後堅持不住不想寫之類的 XD,甚至有人問可不可以在考試的時候吃泡麵好像還被同意了,不過我不知道最後那個人有沒有吃就是。我兩次考試大約各花費接近五個小時才全部寫完,大部分的題目都是看到就直接寫了,所以其實題目量算是蠻大的,如果沒有很熟悉上課內容的話應該很容易卡住然後就會一路寫到半夜才能寫完。

不太確定最後的等第是怎麼計算的,不過還蠻多人 A+ 的所以相信這門課還算是扎實甜,算是數學系比較輕鬆的課之一了吧,只要肯認真寫作業應該成績都不會太差~

網路服務程式設計 (EE 3035)

- 修課學期: 大四上
  • 授課老師: 黃鐘揚

  • 給分甜度: ★★★

  • 課程硬度: ★★★★

  • 個人評價: ★★★★★

  • 等第: A+

這是我大學四年唯一修的電機系選修,因為超多人推薦而且也順便想學一下網站相關的知識,就決定揪人一起來修。這門課完全從入門開始教起,包含最基本的 html, css, javascript 都會在課程中介紹到,之後在前端會介紹 React 框架,後端的部分會講到 axios 以及 graphql 作為和前端溝通的 api,並使用 mongodb 作為 database,整學期下來會讓學生對網路服務相關的技術有蠻完整的認識。

作業的部分整學期一共有九次作業,包含五次前端以及四次後端,作業基本上由學生們互評,會有三種評分:Perfect、Pass、Fail,基本上只要不要跑不動就可以拿到 Pass,九次作業中也只需要拿到四次 Perfect 作業分數就可以拿滿,但蠻推薦前期就可以先拿到 Perfect 的分數,因為後端的 Perfect 要求實在多到有點難拿到 XD。除此之外因為這是一門很著重實作的課程,所以上課講的內容更要好好透過作業來學習,所以自己把作業寫出來是還蠻重要的,當遇到不太清楚的地方直接 Google 查一下基本上都可以查到想要的解法。

除了作業以外這門課也有三次的 Hackathon,也就是上機考試,每次都會由助教給一份 Sample Code 把一些地方挖掉讓我們去補齊需要的功能,因為考試時間只有三個小時所以要對上課的內容以及語法有一定的熟悉度,不然很容易來不及完成。印象中第一次考試要寫的東西特別多,以至於大多數的人分數都很低,所以後面兩次看起來是有放水大家分數都好高好高 XD。

最後就是這門課有一個 Final Project,主要就是利用這學期學到的東西去設計一個網路服務,包含前端網站以及後端設計,主題不限。我們這組做的是「虛擬貨幣模擬交易與回測系統」(repo 沒公開 QQ),藉由 Final Project 更能熟悉上課學過以及沒學過的各種技術,因為整個架構都是和小組成員討論,而不是老師或助教已經指定好的問題,當遇到非預期的狀況基本上只能到處 Google 搜尋解決方法,學習如何 Google 找資料對工程師來說應該也是很重要的技能,此外自己設計 project 和小組成員溝通,並且要如何分工也是一個重要的技能,所以這門課所學到的不只是網頁設計的技巧,也讓我學到要如何進行團隊合作,特別是在寫程式的方面進行合作,畢竟以後在工作的時候一定會更常遇到要合作寫 code 的情形,這個技能應該是相當重要 XD。

結論就是真的大推這門課,讓我從完全不會網頁設計、不會寫 javascript 進步到可以和組員一起寫出一個功能還不錯的網站,應該是我修過最有成就感的課程了,也要感謝隊友大大 carry 才能順利完成這門課 > <。

體育

桌球初級 (PE 2074)

- 修課學期: 大一下
  • 授課老師: 王翊澤

  • 給分甜度: ★★★★★

  • 課程硬度: ★

  • 個人評價: ★★★★

  • 等第: A+

小學的時候有打過蠻長一段時間的桌球,所以每學期選課的時候都填了很多桌球課,最後只有大一下的時候有選到一個桌球 XD。這門桌球課的老師是前國手,所以上課起來的感覺非常專業,因為是初級的關係所以就是連初學者都可以修的課程,從零開始一步一步帶大家把打桌球的基本觀念與姿勢建立起來,上課的模式可以看出老師很用心在教學上,有學過桌球的人也可以花點時間重新把基礎打好。

考試的內容包含正手對打、反手對推、左推右攻之類的基本技巧,然後不能夠找和自己同系的同學一組,所以也需要去認識外系的同學,老師說他希望能讓大家多認識不同系的朋友 XD。我剛好找到一個也還算會打球的女生,所以考試對我們來說就還蠻輕鬆的。印象中學期後半段有一些多餘的時間就會讓我們自由的打球。整體上課的感覺很輕鬆,給分也很甜,大致上有 80% 的人 A+,很推薦想好好學桌球的人也想拿好成績的人來修。

籃球初級 (PE 2084)

- 修課學期: 大三下
  • 授課老師: 李永祥

  • 給分甜度: ★★★★★

  • 課程硬度: ★★

  • 個人評價: ★★★★

  • 等第: A+

因為國高中都有在打籃球所以選到就來上課了,本來以為初級是從初學運球之類的開始教起,結果第一堂課就要我們用兩顆球做各種有點高難度的運球練習,對真正的初學者來說難度還算蠻高的。每一堂課一開始都會先做熱身和打籃球常用的步伐移動訓練,之後就會練習各種運球過人技巧或是傳球技術,學期後半段還會介紹 3 v.s. 3 以及 5 v.s. 5 的各種團隊戰術。課程常常提早上完,多餘的時間就會讓我們自由打球,因為其實會打甚至是系隊的人很多所以其實蠻爽的。期末會需要繳交一個心得報告,可以針對某場籃球賽事撰寫心得或是對整學期修課的心得與反饋,總之想寫什麼就寫什麼,老師也很樂於給高分,最後將近有 80% 的人 A+,喜歡打籃球的修這門課應該都可以上的很開心。

重量訓練 (PE 2124)

- 修課學期: 大三下
  • 授課老師: 連家瑩

  • 給分甜度: ★★★★

  • 課程硬度: ★

  • 個人評價: ★★★

  • 等第: A

大三下不知道為什麼選了一大堆課結果選到一個最後才臨時填上的重量訓練,但因為本來就有自主在做重訓所以想說沒差就來修這門課,第一堂課就是簡單介紹身體各個肌群以及重量訓練的原理,此外因為自由重量對新手比較危險的緣故,所以教學是以機械式器材為主,開學前幾週會教大家如何使用各種器材,並順便測試大家的最大肌力,前幾週教學完後之後的上課時間基本上就是讓大家做自主訓練。雖然老師不建議大家跑去自由重量區但後來發現實際上老師沒有在看所以我都還是偷偷跑去自由重量區按照自己的計畫做事。

評分方式只有學期末要繳交一份重訓計畫書,內容包含訓練目的、內容、訓練記錄表、整體評估以及訓練心得,評估需要包含學期初與學期末的最大肌力測試比較,藉以判斷是否整個學期下來有所進步。基本上我就是按照平常的訓練方式只是把內容詳細地寫出來,所以對我來說這個報告沒什麼太大的問題。最後好像大家不是 A 就是 A+ 所以基本上算是一個給分蠻甜的體育課。

桌球中級 (PE 2075)

- 修課學期: 大四下
  • 授課老師: 王翊澤

  • 給分甜度: 待補

  • 課程硬度: 待補

  • 個人評價: 待補

  • 等第: 待補

桌球中級 (PE 2075)

- 修課學期: 大四下
  • 授課老師: 陳逸杰

  • 給分甜度: 待補

  • 課程硬度: 待補

  • 個人評價: 待補

  • 等第: 待補

通識 & 國文

大學國文一 (CHIN 1081)

- 修課學期: 大二上
  • 授課老師: 彭慧賢

  • 給分甜度: ★★★★★

  • 課程硬度: ★★

  • 個人評價: ★★★★

  • 等第: A

對於從小到大國文都奇差無比而且不感興趣的我,只期望大學國文不要像高中一樣被當光光就好了,所以當時選國文的時候花了蠻多時間查哪些老師比較甜涼,最後選到這門課印象中是第三志願的老師。課程的主題是古典小說,老師上課的方式是他一開學就印好一整本講義,裡面有很多不同的古典小說,同時老師搭配投影片來上課,印象中老師講話是蠻生動有趣,而且給人一種很和善的感覺,可惜上課的內容我比較沒那麼感興趣,所以沒有很認真地聽課,大多時間都在做自己的事 QQ

評分的部分包含每個修國文的人都會遇到的文章競寫,我還記得老師直接在某一頁投影片公布大家的成績,我就看到我是全班 unique 最低分,有夠好笑,但我是走後門入學所以國文和其他考試進來的學生本來就有一段落差所以不怎麼意外。期中的部分是隨意選擇和國文相關的主題報告,我只記得我們選了一篇古詩和其相關文獻來進行報告,然後兩位隊友都是蠻負責人的同學,非常感謝他們帶我順利通關。

期末前有一堂課是老師帶我們去故宮博物院參觀,上一次去可能是國中甚至國小的時候所以這算是整學期最期待的活動之一,甚至因為當天下大雨但全班都到齊沒人請假或翹課老師很開心,所以就把期末考取消變成故宮博物院的參觀心得了,真的是很佛心的老師!整學期我基本上沒有做過什麼事情,也沒什麼 loading,但全班只有一個人沒拿到 A 以上的成績,算是一個給分非常甜的國文課,如果想修甜涼國文課蠻推薦這位老師的!

個體經濟學原理 (ECON 1022)

- 修課學期: 大三上
  • 授課老師: 李顯峰

  • 給分甜度: ★★

  • 課程硬度: ★★★

  • 個人評價: ★★★

  • 等第: A-

我猜很多人通識課應該都會想找個體經濟學原理來修吧 XD,所以我也跟風跑來學個經濟學,這堂課好像同時是工管系大一必修,大致上就是按照 Principles of microeconomics 的內容在走,第一堂課會介紹經濟學關注的各種議題讓大家對經濟學有個基礎的認識,其實在高中公民課的時候就有講過一些經濟學,像是機會成本的概念與競爭市場等等,所以就上課的內容本身不會太難學。每週都會有個隨堂小考,使用 zuvio 在線上進行的選擇題測驗,然後大家作弊作的很猖狂= =,可以直接聽到有人超大聲討論答案,但其實只要有出席就可以拿到 60% 的分數了。

期中期末考分別都有選擇題以及非選題,期末考異常困難大家分數都不太高,最後也不確定是怎麼調分的只有 5% A+,我同學分數幾乎跟我差不多但他拿到 A,以通識課來說應該是非常不甜的課了,但我也沒有預期一定要拿 A+ 所以也沒什麼關係 XD。

人文科技的交響:新趨勢與新素養(一)(CHIN 1096)

- 修課學期: 大三上
  • 授課老師: 鄭毓瑜

  • 給分甜度: ★★★★

  • 課程硬度: ★★

  • 個人評價: ★★★★

  • 等第: A-

當初發現星期五下午還空著,隨便選了一個通識課就走進去加選,竟然還順利選上了 XD,看了一下課程大綱看起來是個演講課想說應該不會太硬就決定修下去了。這門課有很多不同的講師,每週都會由不同的講師來演講一個主題,主題都還蠻玄的,基本上都是想辦法對一個議題分別用人文與科技的觀點去詮釋,例如有一個主題是「古今中外宇宙學:古典與現代的交融」,就是分別用現代科技以及以前人們對宇宙的認知分別去做討論。講師講完課之後會進行分組,在助教的帶領之下討論上課延伸的一些問題並上台發表。演講本身是不需要到場的,只有助教課的時候才會點名,但還是建議到場聽一下課不太虧。

期中和期末各需要寫一次課程內容反思,主要就是針對課程內容去做一些自主延伸思考並寫下來討論,更簡單的說就是發揮創意開始唬爛 XD。另外學期末會有圓桌論壇以及成果發表,圓桌論壇的內容我已經不記得了,成果發表是需要以任意的形式去將思考一個主題,顯示出人文與科技結合並進行發表,我們這組其實有點混,到最後就是找了電影「星際效應」並寫下影評和大家分享當中人文是如何結合上科技的(?) 有看到很厲害的組別做了桌遊或是寫一個小網站進行闖關小活動,總之成果發表就是任由大家自行發揮,老師和助教們也會對我們的發表給予很多建議與鼓勵。

整學期下來我其實沒有做太多事情,最後的成績跟我的期望也差不多,畢竟通識學分對我來說只是希望能夠水過,選到一門還蠻有意思的課成績也沒有太差算是預料之外的成果。

國際關係二 (PS 1012)

- 修課學期: 大三下
  • 授課老師: 郭銘傑

  • 給分甜度: ★★★

  • 課程硬度: ★★★

  • 個人評價: ★★★

  • 等第: A-

這門課其實是政治系的大一必修,因為被認識的人推薦說很甜涼又很缺通識查了一下評價就決定來修了,基本上就是討論各種國際相關議題,包含國際貿易、國際情勢、環境保護、人權實踐等議題,投影片是全英文的,因為我完全沒接觸過相關領域,所以很多專有名詞我都看不懂,所以為了看懂花了一點時間查有點吃力。老師講課的聲音非常宏亮,而且語調蠻活潑生動不會讓人睡覺這點我覺得很棒,並且時不時穿插他家狗狗有多可愛 XD,可惜因為我對政治沒有很大的興趣,所以上課的時候我很多時間都在做自己的事情。

整個學期只有兩次小考佔 30% 以及期末考佔 70%,期末考比重這麼高我有點嚇到,除此之外會有一些加分作業可以寫,通常會是配合當前一些比較重要的國際議題請大家撰寫一頁左右的報告。每次考試前我都很緊張,因為大二大三的課讓我養成上課不認真聽回去才自己讀的壞習慣,但自己讀投影片的時候因為英文太差所以就好懶得看,好險最後考試成績都沒有太差,但我覺得和 ptt 很多人說甜涼水的評價沒有那麼一致,至少對於我這種沒什麼在關注國際議題的人來說是需要花時間學的科目,不過確實可以增加一點國際觀。

醫學與生活 (MD&PH 5007)

- 修課學期: 大四上
  • 授課老師: 楊榮森

  • 給分甜度: ★★★★★

  • 課程硬度: ★

  • 個人評價: ★★★★

  • 等第: A

就是一門甜涼通識課,每一週都會由不同的講師介紹一個醫學相關的主題,包含憂鬱症、長照、安寧療護等主題,當成演講來聽會十分輕鬆。整學期會有兩到三次點名,不到的話聽說會扣蠻多分的,但因為會事先告知有沒有要點名,所以如果沒有特別講其實可以不用去上課 XD。另外會有一次醫學院的博物館參訪行程,在參觀完之後要寫一篇心得,以及在學期末的時候要寫一篇上課心得,這兩篇心得我大概各花 30 分鐘就可以寫完了,最後還會有一個期末考,內容是整學期 16 週的上課投影片,但考試的時候發現大部分的題目都是不用讀書也會寫的常識,所以如果沒有特別想要拿 A+ 的話其實根本也不用讀書 XD,想輕鬆水過 A8 通識課或是真的有心想對醫學知識有點概念的話這門課是一個很好的選擇,當然前提是要選得到啦~