前言

這學期開始處理數學雙主修的學分,因此有一半的必修是數學系,一半是資工系。 這學期一共修8堂課,其中有6堂是必修,另外2堂是選修(偏微分方程一, 機器學習)。
說實話我自己都覺得有點瘋,在資工系都是追求GPA 4.3的風氣之下這種行爲近乎自殺。我會去選這些課的理由如下:(理由 1)

  1. 我大一的時候有寫一個想要修的課的list,其中就包含:數學系線性代數, 抽象代數, 自動機 (被RZ蠱惑), 機器學習, PDE
  2. 這學期開始的時候受到一些不可抗力:
    1. 機器學習明年會不開,我被飢餓行銷到了,而且大二還不會機器學習感覺很遜
    2. 計網我今年有機會修單班(周承複),如果明年我就會必帶雙班,會比較難
    3. 今年PDE(研究所)是由陳俊全開授,我上學期分導二拿A+,所以我一定要到。而且他上學期幹話講太多了,很難看出他的專業項目
  3. 必帶學分我不想退,也沒有道理(?)要退
  4. 系統程式設計我大一下要選OS的時候就看得差不多了,暑假也看了課本做複習
  5. 我暑假的時候就在看Dummit & Foote (大概到chap 4.4)

修課清單

  • 資工系必修
    • 系統程式設計 System programming
    • 演算法設計與分析 Algorithm Design and Analysis
    • 自動機與形式語言 Automata and Regular language
    • 計算機網路 Computer Networking
  • 數學系必修
    • 線性代數一 Linear Algebra (I)
    • 代數導論一 Introduction to Algebra (I)
  • 資工系選修
    • 機器學習 Machine learning
  • 數學系選修
    • 偏微分方程一 Partial Differiential Equations(I)

小結

說實話我原本沒有打算機器學習跟計網的,但誠如 (理由 1)-2,我權衡之下決定要8堂課一共26學分都修。其實現在仔細想想很多課的真實學分可能都超過26學分
,理論上開學後的一邊上課+課後複習準備考試等等的時間一定會超支,但因爲我實際上不需要花太多時間學習SP, 線代, 代導,所以真正的loading其實只有寫作業
,然後剩下的我就想 “頂着幹,做中學”,期末真的頂不住再退選。剛開始這個策略真的有work,然後剛暑假完精力充沛每一堂課去都沒差,但有幾個致命的問題:(理由 2)

  1. 代數導論教授 (李庭諭教授) 不按正常的代數課的了教學進度 (或者我孤漏寡聞),導致我理想上的loading不會work
  2. 前期SP還沒開始程式作業,程式作業基本上就是這堂課的loading,所以真正壓低的是期考準備的loading
  3. 正常一個禮拜沒辦法平均分攤給所有的課,如果有任何作業是做到超時的話就會延後到後面的所有東西 (Queuing theory 哈)
  4. 很多課都不均攤他的作業,越接近期末才出作業或考試才定下來

所以到第6週之後就跟地獄一樣,每天行事曆都是滿的,然後到第8週就開始瘋狂趕死線,16週連考4週,17週狂趕Final project。

以下課程會以3個指標作爲依據:

  • 甜度
  • 涼度
  • 會不會再修

資工系必修

系統程式設計

  • 授課教授 : 黎士瑋 (真實授課導師 : 鄭卜壬)
  • 學分 : 3
  • 甜度:6/10 (每次都有custom test的情況)
  • 涼度 : 2/10
  • 會不會再修 : 狗都不修
  • 課本 : Advanced Programming in the Unix Environment (APUE), by W. Richard Stevens and Steven A. Rago
  • 評分方式:
    • Programming assignments (4份,每份都有要上傳到github repo的程式+手寫的report): 各 8 %
    • Handwritten assignments (4份): 各 2%
    • 期中考: 30 %
    • 期末考: 30 %
  • 修課心得 :

關於 Thisway 課堂教學的部分我無法給評價,我除了期中跟期末會出席之外沒來過一次。我大一下就是看鄭卜壬 (a.k.a PJ) 的 2021 的網課,我覺得 PJ 很好笑又有趣,他會用很多荒謬的比喻讓你記起來,例如:政府會在你家開個房間然後放你的資料然後把門給鎖了,這種毫無道理的比喻,我挺喜歡的。

而且從第一堂課的 OS Concept 就可以感受到 PJ 對課本內容的獨特理解,他對 OS、計概、Data Structure、計結的理解會綜合到枯燥的課程裡面。基本上自學課本就會覺得這本書就是一個百科大全(man page, API 書),所以很需要對 OS 的理解才有辦法學好。不同於很多人對這堂課的評價是一個背科,PJ 想傳達的就是這是一個理解的科目,需要真實的理解才有辦法在自己寫 code 的情況下自己 identify 哪裡出現了 deadlock 或 race condition。因為我這學期同時修計網並做 socket programming project,更能理解為啥需要這樣理解 SP。

課程規劃

大致涵蓋:

  • OS Concept
  • Buffer and Unbuffer I/O
  • File System
  • Process Concept/Control
  • Signal
  • Threading
  • Process Environment

由於今年兩次颱風 + 一次國慶,所以基本上今年必修都只上了 11 週的課(有點可悲),所以 Compile 的部分就沒有多琢磨與考。根據 NTU COOL 上的內容,Thisway 班的後半才有錄影。

作業與考核

畢竟叫 System Programming,所以重點還是要寫 programming,一般來講 code 會給一些寫好的骨架,會需要把對應的功能實作好(跟往年一樣)。大一太早退計程的話或對 C programming 不太熟的應該會蠻地獄的,基本上都要寫 200 多行 + 助教寫的大概會到 400 行左右。4 次 programming 作業如下,內容參考以下連結:

難度排序:IPC > Socket Programming > Threading > Signal Stimulate Threading。
因為三次放假,所以 Threading 放在第 17 週,內容也較少,但結果是我最後一次大意,沒有閃 memory leak,也被狂扣分。我到寫 CN Socket Programming Phase 2 才發現我寫法會有 thread 殺不乾淨的情況,但那時候已經截止,所以作業沒拿滿。

個人經歷

  • IPC:喜歡 Ina 的助教出的,挺容易因為方式不好導致 TLE。我被 TA Hour 助教講的話搞到,他說他的 code 只寫了 100 多行,我卻把功能寫在一起變得可讀性很差。
  • Socket Programming:初見殺,因為兩邊老師都有限度地教 Socket API,可能對 TCP/IP 不熟的同學會有點困難。寫了 4 個晚上才完成。
  • 建議:提早寫完開始做 QA 比較容易寫出正確的 code。趕 Deadline 時,新管會塞滿人,\tmp2 也會超時,I/O 錯誤頻發,最好修課時找隊友或自己成為大腿。

考試心得

如果拿得到考古就會發現 Thisway 跟 PJ 的考試方向十分不同。PJ 注重觀念的正確,考的多是 race condition、deadlock 的情景題,某種程度上說 PJ 考得比較難。我考的是 Thisway 的卷子,考多選和問答,基本背誦型題目,可以帶一張 A4 雙面大抄(抄考古可能只會中 Everything is a file 那題)。

但我覺得 Thisway 的考卷出的不是很好,英文詞不答其意的選項很多,愛用開放式問答卻限定寫到某種程度(如題目 Grade Criteria)。期中壓軸題甚至用 fcntl 實作 pwrite,依舊有 race condition,應該重新 open 檔案更合適。類似問題讓他們的 credibility 降低。
我只能說:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
這是一個不公平的考試啊
欸笑死人欸
他剛剛扣我我有錯嗎
我一點都沒有錯欸
欸你們助教是怎麼判的啊
欸不是
我一步都沒有錯然後判我錯喔
用advisory lock的贏喔
有沒有邏輯啊不是啊
我用open開一個新檔案 這樣算我輸喔
他扣我 我一步都沒有錯ㄟ
啊這樣算我錯喔
你們助教怎麼判的啦
好啦 我要回家了啦
學分給你啦 乞丐

期末17週公佈的時候聽說還有人去大吵特吵分數,不過最後給分挺甜的聽說84的還有A。

演算法設計與分析

  • 授課老師:呂學一
  • 學分 : 3
  • 甜度:8/10
  • 涼度 : 7/10
  • 會不會再修 : 沒有更好的選擇所以會
  • 課本 : Introduction to Algorithms, by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford Stein
  • 投影片:呂學一不準外流的簡報 (詳細的beef)
  • 評分方式:
    • 第一次定期考: 33.3 %
    • 第二次定期考: 33.3 %
    • 第三次定期考: 33.3 %
  • 修課心得:

課程概述

這堂課是資工系二年級的必修課,是繼「資料結構與演算法」後的第二門演算法課。今年這堂課分為兩個班:單班由黃尚恩教授授課,雙班由呂學一教授授課。
以前這門課通常由非演算法專業的老師來教,但黃尚恩教授是新進教員,本身專攻演算法,所以未來大概率會由這兩位具有演算法專業背景的老師來授課。

授課風格

  • 呂學一

    • 教學幾乎完全遵循他製作的投影片內容,且投影片中包含了許多 AI 生成的圖。
    • 上課風格接近演講,前期教授喜歡遞麥克風與同學互動問答,氣氛輕鬆。
    • 後半學期因 3 次停課影響,進度加快,教授一個人在趕課。
    • 投影片特色
      • 投影片全由教授自製,具有許多個人風格,但也存在不少錯誤。
      • 包含許多自創名詞,如「老大問題」、「左右護法」等,增加趣味性但可能加大自學難度。
      • 上課不錄影,導致學生若僅靠投影片,理解起來可能會有困難。
      • 較偏向通識課程的風格,涵蓋演算法界人物、歷史及前沿研究的簡介。
  • 黃尚恩

    • 更接近數學系授課方式,課程內容注重嚴謹性。
    • 作業包含證明題與程式題,難度較高。

課程與考試

這門課是一門理論課,偏向於演算法證明而非程式設計。

  • 課堂重點

    • 講授演算法的證明。
    • 所有程式題目需以 pseudo code 表達,並附上時間複雜度與正確性的 formal 證明(資工系風格的 formal,並非數學系的嚴謹證明)。
    • 部分程式題接近 Leetcode Medium 難度。
  • 考試挑戰

    • 題量大,需要快速奮筆作答,大多數題目要求寫證明,增加了難度。
    • 時間壓力大,考試時間通常不夠用。
    • 第一份考古題僅一份,且教授規定不準外流
    • 考試內容基於投影片,但因為錯誤較多,學生可能會感到混亂。

助教問題

今年助教管理不善:

  • 學期中教授發現聯絡不到助教,緊急招募新助教負責批改。
  • 停修截止前,僅釋出第一次定期考的成績。
  • 助教批改速度緩慢,且申訴(regrade)難度較大。

個人觀點

  • 課程定位的問題

    • 雖然是一門演算法課,但對於實際求職面試中的解題能力幫助有限。
    • 理論部分又不夠嚴謹完整,整體偏向「學了一個寂寞」。
  • 班級選擇建議

    • 呂班:適合有一定基礎(如高中競程經驗)且不追求特別扎實學習的學生。
    • 黃班:雖然作業難度高,但適合追求扎實學習且對理論感興趣的同學。

計算機網路

  • 授課老師:周承復
  • 學分 : 3
  • 甜度 : 9.8/10
  • 涼度 : 5/10
  • 會不會再修 : 下輩子一定再修
  • 課本 : Computer Networking a top-down approach, 8th edition
  • 投影片:課本作者投影片加一點點自己的改動
  • 評分方式 :
    • 作業(Homework *4, paper reading * 1):20 %
    • Socket programming Project phase 1 & 2: 35 % ((40+65)/100 with bonus 25)
    • Midterm : 20 %
    • Final : 25 %
    • Class participation : 5 %
  • 修課心得 :

課程概述

我個人感覺單班計網是大甜課,周承復教授看起來就像公園很有精神的阿北。上課基本上 follow 課本作者 Jim Kurose 的簡報,因此教學上可能稍顯無聊。教授說話經常重複某些固定句子,所以聽起來會吃力一些。
考量到本學期的課業負擔,我後半學期選擇直接觀看 Jim Kurose 的網課。這位教授不僅有名,還曾在 Wired 教小朋友,非常有趣。

除了課本內容,周教授還補充了 Banyan Networking 和 TCP Throughput Formula。只要有做考古,基本上都能應付考試。但因為課程壓縮到 16 週,Link layer基本上教不到。以下是本學期的進度規劃:


課程進度

週數 內容 作業
1-5 周 Chapter 1 + Paper Reading -
6-7 周 Chapter 2 HW1
第 8 周 Midterm -
9-11 周 Chapter 3 HW2
12-13 周 Chapter 4 HW3
第 14 周 Chapter 5 + Guest Lecture HW4
第 15 周 Guest Lecture -

後半學期進度明顯加快,有些許「飆車」的感覺。Paper Reading 的文章為簡介 Internet 的發展,內容雖然有些概念對初學者陌生,但對課程有很好的貫穿效果,且完成作業基本都能拿到分數。


課程亮點

計網會與CS領域其他相關概念的結合

  • Chapter 1:講解原理時會提到 Queuing Theory,像 Haliday 的普通物理題目。
  • Chapter 2:會引用 SP 的 atomic 概念和 pipelining。
  • Chapter 3:介紹設計 Protocol 時會用 FSM,並以 Sliding Window 實現 Go-Back-N。
  • Chapter 4:Switching Fabric 講解 data bus/memory/crossbar,涉及平行化概念。
  • Chapter 5:介紹 Routing Algorithm,如 Dijkstra 和 Bellman-Ford。

有這些先備知識讓人更能理解網路運作,並連結到系統設計課中的概念。


作業與專案

  • 作業:一共 4 次,內容多取自課本,基本上有寫就有分,批改標準不嚴苛。
  • 專案
    • Phase 1:設計一個 Chat Room,實現登錄登出功能。可以參考《APUE》的進階方法,加入 Congestion Control(算法?),完成後需上傳 Demo 至 YouTube。
    • Phase 2:在期末完成,需實現:
      • Multithreading Server
      • Real-time Chat Room
      • File Transfer
      • Audio/Video Transfer
        專案與系統設計課內容高度重疊,尤其是 Thread Pool。

專案批改只需功能與說明清楚即可,不設自動 Judge 系統,難度適中,基本三天可完成。


期中期末考

  • 考試前會公佈近年考古,並有大量重複題。課本習題較多且分散,需自行取捨是否投入時間。
  • 考古題以外的內容多來自課本,偶爾有有趣的理論題。若準備充分,A+ 並不難拿。

個人感受

  1. 計網是一門讓人驚喜連連的課程,尤其對曾學過系統設計課程的學生非常友好。
  2. 助教非常親切,作業延期也較為彈性,讓學生在課業壓力中稍感輕鬆。
  3. 由於課程甜度高,導致加簽難度極高,今年只抽中三個大二生。

自動機與形式語言

  • 授課老師:林忠瑋
  • 學分 : 3
  • 甜度:7.5/10
  • 涼度 : 9/10
  • 會不會再修 : 不會
  • 課本 : Introduction to the Theory of Computation by Michael Sipser
  • 投影片:自製投影片+錄影(沒有剪輯且全英文)
  • 評分方式:
    • 第一次定期考: 30 %
    • 第二次定期考: 30 %
    • 第三次定期考: 40 %
  • 修課心得:

修課動機與背景

我會修這門課,除了被蠱惑之外,還因為上學期修了林忠緯的 DSDL(非常好的課程),被 Finite State Machine (FSM) 深深吸引,所以選擇了他的班。
林忠緯的教學在資工系被認為是 S-tier,加上 DSDL 有影片剪輯與完全不用到課堂的設計,整體又甜又香。

然而,自動機課程不同於 DSDL,是 會切等第 的課程。這是林忠緯第二次教授這門課,因此不像 DSDL 一樣有很多考古題可以參考。此外,林忠緯的考題經常出現一些讓人抓狂的細節題目(例如:1 不能是一個 set,Alphabet 必須是 finite 等),所以對學生來說不算特別友善。


教學風格

  • 專業背景:林忠緯不是自動機專業,因此在課堂上無法提供太多計算理論的深入概念,也不會考很酷的數學題。
  • 授課語言:全英文授課,雖然教授曾在 Berkeley 擔任過 TA,但他的英語表達略顯不流利。不過,這是第二次教學,能感受到他的進步。
  • 課程重點:課程中教授的考卷設計,前半部分基本是基礎題(但基礎不等於簡單),後兩題則是較難的防破台題。
  • 學生學習方式:大多數修課同學選擇觀看錄好的影片,效率較高,加上這門課停修成本低,適合對時間有限的學生。

課程優缺點

  • 優點

    • 對 FSM 感興趣的學生來說,自動機以數學的方式呈現理論,讓人感到有趣。
    • 本課程可以學到 Turing Machine 的 Undecidability 停機問題,可以用來解釋 哥德爾不完備定理
  • 缺點

    • 教授較少解釋數學物件的意義,可能讓人感到缺乏深入理解。
    • 表面上使用了正式的數學符號,但證明過程並不嚴謹 ,例如你會Construct一個Machine但不會證明正確性。
    • 由於課程壓縮成 16 週,有許多章節未涵蓋,無法提供完整的學習體驗。
    • 第一堂課教授坦言,這門課在校友票選中屬於「最無用的課程」之一,對軟體工程師來說更多是刷 GPA 的工具。

比較與建議

  • 與其他班級比較

    • 如果重新選擇,我可能會選擇 林智仁班,雖然難度略高,但內容更加經典且考古題充裕,考試更為可預測。
  • 個人經歷

    • 前兩次期考,我因 State Minimization 的問題耗時過多,導致最後一刻才完成。
    • 減少 state 時需要避免設計出錯的 Turing MachineFinite State Machine,但教授未給具體的指導(例如告訴你有幾個state),考試中容易陷入對答案的懷疑。
    • 林忠緯班的題目整體而言不算特別難,甚至前幾題偏簡單,但想拿 A+ 的挑戰較高。

資工系選修

機器學習

  • 授課老師:林軒田
  • 學分 : 3
  • 甜度:6.5/10
  • 涼度 : 7/10
  • 會不會再修 : 不修
  • 課本 : Learning from Data: A Short Course by Yaser Abu-Mostafa
  • 投影片:自製投影片+直播錄影(沒有剪輯且全英文,coursara上有中文剪輯版)
  • 評分方式:
  • Homework Score:
    1.5 * best homework[1-7] + 0.5 * worst homework[1-7] + other homework[1-7] + hw0

  • Final Score:
    kaggle score + report score

  • Raw Score:
    ceiling(hw score + final score)

  • Raw score is translated to a [0-100] translated score by the following table:

Threshold Translated
>= 2200 95
>= 2015 87
>= 1940 82
>= 1840 78
>= 1650 75
>= 1575 70
>= 1490 68
>= 1420 65
>= 1320 60
>= 0 50
  • 修課心得:

當初選擇這門課,主要是因為林軒田教授在臉書提到,明年可能不再開設機器學習課程,這讓我決定儘早修習。其實我原本計劃大三再修,等當時的課業負擔減輕些,但因擔心大四修這門課會顯得奇怪,便提前下決心加簽。

選課過程

加簽的過程相當痛苦,直到最後一輪才成功,那個機率實在低得難以置信。不過幸運的是,最終得以參加這堂課(簽到了臺大分配的 400 個名額之一)。分組方面,一開始與學長們組隊,但由於一位學長因課業負擔過重退課,導致小組解散。最後,我與鄭又齊及 WhiteFox 成為組員,他們超級carry在我需要在那週交出3個final project的情況下順利完成。

課程內容

在課程開始前的暑假,我就先修了一些 Coursera 上的《機器學習基石》和《機器學習技法》。剛開始學時覺得內容新鮮有趣,但學期進行到中後段,因為忙於各種作業與死線,很難靜下心來享受學習,甚至無暇閱讀補充資料。我基本上沒有實際參與實體課堂,而是觀看錄影學習,我認爲這樣更有效率。

課程在設計上偏重數學推導,但我認為關鍵性說明不足。例如,對 VC dimension 的介紹,花了很多時間解釋概念,但當需要應用時,卻提到「不一定每個人都需要學這些詳細數學」。這種設計讓我覺得,作為資工系選修課,這門課的技術深度不足,偏introductory。我理解這門課的受眾是來自不同背景的 600 多名學生,因此設計上可能需要取捨,但在數學內容上,或許不需要這麼深,反而應加強模型的應用和實作細節。關鍵的問題是那些數學並沒有獲得妥善的應用,如果只是爲了說明一個道理或哲學其實不需要那樣的數學。

作業與評分標準

作業分為兩部分:

  1. 前半部分多為微積分與機率的綜合題,難度不高,最後幾題是程式題,也不算困難,使用 ChatGPT 即可完成。不過,有些作業需要提早動手,否則臨近死線可能會導致程式執行不完。
  2. Coding report 的評分相比去年更嚴格,尤其在 findings 部分,如果內容被認為不夠深入,會被評為 trivial findings。此外,有些助教會對 minor mistake 非常較真。

課程後期加入了 clarity bonus(額外 2 分),但助教將滿分設為 22 分而非 20 分,導致成績顯示上看起來滿江紅,基本上這樣的方式就是鼓勵內卷。整體評分標準與林軒田教授課程的一貫風格相符:95 分以上才會拿到 A+,所以完成每次的bouns是必要的。

Final Project

Final project需要針對過去的 MLB 比賽數據,訓練一個能預測 2024 賽季的模型。打 Kaggle 時,有隊伍達到了 90% 以上的正確率。我們小組最終report採用了 HistGradient Boost、SVM、Logistic Regression、Ensemble Learning 四種模型,並進行了資料工程。

然而,棒球作為一項隨機性高的運動,機器學習通常難以達到 60% 以上的準確率。有隊伍在資料處理上,利用勝率變化直接推測結果,這雖然有效,但並不符合機器學習的哲學。這種方法暴露了題目設計的漏洞,卻因為某些助教的評分標準被鼓勵,導致我們的期末分數不理想。

總結

這門課沒有考試,但作業中包含大量爲了出題而出題的微積分內容。整體學習過程並未如預期般扎實,或許需要額外投入每週 30 小時以上,才能深入掌握。我希望未來選修這類專案課時,能適當減少其他課程的負擔,為專案投入更多時間。如果從來一次估計是不會再修了

數學系必修

線性代數

  • 授課老師:楊一帆
  • 學分 : 4
  • 甜度 : 7.5/10
  • 涼度 : 9.8/10
  • 會不會再修 : 會
  • 課本 : Linear Algebra, 4th Edition by Stephen H. Friedberg, Arnold J. Insel, Lawrence E. Spence
  • 寫板書
  • 評分方式:
    • Homework(14次取最好的10次,各2 %): 20 %
    • Quiz (2次) : 20 %
    • Midterm : 30 %
    • Final : 30 %
  • 修課心得:

修課背景與動機

由於大一時旁聽了 蔡國榮教授的線性代數導論,在其優質教學下打下了堅實的基礎,加上高一時已完整看完 Gilbert Strang 的線性代數,以及高二、高三選修的兩次課程,我已具備相當的工程線代基礎。因此,這學期修這門課主要是為了補學分。

基於以上原因,這門課對我的 loading 主要集中在作業與期考準備上。此外,這次的課程也幫助我填補了過去忽略的一些細節,特別是在代數相關主題的理解上更為深入,例如:

  1. Quotient Space
  2. 用 Symmetric Group 解釋的 Determinant
  3. Rational Jordan Form

教學內容與課程特色

  • 教材與教學方式

    • 教授使用 Friedberg 的教材,並採用傳統數學系課程的板書教學方式。
    • 整體進度比線性代數導論的進度稍慢,但內容更注重細節與理論推導。
  • 作業安排

    • 作業每週五公佈,隔週三繳交,主要來自 Friedberg 的習題。
    • 難度適中,能補充或推廣一些有用的定理,概念覆蓋全面,沒有太偏的題目。
    • 每次作業都包含 Bonus 題,內容多為較偏代數或高難度的挑戰題,能學到更多延伸知識。
    • 助教批改非常嚴謹,會糾正 LaTeX 語法並附上有趣的評論,但給分寬鬆,對 minor mistake 只扣少量分數。最終成績取最好的 10 次作業。
  • 助教陣容

    • 助教包括 吳尚昱許哲瑋 等數學系大佬,問問題能學到很多。
    • 雖然週五的 TA Hours 我因為早起困難常錯過,但下學期會嘗試多參加與助教討論。

考試分析

  1. 小考
    • 小考題目難度不高,基本來自作業和定理的基礎題目。我甚至覺得線性代數導論的小考更具挑戰性。
考試類型 平均分數 標準差 第一四分位數 中位數 第三四分位數 我的分數
期中考 49.32 28.05 25 46 73 98/100
期末考 80.60 24.41 65 84 100.5 100/120
  1. 期考

    • 期中考題目以基礎理論與應用為主,對於具備扎實基礎的學生相對友善。我感覺題目設計合理且難度適中。
    • 期末考題目相比期中有所簡化,更偏向基礎內容。我體感覺難度適中且未出現過於刁鑽的題目。
  2. 學期成績

    • 學期成績採用比例切分,不以 NTU COOL 顯示的成績直接計算等級,需特別注意。

個人感受

  1. 學習收穫

    • 這次課程幫助我加深了對線代某些細節的理解,特別是在代數相關主題上有了更深入的認識。
    • 每次作業的 Bonus 題設計得非常有趣,讓我學到了許多超出教材範圍的知識。
  2. 助教表現

    • 助教在批改時會附上細緻的評論,對學習有很大幫助。
    • 雖然我因為時間問題沒能充分參與 TA Hours,但下學期希望能多花時間與助教互動。
  3. 課程挑戰

    • 由於基礎紮實,這門課對我來說相對輕鬆,但對需要更多先備知識的同學可能會稍有挑戰。

線性代數這門課程對於已具備基礎的學生來說是一門「甜課」,特別是作業設計合理、期考題目偏向基本題,整體難度適中。同時,通過助教與作業設計也能學到不少延伸知識,對數學愛好者或想打好基礎的學生來說非常值得修習。

代數導論

  • 授課老師 : 李庭諭
  • 學分 : 4
  • 甜度 : 8/10
  • 涼度 : 5/10
  • 會不會再修 : 會
  • 課本 :
    1. Joseph H. Silverman, Abstract algebra
    2. Dummit and Foote, Abstract algebra
  • 寫板書
  • 評分方式 :
    • 真 Final := Final + 同樂會加分
    • MAX( 真 Final, 真 Final * 0.5 + Midterm * 0.5, 真 Final * 0.5 + Midterm * 0.3 + 作業總成績 )

等第下界(八捨九入到整數位)

等第 下界(分)
A+ 119
A 97
A- 83
B+ 76
B 67
B- 60
C+ 55
C 51
C- 47
F -∞

C 卷 Final 總分等第下界

等第 下界(點)
C 20
C- 14
F -∞

  • 修課心得:
    雖然這是一門數學系的必修課,但外系學生的比例相當高,其中不少來自資工系(這學期還揪了科學班)。數學系中較優秀的同學大多選擇榮譽學程的代數,而我考量到這學期的課業負擔以及拿到較高分數的機會,最終選擇了代數導論。

課本與教學內容

  • 課本採用
    本課程使用了一本新的教科書 Silverman。這本書的難度大致符合大學部水準,但也存在以下問題:

    1. 簡陋
      很多重要概念被直接丟進習題中,缺乏詳細講解。例如 Group Isomorphism Theorems 應該要在課堂上熟練證明,但教授並未講解,需讀者自行修習。
    2. 編排跳躍
      Group、Ring 和 Field 被分成三階段講解,但對初學者來說,還沒掌握 Group 的定理就直接進入 Ring,會感到主題轉換過於頻繁。
    3. 炫技式證明
      Sylow Theorem 的後兩部分使用了 Double Coset,缺乏 Motivation,且證明方式不 reusable 或 general。
      課本對 An 是 Simple 的證明耗費了近 5 頁計算,過於繁瑣。
    4. 後期轉換教材
      課程後期逐漸以 Dummit & Foote 為主基調,這本書的例題與應用更為全面,但也要求學生具備更高的自學能力。
  • 教授教學
    教授基本遵循 Silverman 的章節進行教學,前半學期會挑選課本習題並分類,後半學期的習題設計顯得隨意。基礎內容熟練度還未達標時,就開始挑戰進階題目(多為 Dummit & Foote 的題目)。


課堂與助教

  1. 助教課

    • 助教陣容非常豪華,前半學期邀請學生上台講解習題,後半學期由助教直接授課。
    • 每次課程會有 Bonus 題,但很多 Bonus 題需要使用範圍外的定理,對大多數同學而言挑戰較大。
  2. 同樂會

    • 校慶當天舉辦了同樂會,讓同學組隊挑戰題目,但為了實力平均,我和期中考前六名的同學被要求拆分到不同組別。由於整學期忙於課業(如 SP 作業),幾乎沒時間認識新朋友,最終無法參與完全樂會,損失了 10 分加分。

考試與助教表現

  • 考試內容
    考題設計並不算難(有鑑於是導論課),多為基礎性內容。然而,由於教學上的缺失,考試中容易出現「初見殺」的情況。

  • 助教批改
    助教對考卷批改相對寬鬆,例如期中考我預估只有 70/120,但最終得分為 98/120。助教非常幽默,不僅在考卷上緊跟時事,連 NTU COOL 公告也常讓人會心一笑。
    不過,助教對作業批改較為嚴格,並附留言指出學生的問題。


個人學習經歷

開學後,我在這門課上花的時間並不算多,主要精力都放在完成作業。隨著作業量的增加和疲乏感的累積,我從全題完成變成只選六題來寫,明顯未達到課後預期的學習時間。但儘管如此,我的兩次期考成績都不差,這應該歸功於之前紮實的基礎。


整體感受與展望

代數導論的教學安排對於初學者並不友好,但考試設計相對基礎,算是GPA友善。然而,由於課後學習的需求較大,如果沒有足夠的時間投入,可能會導致新進度學習的效果不佳。

這門課是我本學期loading炸裂的主因之一。期末時我曾考慮下學期是否繼續修,但同時段沒有更好的選擇,所以應該還是會繼續修習。下學期希望能花更多時間在代數導論上,以彌補這學期的不足。

數學系選修

偏微分方程一

  • 授課老師:陳俊全
  • 學分 : 3
  • 甜度 : 9/10
  • 涼度 : 7.5/10
  • 會不會再修 : 下輩子一定再修
  • 課本 :
    1. L. Evans, Partial Differential Equations, 1998 AMS.
    2. F. John, Partial Differential Equations, 1982 Springer-Verlag New York Inc.
    3. D. Gilbarg and N. Trudinger, Elliptic Partial Differential Equations of Second Order, 2001 Springer-Verlag.
  • 寫板書
  • 評分方式 :
    • Homework 25 %
    • Midterm 35 %
    • Final 40 %
  • 修課心得 :

教授與教學風格

之前我修過俊全老師的分析導論,非常認同他「寧可進度慢也不願意漏東西」的教學理念。雖然很多學生覺得他的教學進度緩慢,且「俊全式幹話」特別多,但我認為這樣的教學頻率非常適合我這個爆 loading 的學期。如果他以後再開課,時間不衝突的話,我一定還會選修。


教學進度

本學期的課程進度如下:

週數 教學內容
1 Week Introduction to PDE
2 Week Important PDE
3-9 Week Laplace Equations
8 Week Midterm
10-14 Week Heat Equations
15 Week Wave Equations
16 Week Final

課程並未如預期進入 Non-linear PDE,但教授教學紮實,把每一個定理都講到位。


課程特色

  • 課程定位
    作為研究所課程,假設學生具備實分析的基礎。不同於大學部的 ODE/PDE 專注於解方程,本課程更接近分析的範疇,這正是我的興趣所在。

  • 參考教材
    教授主要依據 Evans 進行教學,但會使用自己的理解方式來教授證明。

  • 基礎要求
    雖然不需要非常深入的分析知識,但對以下概念需要熟練掌握:

    • 基本拓樸
    • Uniform Convergence
    • Lebesgue Dominated Convergence Theorem
    • ε-δ 證明方法
  • 上課內容
    教授會用他的理解方式來詮釋定理,不僅僅是直觀證明,還會講解背後的數學邏輯,例如:

    • Heat Equation 的 Maximum Principle 為什麼不是整個 Parabolic Cylinder。
    • A’lambert Equation 為什麼會出現某些特定的term。
    • Green’s Function 的設計原理。

作業與考試

  1. 作業

    • 助教會從三本書中選題,對大學部學生來說偏難,但對研究生則相對簡單。
    • 大約每兩週有一次習題檢討。
    • 作業批改寬鬆,只要有交幾乎都能拿 100 分,助教會在 COOL 的留言區註解證明錯誤。
  2. 考試

    • 考題友善,內容主要來自於上課定理和作業題目。
    • 考試可以自選題目,不需要全答,靈活性高。
    • 助教批改邏輯正確就不扣分,對Minor mistake非常寬容。

個人感受

  1. 學習體驗

    • 我高中時期讀過 Walter Strassen 的 PDE,平時也喜歡讀分析,所以修課相對輕鬆。
    • 上課中提到一些 Functional Analysis 和實分析的概念時,教授會直接說明,對基礎較好的學生非常友好。
  2. 學到的知識

    • 每次上課都能學到很多有趣且酷炫的內容,例如:
      • Heat Equation 的 Mean Value Property。
      • A’lambert Equation 的解釋。
      • Green’s Function 的應用。
  3. 適合的學生

    • 如果是程度中等、先備知識不多的學生,這門課能提供豐富的學習體驗。
    • 如果是研究生,對課程期待是 Research Level 的內容,可能會覺得不夠深入。

這是我本學期最喜歡的課程之一。教授的教學紮實且富有個人特色,每次上課都能感受到他對數學的深入理解。對於分析有興趣的話,這是一門值得修習的課程。

總結與展望