VinSong's Blog

Back

前言#

這學期本來只是想輕鬆點,因為我接了各種奇怪的事情,包括但不限於

  • 氣球社社長(唯一不是意外的
  • 巴笛重奏團(被老師情勒的
  • 微積分 TA
  • 雲嘉會返服

這學期過下去發現自己還是個分奴,分數真的對我的心情影響巨大,希望我可以克服吧~

修課目錄#



課表#

1
2計程SP
3自動機計程SP
4自動機計程SP
5自動機
6線代
7線代計網ADA普心
8毒道線代計網ADA普心
9毒道計網ADA普心
10微積分助教

系訂必修#


演算法設計與分析#

  • 授課教授: 呂學一

  • 學分: 3

  • 等第: A

  • 甜度: 4/5

  • 涼度: 10/5 (段考前 200/5)

  • 收穫: 2/5

我想要說這堂課真的很難,很難到我覺得我應該要重修一次才對(?

認真說的話,隨機客真的很會上課,上課內容很明顯是經過精心設計的,完全是自己的理解方式在講解演算法,而不是直接照抄課本,不愧是隨機客。但是,我稍微有點不喜歡他的上課模式,因為他完全不給任何作業,考試超級難預測,而且他對所有定義都很嚴格,只要錯一點小地方就會被扣分,而且這學期的考題真的很刁鑽,上課就有講到的題目不是很多,即便有出現,也都是那種要抄很長的解釋的題目,定義的部分包含但不限於 big-O notation 不可以用

limnf(n)g(n)=0  f(n)=O(g(n))\lim_{n \to \infty} \frac{f(n)}{g(n)} = 0 \ \Rightarrow\ f(n) = O(g(n))

這種東西,必須要用正式的定義

或這種定義

個人給他的考試的評價是拉完了NPC,但是我覺得是因為我真的不是走純理論演算法的料,隨機客的課比較適合數學好(很會通靈)的人,是一門很好評價自己是否是數學天才瘋子的課,隨然我自認抄筆記抄得挺認真,但看到考試題目除了訂議題之外第一時間還是腦袋空白,關於收穫的部分,我覺得我認真地認識到自己完全不適合 Graph Theory 之類的 Pure Math 或 Algorithm 的領域,雖然覺得這門課的內容還蠻有趣的,但一到了要我自己想的時候,我就完全不行了。

關於成績的部分,三次考試分別是滿分 120 100 80 分,我考的就別說了,是沒及格過,但最後在呂氏黑箱大調分之下,居然也拿到 A,真的是很神奇的一門課。看系上同學的統計我大概是落在 A+ 線之下一點點

 關於 三次考試
  • 第一次段考:第一次體驗呂氏期考,考前學長都說是考投影片有出現的東西,結果根本只有第一題的前兩小題是真的在投影片裡的抄抄題,其他題目全都是要自己想的,然後其中有一題,我大概寫了 2 面的答案,最後因為我的開頭寫錯,所以整題 20 分,我一共拿了 0 分,真的很慘(結果只要我拿個 5 分就有 A+ 了
  • 第二次段考:經過第一次段考慘痛經驗,我大概是有稍微準備一點點,結果最後還是考的挺慘(果然是拉完了,一樣根本沒有抄抄題,這次的策略錯誤是我寫題目很分散,就是一種能撈一點是一點,結果這種能撈一點是一點的題目,全在 [0,2)[0, 2) 這個區間內,對於一題 10 分來說根本等於沒有。
  • 期末考:期末考我真的準備的超級用力,甚至把他的 PPT 全部自己看一次再抄成自己的筆記,而且我改變了策略,先把自己會的題目全部寫完,再來處理不會的題目,結果雖然結果出來分數沒高多少,但因為三次段考的滿分分別是 120 100 90,所以期末考我考的其實算不錯。

總之,考試前真的要好好準備,隨機客的題目完全邪惡變化很多來的~

附上我自己的筆記 PDF,只有期末考的部分,因為我前面以為不用寫筆記,真的很抱歉

Algorithm Design and Analysis

Algorithm Design and Analysis


演算法設計與分析 呂學一 教授

線性代數#

  • 授課教授: 李明穗

  • 學分: 3

  • 等第: A+

  • 甜度: 5/5

  • 涼度: 4/5

  • 收穫: 3/5

Amy 班線代就兩個字:甜涼,每週都有作業,8~10 題計算題、證明題,考試也不難,一共應該 11 左右作業,上課前一定要教,不接受任何延期,三次考試,考試題目大部分都在作業範圍內,考試難度大概就是作業小小進階,整體來說是一門很輕鬆的課,但是這樣輕鬆的課的壞處就是整個學期學到的東西不是很多,學到最多的都是矩陣運算跟向量空間這些東西,SVD 老師甚至當成期末補充,沒有教,課程安排大概是

  • Matrics and Gaussion Elimination
  • Vector Space and Linear Equations
  • Orthogonality
  • Determinants
  • Eigenvalues and Eigenvectors

老師的上課方式大概就是在台上瘋狂抄筆記,抄完之後開始講解,也會有很多證明因為太長放在 COOL 上面,課本 Linear Algebra and Its Applications, Gilbert Strang, Fourth Edition,一直瘋狂手寫很容易睡著(對我來說),不過老師人真的很好,上課也會講很多小故事,像是他以前在美國吧啦吧啦,還有在電梯裡面因為長得很年輕所以被當成學生之類的,筆記有點像是課本的節錄加上一點點自己的內容,老師上課的內容沒有放上 NTU COOL,要自己抄,考試範圍也都是自己抄的內容,但其實有看過別人的筆記就好了

 關於 加簽

好像是去年受到了隨機客的荼毒,今年第一堂課的時候一坨人跑去找 Amy 加簽,但這堂課是三類加簽,Amy 完全不管你是幾年級,反正交給電腦隨機選就對了,所以我看到有些大三的學長沒簽到,但是大一的卻簽到了,隔壁班因為李彥寰是第一次教,所以有很多同屆也都來簽 Amy 班,最後就是大爆滿,聽說明年線代又會換回隨機客?可能又是爆多人加簽的一次

這裡附上一份線性代數的筆記 PDF,給不想上課有需要的同學參考~

Linear Algebra

Linear Algebra


線性代數 李明穗 教授

系統程式設計#

  • 授課教授: 鄭卜壬

  • 學分: 3

  • 等第: A+

  • 甜度: 3/5

  • 涼度: 0.00001/5

  • 收穫: 10/5

這應該是我這學期學到最多的一門課,用的課本是 Advanced Programming in the UNIX Environment 3e,但課本比較像是工具書,老師上課內容大部分都是自己整理的筆記,內容大概有

  • OS concept
  • Unbuffered I/O
  • Advance I/O
  • Buffered I/O
  • Files and Directories
  • Process Control & IPC
  • Signal
  • Thread
  • Process Environment

基本上就是系統知識大雜燴,從 OS 基本概念到 Unix 如何去實作 Syncronization,或是一些 Process communication 的方法,老師上課會講很多實際的例子,也很喜歡講一些故事,像是他以前在 Google 扒拉扒拉,PJ 的語速真的很快,我這學期一直在反覆看他的錄影,不然上課根本沒辦法一次就理解,PJ 在上課時會補充很多很細節的觀念,跟他的錄影不太一樣,所以還是建議可以去現場聽一下,再去聽錄影的細節,而且他的現場錄音品質真的超爛,爆麥是常有的事情,PJ 還有一個獨門絕技,就是他會超時並且壓縮下課時間,真的很強,有時候上一上就忘我了。

接下來是考試的部分,這學期期中考滿分 100 期末滿分 120,考試大概就是一直考一些 dead lock 跟 race condition 的各種情況,問你這樣會不會 race condition,那樣會不會 dead lock,然後還有一些 code tracing 的題目,考試難度就是難,我自己覺得很難,而且很考細心,有時候系統的問題你自己想到的一些理由不一定會是問題的源頭,只是你想的不夠仔細而已。另外,有些觀念像是 Unix 系統紀錄檔案各種資訊的方式,像是 inode、file descriptor 這些東西,都要非常熟悉才行,PJ 會一直一直不斷地考。我自己第一次讀的沒有很認真,所以一堆粗心錯,後來期末考前有認真讀一次,才發現自己錯了超多東西,像是 file permission 的部分我就錯了超多次,最後期末考終於有比較好一點的成績。

最後是作業的部分,這學期一共四次 programming、四次 written,每次作業大概都是一週到兩週的時間,作業難度中等偏上,程式題目大部分都是在考你對系統呼叫的理解,像是 fork、exec、pipe 這些東西,written 題目大部分都是在考你對系統概念的理解,像是問你為什麼要有 virtual memory、為什麼要有 paging 之類的,作業量算是中等偏多,programming 的部分四次分別是

  1. I/O Multiplexing: 用 select/poll 實作一個簡單的共編系統,畢竟是第一次作業,難度沒有到太高,但是要注意細節,像是一堆字串輸入的特判,還有一些系統呼叫的錯誤處理都要注意
  2. Process Tree: 實作一個 process tree,考你對 fork/exec/wait 這些系統呼叫的理解,超級爆炸難,我自己本人是寫了三個通宵,才靠著問同學寫出來,這個作業真的很難,建議早點開始寫,不要像我一樣拖到最後才開始寫,如果沒記錯我應該是寫了快 1200 行吧~
  3. Unix Thread: 實作一個簡單的 thread library,考你對 pthread 的理解,這個作業難度明顯比前一個簡單很多,而且也比較好寫,我自己是花一天就寫完了(結果最後出來錯了一個超級小的地方暴扣學期成績六分)
  4. Share memory Synchronization: 這好像是一個新的作業,是用 shared memory 實作 process synchronization,要建立一個完整個 subscriber/publisher 的 communication 機制,難度中等,有很多小小的細節可能會讓你卡很久,像是 shared memory 的建立、刪除這些東西都要注意,不然會爆 memory leak,還有你實作的方法有可能會複雜度太高最後就 TLE。

總之難度大概是

Process Tree >> Share memory Sync > I/O Multiplexing > Unix Thread
plaintext
 關於 助教

SP 的助教雖然有耳聞非常荒謬,但實際上見識到了之後發現,傳聞完全有過之而無不及,SP 的助教真的是出作業的一把好手,尤其是作業一助教,都已經到了交作業前的最後一刻有同學去問一個有關標準的問題,兩個助教的回答居然不一樣?????總之就是一連串的荒謬,大家對 SP 的助教的評價大概就是拉完了。

自動機與形式語言#

  • 授課教授: 林智仁

  • 學分: 3

  • 等第: A

  • 甜度: 5/5

  • 涼度: 4/5

  • 收穫: 5/5

這堂課雖然課名叫做自動機與形式語言,乍聽之下可能完全聽不懂是啥,但老師好像比較喜歡叫他「計算理論」,課程內容大概是一些關於 automata、formal language、Turing machine 這些東西,老師上課是播以前的影片,然後有時候暫停補充一下,總之我是一次也沒去過,也過得還不錯,老師的影片跟投影片都講解的非常清楚,而且老師的語速真的是慢到爆炸,是開兩倍速才到正常語速那種,非常友善的上課方式,就算是全英授課也都聽得懂。

作業的部分基本上就是課本的題目節錄,網路上可能是找得到答案的,明明應該要每次都滿分,但我不知道為啥,作業每次都在拉低我的分數…,完全不知道在尬麻,甚至考試分數都比作業高

考試的話我覺得出的都很活用,本來在網路上找了一堆考古題(全都在課程網上)刷,結果一到了第一次段考,老師的考題完全是真真正正的素養題,在寫考古題的時候我就看到他居然把他自己的研究領域(ML tool)當成考題,我真的嚇到,居然能把這麼遠的兩個領域連在一起,真的很厲害,老師的考題完全不是死背的東西,都是要你真正理解了才能寫出來的題目。

個人覺得這門課非常適合在大一或大二先修。最有感的是我這學期同時修 ADA 講到 P/NP 和 Non-deterministic 時,身邊沒修過這門課的同學聽得一頭霧水,但我因為有這門課的底子,理解起來完全無障礙。這種抽象概念是很多進階課程的基石,晚修真的可惜。

但有點小可惜的是,老師語速可能有點過慢,有兩個 chapter 直接被略過,但我不知道,所以我自己還去把影片都看完了,我以為全部都會考,結果最後考試完全沒有考到那 decidibility 跟 reducibility 的部分,我自己總覺得那好像才是這門課的精華,結果完全沒有考到,真的有點可惜。

 關於 語速

我第一次期中考去要分的時候,老師是開了一個 microsoft teams 的會議,然後一個一個排隊進去要分,老師在裡面是說中文,我覺得他說中文語速真的非常正常,然後後面有講一小段英文也超級正常,完全沒有問題,但就是不知道為啥上課講話那麼慢

Introduction to Computation Theory

Introduction to Computation Theory


自動機與形式語言 林智仁 教授

計算機網路#

  • 授課教授: 逄愛君

  • 學分: 3

  • 等第: A+

  • 甜度: 4/5

  • 涼度: 1/5

  • 收穫: 4/5 (作業收穫 5/5)

非常好的一門課,本來其實是因為我想先修完系上的必修課去做專題,本來想把這門課水過去,所以去簽了另一班甜涼班,但本人籤運實在是史詩級的爛,完全沒簽到,不得已才來簽了這班,一開始助教在各種恐嚇大家,沒修過 SP 就先別來扒拉扒拉,我因為跟另外一個一起組團加簽,所以我們就兩個人留下來了,這門課的課本是 Computer Networking: A Top-Down Approach 7e,老師上課的內容大部分是作者的投影片,老師的講解非常清楚,也會在上課過程中補充一些小東西,內容涵蓋 application layer、transport layer、network layer 剩下部分老師應該放在他的「高等計算機網路」裡面,我覺得上課的方法很適合我,走一個阿姨聊天風。

因為我的導師是施吉昇教授,我們的導生宴是三個教授一起辦的,逄愛君教授是其中一個,當時我就覺得教授看起來很親切,本來以為他上課可能會變一個人,結果根本一模一樣,甚至更愛大聊特聊,從他中研院去立法院備詢的經驗,到年輕人流行用語,再到跨世代寫信習慣差異,總之,老師完全就是隔壁鄰居阿姨,超級愛聊天,然後課也莫名其妙的上的完,而且還能提早半小時下課,真的完全莫名。

再來講講作業,三次作業:

  1. 第一次是手寫作業,內容大概就是讓我們熟悉一下網路的基本工具,像是 ping、traceroute 這些東西,差不多就是一個 NASA HW0 的概念,難度就是簡單簡單,把自己做出來的結果寫成報告,寫原因的題目先去 google 看不懂再丟給 AI 問,最後再把 AI 的回答用自己的話寫出來就好了,這個作業的收穫我覺得是滿分的,因為我真的學到了很多東西,像是 traceroute 的原理、TTL 的概念、ICMP 的機制等等,都是之前完全沒有接觸過的東西。
  2. 第二次作業是程式作業,內容大概就是讓我們實作一個 http server 的 client 跟 server,難度完全超大,雖然是殘缺版的,但是功能還是很多,然後我以為只能用 C 寫,所以 string processing 我寫了超大一坨,最後總計寫了 1000 多行,結果最後發現可以用 C++ 寫,很虧賊
  3. 第三次作業也是程式作業,內容大概就是讓我們實作一個簡單的 TCP congestion control 用的是一種 Go-Back-N + Selective Repeat 的混合版本,難度也是超大,雖然是殘缺版的,但是功能還是很多,但這次我有乖乖用 C++ 寫,應該是寫了 500 多行吧,總之兩次程式作業難度都不低,不過收穫真的是滿滿滿
 關於 助教

這門課的助教我只能說真的夯爆了,作業二因為我不太放心,所以在 deadline 當天早上我約了一次的 TA hour,結果助教一測,完蛋,拿到了 10/100 的好成績,當時我真的嚇死了,因為我做了整整一個禮拜,很哭,但助教人真的超好,他陪我一起 debug 到中午,整整 3 小時,我真的整個暈了,好愛他

考試的部分就是課本習題的複雜版(有些就是課本題改數字),難度不高,我覺得準備起來挺容易的。老師的給分我也不太清楚,總之我覺得還挺甜的吧?

計算機程式設計#

  • 授課教授: 張傑帆

  • 學分: 3

  • 等第: A+

  • 甜度: 5/5

  • 涼度: 5/5

  • 收穫: 0.1/5

甜甜涼涼水水,跟 PF Liu 的計程比起來根本不是一個量級,是一門需要組隊合作出題的課,我給不出其他評價了,真的。


全校性通識#

毒道之處~看不見的危機#

  • 授課教授: 姜至剛、吧啦吧啦吧啦一大批毒理所、國衛院教授

  • 學分: 3

  • 等第: A+

  • 甜度: 5/5

  • 涼度: 5/5

  • 收穫: 3/5 (看你多認真聽課)

總之就是一門演講課,一堆毒理所的教授來講課,認真的聽的話應該是可以學到不少東西,各種毒物跟生活的關係,內容涵蓋超多,評分方法是點名,每堂課用 Zuvio 點名,然後每堂課前都有預習題目跟課後複習的題目,忘記寫的話去前面跟助教說,通常助教都會非常好心的幫你重新開,期末有一個影片作業,內容大概是選一個跟毒物有關的主題,然後做一個 5 分鐘的影片,最後交給老師評分、互評,是個分組作業,老師隨機分組,所以運氣真的很重要,我的組員們都還不錯,所以最後的影片也算順利。期末還有一份報告,內容大概是選一個跟毒物有關的主題,然後寫一篇不限字數的報告,我自己是用各種 ML tool 去預測空污系統,做了各種分析,交叉比對跟 ML 工具適合任務的探討,分數也不知道,但最後是 A+,應該是還不錯的吧。

普通心理學#

  • 授課教授: 周佩雯

  • 學分: 3

  • 等第: A+

  • 甜度: 5/5

  • 涼度: 5/5

  • 收穫: 4/5

非常甜涼又可以學到東西的一門課,夯爆了,老師上課的內容大部分是自己整理的投影片,內容涵蓋心理學的各個領域,從生物心理學到認知心理學再到社會心理學,老師的講解非常清楚,也會在上課過程中補充一些小東西,像是一些實驗的細節或者是一些有趣的案例,讓整個課程非常生動有趣。作業的部分基本上就是老師上到哪就會放一點相關的東西,有時候是一些心理學的測試,有時候是一些小實驗,還有一些寫作題目,作業的難度不高,主要是讓我們對心理學有更深入的了解。

考試的部分就是選擇題,期中期末都是 60 題,如果有任何翻得到的考古題的話內容應該都很像,難度不高,主要是記憶一些基本的概念和實驗,我兩次都是最後一天才讀,然後拿了 57/60、58/60 甜到爆了,老師上課也有一些隨機點名,額外加分用的,總之這門課真的很推薦,既可以學到東西又不會太難,老師人也很好,大推特推。


助教#

微積分12#

  • 授課教授: 蔡國榮
  • 學分: 2, 2

這學期我被同學揪去當微積分助教,我這學期是被數學系辦分到了農學院的班群,因為我之前修普化甲的時候認識一大坨農化系的親愛的同學,所以我開學的時候覺得溝通上應該沒啥問題。

我們班的教授就是我上學期的微積分教授,親愛的國榮(我已加入粉絲團),他人非常好,對助教也非常好,完全不會刁難我們,作業的部分老師完全會自已出,真的完全愛上了(詳見大一上下修課心得)。老師還會關心大家的人身安全,像是之前中山隨機砍人,老師還特地在群組裡面提醒大家注意安全,已暈~~

我這學期的工作是 Grader,主要是改作業跟考卷,作業部分大概是每週一份,有可能是 worksheet 也有可能是 homework,我第一次見識到大家交作業交得越來越晚,非常誇張,晚交就算了,還會寫的一團亂,交白卷還好就給 0 就好,有些人我明明已經提醒很多次了,還是會把答案寫在一些很神秘的地方,像是寫在題目旁邊,或是寫在其他題目上,可是又不得不改,經過這些經歷,我完全可以體諒助教為什麼有時候會改錯了,因為真的太難改了。另外我在期考也是非常死亡,因為期考是這個班群所有考卷同一題一個助教改,我一次期考分到兩題,總共有 600 多人,我真的覺得我身心靈受到重創,不過也算是一次很特別的經驗。

另外一間震驚我的事情就是,因為我以前修微積分的時候都沒有乖乖去 TA 課,所以我完全不知道原來大家會有這麼多問題,有很多問題同學都會寄信來給助教問,有一次小插曲是有個同學跟我約 TA hour 我跟他約在博雅 9:00 整,結果他 10:00 了還沒來,我本來已經要寫信去罵他了,結果他就傳來一封信說他出車禍了,我當下真的嚇死,剛想罵的話完全被堵回去,還好聽說他沒受傷,我才跟他約了隔天。

後來我自己覺得不用出作業的話我就寫了一份常見錯誤整理以表示我有在做事,結果最後好像也沒啥同學在看,很難過,不過我覺得這也是一個很好的經驗,讓我知道原來當助教是這麼辛苦的事情,改作業改到快死掉,還要應付各種奇怪的問題,真的很不簡單。

結語#

總之這學期真的超級忙,從學業到社團到助教,完全沒有喘息的時間,不過也算是充實的一學期,雖然有時候真的覺得自己快要崩潰了,但還是撐過來了,希望下學期可以稍微輕鬆一點,不要一次做那麼多事情,這樣哪件事都做不好,還是要好好規劃一下時間,讓自己有更多的休息時間,不然真的會累死的。

台大資工大二上 修課心得
https://vinsong.csie.org/blog/ntu-csie-sophomore-1
Author VinSong
Published at 2026年2月17日