---
# System prepended metadata

title: 資工修課參考
tags: [CSE]

---

---
tags: CSE
---

# 公告
:::info
**徵求修課同學一同編修！！！
有興趣可以直接登入帳號修改。**
:::

# 共編教學
直接根據科系與課程進行編輯即可
語法如下:
```
## 大一
### 離散數學
```110上```  
> 教授: 范俊逸
```

課名請使用: `### h3`
學期請使用: 三個點把學期包住（如上所示）
教授請使用: `> `來標註


# 資工修課參考

這篇心得許多人共同編寫，有我們對於修過的課的心得、評論，不論是必修或選修。  

修課心得依據撰寫者的主觀感受而寫成，例如課程難易、教學好壞，故請僅做參考。  
注意標示的年份以及教授，課程有可能會根據年份不同而有不同教授

現在資工系的課真的太少了，有補上一些外系的選修課供大家參考。  
最後還有一點推甄的資訊。

**請注意，教授有可能注意到這份文件，造成課程大改，如果要分享，請想清楚此風險。**

**另外，除非是你自己寫的，否則請不要把我們的心得拿去歐趴糖或是其他修課參考的地方營利，做這種行為的人家裡請誰都沒用了。**

---

[TOC]

---

## 大一
### 離散數學
```110上```  
> 教授: 范俊逸

定義讀懂+習題做好就會過。  
但若以前沒有太多數學的經驗建議多花點心力準備這科。  
內容依序大致是: 初步介紹relation、字元集、有限狀態自動機、探討relation的性質、偏序集、等價類、生成函數、簡單圖論、體群環。  

教授很有料，建議有問題就問。

```111上```  
> 教授: 范俊逸

定義讀懂+習題做好就會過。  
內容依序大致是: 初步介紹relation、字元集、有限狀態自動機、探討relation的性質、偏序集、等價類、生成函數、體群環。  
今年沒有教簡單圖論。  

教授真的很有料，上課盡量不要分神，後面可能會聽不懂，代價頗高。  

```112上```  
> 教授: 范俊逸

一樣還是定義讀懂+習題做好就會過。  
沒有小考，期中期末基本上都是從教授mark起來的地方出。

內容依序大致如下  

期中範圍: 初步介紹relation、字元集、有限狀態自動機、探討relation的性質、偏序集、等價類  

期末範圍: 一些有限狀態自動機期中前沒教完的內容、生成函數、遞迴關係(解 $a_n=a_{n-1}+a_{n-2}$ 這種的)、體群環。  

期末準備起來會比期中還花時間，不要想用一樣的時間準備完

```112上(英文班)```  
> 教授: 希家史提夫

跟中文班範圍和過的方法差不多，定義熟 + 有做習題都會過  
沒有小考，期中期末不會太難  

英文班想學到東西要靠自己，教授自爆自己多年沒碰過離散，曾在上課本題目時說過  
「這個我不清楚，我回去再確認一下」  
平時上課也給人沒有好好備課或不熟悉課程的感覺  


總之作業記得做，點名記得到（平常成績顧一下）就會過  
老師跟助教給分很鬆，考試時有不會的題目還是可以爭取一下筆墨分。

```114上(中文班)```
> 教授: 徐瑞壕

雖然教授不同，但還是定義讀懂+習題做好就會過。

有兩次小考(滿分135/140)，小考大部分是作業的題目，有時候會小改數值或題目
敘述，所以做作業的時候盡量搞懂題目，不要靠背答案去考試。


期中和期末考(滿分112/142)有大約一半是作業的題目，小考有考過的題目有可能會再
出一次，然後剩下的是證明題，基本上是叫我們證明theorem所提及的特性，特別
是課本沒有證明的部分，要特別留意一下。

最後小考期中期末各占總成績2*20%/25%/30%，且分數超過100以100計算。

### 微積分(一)
```110上```  
> 教授: 程正傑

同樣定義讀懂+習題做好就會過。  
建議不管有沒有學過都要花點心思在這科上。  
順帶一提，教授人很好，如果你想學數值分析的話，可以找他。

```111上```  
> 教授：程正傑

這門課是全英文授課。  
教授的英文非常流利，不會影響到授課品質。  
英文程度不佳的同學也不用太擔心，教授在最後會做中文講解。  
這邊鼓勵試著去聽懂教授的英文，一定會有幫助。  
跟去年一樣：同樣定義讀懂+習題做好就會過。  
教授人很好。

```112上```  
> 教授：程正傑

無點名，但推薦來上課  
全英文授課，教授英文流利，上課品質優良。  
如果英文程度不佳不用怕，在最後十幾分鐘教授會用中文作今天課程的總結。  
跟去年一樣定義讀懂+習題做好就會過。  
小考期中期末都不會出現特別變態的題目。  
作業記得準時交！

### 微積分

```114上```  
> 教授：程正傑

沒點過名，教授英文流利，非常推薦來上課。
前面的2小時到2.5小時是全英文授課，全程沒有艱澀的英文單字，英文
不太好的人不用怕聽不懂，最後15分鐘左右會用中文講過一次當天重要的觀
念，不過不會再特別講解一次題目。
跟前年一樣定義讀懂+習題做好就會過且小考期中期末都不會出現特別變態的題目。
作業加分加蠻多的，記得準時交！

### C程式語言（一）

```110上```  
> 教授: 蔣依吾

「小心光頭。」  
教授上課時會一直點人問問題，如果答不出來可能會被扣分。  
基本上教授會希望你有問題就問，如果不問他就會點更多人來確保大家都懂。  
功課難度十分噁心，就是因為太難，教授才要給你兩個禮拜寫，  
沒有一定程式基礎的人通常都需要上網查解法才寫得出來。  
（舉個例好了，大概是你剛學完$1+1=2$之後，助教給你$\int^\infty_{-\infty}e^{x^2}$這種題目，不是解不出來，但就是有點太延伸了...）  

```111上```  
> 教授：蔣依吾

這門課對沒有程式基礎的人來說絕對是「魔王級別」。  
教授上課內容非常扎實且不失小細節，其實還蠻值得修的，就是會很累。  
建議有程式基礎的同學還是要來上課，對功力還是有幫助的。  
下面列出一些注意事項，供各位參考：  
1. 有問題一定舉手發問，不然你會跟不上
2. 千萬不要私下才找教授問問題，那是他的底線，不要輕易嘗試
3. 功課難度比上課內容難了幾個檔次，務必多花時間練習
4. 期中考及期末考會考一些功課內容，一定要很熟，不然很有可能會被當掉
5. 想拿高分的同學，除了要很熟之外，請提升你的打code速度

```112上```  
> 教授：蔣依吾

如上所述，但變英文授課，老師很多時候沒辦法互動，所以真的要會自己問，可以用中文問，問問題的另一個好處是拖進度(誤。

---

**此課已寄，直接從必修課上面消失**

### C程式設計

```114上```  
> 教授：柯正雯

C程式設計已經沒有一和二之分了，教的是C++。
有期中期末和筆試，分別占了總成績30%/40%/30%。

期中全部都是出勾選的習題，盡量拿到100分，而且要看清楚題目的所有條件，不然會
不小心被扣5~10分。

期末有6成是出勾選的習題，習題部分盡量全拿，剩下的4成很吃運氣，像我們今年就
考了踩地雷和Stack，能寫多少就寫多少，會分段給分。

手寫總共有六題，大部分是當人體compiler，叫我們寫出理想中的輸出，只有少部分
叫我們debug，其實分數蠻好拿的。

最後，讓我來小抱怨一下，六樓電機系電腦教室第一排某一個電腦的滑鼠和系統超
級無敵卡，電腦理不理你全部是看天意，筆者差點因為這樣翻車。

### C程式語言實驗（一）

```110上```  
> 教授: 蔣依吾

每兩週一次考試，難度會越來越高，基本上到後面你根本寫不完。  
期中考考試測資一點寬容都沒有，除非特別標示扣分量，不然一個測資錯了那題全沒（一題約10~30分）。  
要注意助教有可能會教錯誤的東西，比如```fflush(stdin)```，這是一個[undefined behavior](https://stackoverflow.com/questions/2979209/using-fflushstdin)，__千萬不要用這個寫法__ 改用getchar之類的都比較好

```111上```  
> 教授：蔣依吾

這門課為助教授課。  
兩週一次考試，難度會提升。  
期中考有兩次，取兩次成績較佳者作為期中考成績。  
期末考比期中考難度高一些，要注意自己的程式碼有沒有邏輯瑕疵。  
考試的每一題都有三筆測資：全對的話能拿全部分數，錯一筆給部分分數，依此類推，全錯不給分。  

```112上```  
> 教授：蔣依吾

助教授課。  
每兩週一次考試(其實也不太算考試，我記得可以討論)。  
期中考有兩次，期末考一次，都會在正課的下一週考。  
期中考難度都適中，期末偏困難，需要注意打字速度，可能會寫不完。  
請抱好隔壁的大腿。

---

**此課已寄，直接從必修課上面消失**

### C程式設計實驗

```114上```  
> 教授：柯正雯

C程式設計實驗已經沒有一和二之分了，且為助教授課。

教授禁止使用AI，且所有電腦斷網，同時也禁止使用手機，大部分的題目
是早上上課的內容實作，在做題目前，助教會簡單帶過早上提到的觀念，
有些題目會要求你做一些匪夷所思的行為，而且還有一堆限制，
要睜大眼睛看清楚，且所有題目占總成績60%。

然後此課沒有期中考只有期末考，占總成績40%，且考試內容是從上課寫的題目中抽
幾題出，因此就算課中沒寫出來，回家也要弄懂，才不會明年見。

### 微積分(二)

```110下```  
> 教授: 陳坤志

好好聽課的話會覺得很簡單，因為上課的思路很連貫。  
但翹一堂的代價頗高。  

教學內容不是一般別系的微積分(二)，而是fourier analysis。  
除平時考+期中末大考以外還有期末專題，所以 __提早做__ 很重要。

人很好，但是考試、作業分數扣很重。

```111下```  
> 教授: 莊秉樺

教授人很佛，據他自己說他不太會當人（除非真的很誇張也不努力）。其上課方式很像高中補習班模式，他抄板書並講解，不過他寫的內容常常寫錯🤧，教的內容不多，通常也不會準時上課（他說停車位難找），但會提早下課（通常半小時以上），想學多一點要自己額外學。功課方面不會每週派，派的題數也少少的。考試方面會在期中期末考前分別有一次小考，小考內容就他上課講的，弄熟就會高分，期中期末會比小考難一點（但整體還是簡單🤔），且通常會有一題奇怪的加分題。另外，總成績60以上的分數不會調分。

```112下```  
此課已寄  
微積分(二)直接從必修課上面消失  
![image](https://hackmd.io/_uploads/HJnr1jX4Zx.png)

### 資料結構
```110上```  
> 教授: 楊昌彪

講義記得看，上課專心上。  
裡面會教一些資料結構(e.g. queue, stack, AVL, RBT, B-tree...),還有一些演算法(e.g. merge sort, quick sort, huffman encoding, hashing)。都很基礎，所以很重要。  
至少考一次CPE，總共可以考兩次，一定要通過至少一題。(考兩次成績會比較高)  
越前面的題目越簡單，所以盡量不要跳題、系統需要適應一下，題目有可能會有測資錯誤。(系統裡面有個可以打自己輸入測資的地方，且會輸出官解的輸出，可以用來debug)  

如果你大一就會寫C/C++，__非常建議可以先把這堂修掉__。

`111上`  
> 教授：楊昌彪

教授的PPT很重要，上課認真聽，功課記得寫，基本上就會過了。  
教的東西都很基礎，務必要熟習。  
作業都在教授的網站上，建議超進度寫，提早繳交上去給助教demo。  
至少要考一次CPE，這門課及格的一個標準是CPE至少對一題。  
CPE共七題，前三題最簡單，後面依序會越來越難。建議不要跳題。  

`112上`  
> 教授：楊昌彪

考古如果有刷過基本上都能過，想高分就要讀熟講義，會考一些奇奇怪怪名詞，上課講的要記得背起來。
作業有八次，每年應該都一樣，如果能先寫建議一開始就把大部分寫完，因為繳交時助教看的時間不一定，也不會完整把哪裡錯講出來導致浪費時間。
共有兩次機會可以考 CPE 建議不要只考一次，因為那個系統很搞心態，前三題基本上很簡單。

`113上(中文)`  
> 教授：楊昌彪

和上述均相同。  
要好好利用教授課程網站上的內容。  
有的作業可以先寫，後面的作業要越寫越久，最後一個作業需要和助教 DEMO。  
所有考試請熟讀 PPT 的內容，若不清楚 YT 上也有影片可以看。  
期中考古題一樣都在網站上，請好好利用。

`113上(全英)`
> 教授：李淑敏

"Are you with me?"  
聽教授講英文很吃力。
授課講義跟彪哥用同一份，所以如果聽不懂可以去看彪哥的上課影片。

沒問題就沒問題，有問題的話也要當作沒問題，不然他會造成你更多的問題，一律建議自己能處理、能吞下就不要說話。

課程內容好好背考古就可以高分，內容都大同小異，但會跟當年的中文班題目完全不一樣，所以別想去要題目了。  
另外要注意的是"英文班的題目都注重背誦"，例如會考你所有的排序法的Time Complexity、考上課上過的所有程式碼(期中考考了四題手寫程式碼)  

`114上(中文)`  
> 教授：楊昌彪

和上述均相同，網站的考古刷過都能考得不錯。YT也有之前的上課錄影，講得頗清楚。
但教授今年退休了，明年換其他老師。

### 數位電子學
> 教授: 郭可驥

```110下```  
請做好需要自學的準備，因為這堂課，你知道的。  
(除非你想走硬體。但你就去電機就好啦?)  
每次上課都會考試，而且考試內容為上次教的內容跟這次上課教的內容。  
PPT幾乎看不懂。所以自求多福，這是必修喔:D

建議直接讀課本、上網找資料，記得寫題目時要用正常算法、好好寫算式。  

可以祈禱他會因為遠距很麻煩取消期末。

```112下```  
> 教授: 郭可驥

教授教的不是很好，可能會聽不太懂，想學到東西的話建議自己讀課本，但如果只是想應付考試，基本上把考古弄熟就沒問題了，雖然教授上課教的不太好，但可以直接單獨去問教授問題，他會教的比較好。  

```112下（英文班）```  
> 教授: 郭可驥
> #數位考古學

要學到東西推薦自己讀，或是私下問教授跟助教，如果只是要應付考試  
這邊推薦交幾個中文班的朋友，中文班跟英文班出的題目十分甚至有九分的相似  
做好中文班的題目和考古題穩穩過  
（教授會突擊點名自己多注意）

### C程式語言（二）

```110下```  
> 教授: 柯正雯

教授人還不錯，授課內容以C++的class作為核心，但個人覺得她教的不太好。  
期中期末都從課本裡面出，都是一些簡單的輸入輸出。  
雖說是簡單的輸入輸出，但放到class上就會極度麻煩與冗長，考試請訓練自己的速度。  

```112下```  
> 教授: 柯正雯

這堂課教的是C++，分數是期中和期末各半，沒有作業，沒有點名，考試會需要在Ubuntu系統上用指令編譯執行你的程式碼，期末會比期中難（期末平均比期中平均大概低了30分），難的地方在於期末四題全部都要寫Class（期中五題只有一題是Class，而且沒有較複雜的Operator overloading等），寫Class的東西程式碼會寫比較多，比較花時間，而且你會 __很常遇到編譯錯誤__，遇到編譯錯誤你就只能看著那一大堆的錯誤訊息慢慢debug，所以期中考考很高的同學，不要因此就掉以輕心，期末真的要花多一點的時間練習習題，不然很容易會 __不小心翻車__。

```112下（英文班）```  
> 教授: 柯正雯

英文授課好像有蠻多人聽不懂的，但其實還蠻簡單，老師有對英文班大放水，把基礎觀念打好就沒事了。然後記得買乖乖，電腦當掉很常遇到，直接舉手跟助教講就對了。


**113: 此課已寄，直接從必修課上面消失**

### C程式語言實驗（二）

```110下```  
> 教授: 柯正雯

你的邏輯能力會在這堂課受到極大的考驗。  
這堂課大意很簡單，就是把C程早上上課的內容在實驗課上寫題目，  
然而這些題目會再加上五萬個條件，你不能這樣打也不能那樣打，助教把限制條件當作疊buff在疊。  
所以你必須學會各種語法的用法，避免你在寫題目的時候你僅會的語法被限制不能用了。  

```112下```  
> 教授: 柯正雯

這堂課就是給你上午教的內容的題目讓你寫，需要在Ubuntu系統上編譯執行，但你在寫的時候不一定要在Ubuntu上面，反正就是最後給助教看的時候要在Ubuntu系統上跑的動就行了。

**113: 此課已寄，直接從必修課上面消失**

## 大二

### 物件導向程式設計
```111上```  
> 教授: 克拉迪

老師的英文有濃濃的印度腔調(不過根據部分同學及教授的觀察，克拉迪的英文已經算很標準了)，幸好課程內容很簡單，所以應該還算聽的懂，這堂課有期中期末小考各一次，以及一次期末報告。

考試內容我覺得算是簡單，不過給分很迷，我自己都會寫還是被扣了蠻多分數，考卷也不會發回來，只會跟你講考了幾分，另外想跟老師argu分數的話還要跟老師另外約時間。

期末報告會分配主題，要求用物件導向的概念來實作這個主題，這部分給分也不明，你幾乎不會知道你這組的報告到底是好是壞。

整體來說這堂課算涼，基本上全班都會過，但想拿A+的話有難度，因為給分真的很迷。

```112上```  
> 教授: 克拉迪

![upload_746e4bcb3764476db5df4c584c467c8f](https://hackmd.io/_uploads/ry9_djP4-l.png)

沒什麼好說的，我以為在學軟體工程，實際上是在讀一些沒用的虛空知識。

對於想認真拿分數的人，建議要自己配著他的講義來java實作，這部分大概可以讓你多穩拿1分，剩下的99分就是擲筊求分數，認真看也不一定拿高分；
對於想過就好的人，恭喜你，這堂課很涼，涼到不行，你可以把他當作通識涼課。

去年有提到老師的英文有濃濃的印度腔調，但已經算是相對標準，一個多益考不到免修都能聽懂的程度。

如果有修過希家的Python，考試內容幾乎差不多，調性差不多。

對了，剛開學的時候會讓同學選擇一節課有幾分鐘下課（每節 10, 5, 0分鐘下課）會根據大家選的時間決定最後一節提早下課的時間。請選10分鐘，因為他會忘記讓大家提早下課，根本來鬧的。

期末有報告+考試，因為有個人評分且要求所有人都要上台報告，所以請找自己認識的組員，否則可能會出現某些人沒做事，然後跟有做事的人分評分。對了報告只有15分鐘，12分鐘報內容，3分鐘QA，所以一組六個人，每個人只能報2分鐘。建議一組塞四個人就好。

```113上```  
> 教授: 克拉迪  

==考試==會考兩～三題判斷java出來的結果，我自己是用
[https://www.geeksforgeeks.org/java-tricky-output-questions/](https://)
來練習。
通常考試不會加分，除了上課會講到的基本知識比較好拿分之外，上面提到這種題目除了要預測output，還要說明「所有」的原因，少講會扣分。
==小組作業==我個人認為除了要做的不要太爛以外，在台上言之有物，提出你的貢獻，否則也有可能發生你做超多但是分數沒有別人高的慘況。規則跟去年一樣

==助教==可能會搞人，胡亂回答問題 (考試當中)，因此，如果你在考試中真的有問題，最好能夠直接找到老師問。



### 線性代數

```110上```  
> 教授: 陳嘉平

只聽老師講可能會有點聽不太懂，如果沒有疫情的話會有小考，否則就是以作業替代。  

考試不難但時間只有給兩個小時，期末也會考期中之前的範圍，建議搭配線上課程服用。  
另外每一年的範圍都不太一樣，之前有教到SVD，我這一年只有教到么正矩陣。  

最後附上我覺得不錯的線上課程:  
[MIT OCW Gilbert Strang](https://www.youtube.com/watch?v=7UJ4CFRGd-U&list=PL221E2BBF13BECF6C&ab_channel=MITOpenCourseWare)  
[NTHU OCW 趙啟超老師](https://www.youtube.com/watch?v=BSjeK8-WmiU&list=PLS0SUwlYe8cwuYkFhVimN_G8TGzBjjJn5&ab_channel=NTHUOCW)

```111上```  
> 教授: 李宗南

期中考出的很簡單，進度超慢，上課會隨機抽人回答問題(偶爾)。  
注意期中考出的很簡單不代表他會給你分數，我建議證明全抄課本，不要自己寫。(如果課本沒寫證明，讀[聖經](https://o-bible.com/b5/hb5.html)比較有用)

作業全部從課本抓，然後他給的課本超爛，常常有錯誤或是不知所云。

如果你三生不幸修到他的課，請自己讀，永遠教不到對你未來有幫助的地方，線代的精華會被完美跳過，就算有，教的也頗糟。

對了，這門課很重要，資工未來很多內容都必須用到線代的東西，比如機器學習，用到超級多線代，所以如果未來的老師教的太爛，請自己學。

```112上```  
> 教授: 李宗南

上課麥克風有拿跟沒拿一樣，PPT看得懂一半，配課本可以再看懂一點，一個學期應該會點一兩次名，上課有去的他會隨機點你問問題，通常不會太難但要有在上課，一上課可能會問上禮拜上課的重點是什麼，後面會問剛剛那章節的重點或是名詞定義的幾個重點。  
期中期末考前都覺得很簡單但考試分數出來通常會不如預期，很多地方的分數會被扣，小考的時候會考選擇題蠻簡單的，有自己作業應該都會。

```113上(中英合班)```  
> 教授: 希家史提夫

原本的教授退休，本來好像是要換柯拉飛，但他因私人因素回國，所以這學期改由希家史提夫帶課，當他說接下來幾天後會有作業時，可以自動把幾天換成幾個禮拜（他的每堂課都是這樣），教授好像不太會回信(所以如果有忘記派作業的狀況要直接去敲他辦公室，不然就有可能會考前一天當大禮包派送)，有問題的話建議直接當面問他。

```114上(中英合班)```  
> 教授: 柯拉飛

不點名，上課沒有講義只有教授精美的手寫板書，個人是聽不太懂他在說啥，要自己上網找找公開課聽。
作業建議自己寫，考試題型跟作業差不多，有搞懂都能考得不錯。分數太難看也會大調分（聽助教說是希望平均能在六十以上）所以不用太擔心。


### 數位系統

```110上```  
> 教授: 鄺獻榮

資工理論上會碰到最硬體的課程，主要是教一些很基本的數位電路(MUX、Flip-flop)。  

最後也會帶一點計算機組織的概念，老師人很好教得也不錯，考試前都會給前一年的考古，考試的內容跟考古的重疊性也蠻大的

```111上```  
> 教授: 鄺獻榮

老師教的很好，人也很好。期中/末題目也很手下留情，跟考古題差沒多少。


```112上```  
> 教授: 鄺獻榮

老師上課速度算慢，講得很清楚，少上一兩堂也可以很快聽懂。

作業的部分其實就是小考但分數從80開始往上加，只要有去考就有80以上，基本上就是把上課說過的範例拿出來考，一步驟一步驟的做就可以拿到滿分，期中前考兩次取高的，期末也考兩次取高的，可以說是非常的佛。

期中期末的部分可以說是也超佛，基本上70%都是考古，剩下30%也是類似的題型有去上課稍微讀一下就可以拿到很高分，很大部分的人都可以拿到A-以上。

```113上```  
> 教授: 鄺獻榮

老師教的還不錯，今年因颱風假的關係進度比較慢，期中考1、2、3章加上4章前1/3（到Carry-look Ahead Adder），期末考5、6、7章，考試很多題目都跟簡報上範例習題類似或一樣，雖然這堂課評分方式裡面沒有出席分，但今年要到期末人比較少時有來個突襲點名，不確定是加分還是扣分，線上課程的部分這邊推[這個](https://youtube.com/playlist?list=PLInWhIYoGoYfM3sMW0eKOfc5O-3PmmreF&si=KnaDzvFOY241tLNW)。

```113上(全英班)```  
> 教授: 鄺獻榮

老師英文能力基本上不用聽(老師好像不會發S音)，但其他的基本一樣。這邊推個[YT教學(Link)](https://youtube.com/playlist?list=PLBlnK6fEyqRjMH3mWf6kwqiTbT798eAOm&si=EYXh2e1GmQxc67NO)，雖然有202個要看但其實平均一個才10分鐘左右，有些還可以跳掉。

```114上```  
> 教授: 鄺獻榮

老師上的很慢很清楚，慢到有時候會不小心睡著。睡著可以去看113推薦的線上課程。
學期的後半會有加分用的點名，期中期末前會秀去年的考古，題型都差不多，上課有聽、考古有寫就穩了。

### 數位系統實驗
```110上```  
> 教授: 鄺獻榮

用vivado寫verilog，實作上課教過的東西。  

實驗前助教也會給一些範例，所以應該也不難。  
每次實驗都要繳交實驗報告，實驗結果大部份的人都差不多，如果報告想拿高分"可能"要把心得和實驗過程寫完整一點。  

另外比較快完成的人會有報告加分，所以也可以自己帶筆電來做，應該會快很多，但是vivado挺肥的(~~幾十GB~~ 實測是90GB)。

```111上```  
> 教授: 鄺獻榮

完全跟110一樣。  
報告想拿高分要把遇到的問題、解決的方法、心得之類的寫完整。  
但是甚麼樣才叫完整? 我也不知道。  

另外大推自己帶筆電裝vivado，然後實驗課的內容高機率就是考古。(請跟學長/姊要)

```112上```  
> 教授: 鄺獻榮

基本上實驗課的內容跟考古完全一樣，看要直接抄學長姐的還是自己慢慢寫，自己寫的話一開始會不知道到底在幹嘛，很多時候保留字的意義不是很清楚會造成寫的時候有問題，基本上就是多問多寫後面就會比較熟。

實驗課上課一開始教授也會先講解今天的實驗內容，不要遲到就聽得到，講的PPT也會給，上面都有範例(有code)所以有些時候可以直接複製範例再稍作改動。

這堂實驗課是第一次要寫實驗報告的實驗課，週一實驗，週五前要交實驗報告，實驗報告基本上也是不難，只要不要忘記就好，忘記可能可以補交，我補交過一次，就直接寄信給助教。

實驗應該會是15次取13次成績，有狀況不用請假直接曠課就可以了，基本上有做出來+交報告就是80~90分，教授會取大概10個人拿A+，想拿高分就要做得快+報告要寫的清楚(推導過程)。

```113上```  
> 教授: 鄺獻榮

基本上跟之前的一樣，這裡補充幾點
- 報告補交的話會被扣一些分數
- 期中週還是要做實驗+寫報告
- 期末週只要做實驗不用寫報告
- 用Mac的同學不用嘗試裝Vivado了，我免費的方法試了一整個晚上都裝不起來（parallel desktop我不確定可不可以，這要錢我沒試過

關於成績這裡給個參考，今年約 $17\%$ 的人 A+，約 $90\%$ 的人 A 以上

```114上```  
> 教授: 鄺獻榮

基本上實驗課的內容跟考古完全一樣，前幾個完成的好像有加分，但大家分數其實都差不多集中在80~90，全勤總成績會加三分，但加分前最高也才89，所以沒有全勤高機率沒A+，這學期給十個A+。




### 程序式導向程式設計

```111上```  
> 教授: 江明朝

有四次作業，分別是  
1. 用介面實作分離方式，實作doubly link list, 利用doubly link list實作stack & queue。
2. 用不同檔案實作支援各種型態的doubly link list, stack, queue，一樣是介面實作分離。
3. 用marco實作支援各種型態的doubly link list, stack, queue，一樣是介面實作分離。
4. 自己寫malloc，這個就很難，對C沒有很好的了解的話，會很難寫，裡面超多指標操作，多到爆。(當然你也可以偷吃步，開一個超大的char，但是不保證分數多少)  

雖然作業沒很好寫，但至少是固定的，在你修這堂課之前，就可以先寫。  
期中期末也是搞懂考古就可以。  

主要是教C更深入的東西，怎麼理解指標/陣列/函式、指標/陣列的本質等等，但同時也會教你怎麼寫好C，一些coding style之類的，教的偏雜。  

江老的課，可能要聽過很多次、自己做過比較深入的研究才會聽懂他在講什麼，其中的脈絡是甚麼。  
能不能聽出這堂課的細節，是C高手或是C新手的分水嶺。另外很建議自己多多看文件，找到問題去問他，也可以問一些你已經知道答案的問題，因為你知道的答案不一定是完整的、也不一定是正確的。

此課已寄。

### 基礎訊號處理
```110上```  
> 教授: 郭可驥

筆者大一剛進就被推薦修這堂課，沒人脈也沒考古，努力苦讀原文書跟寫作業後發現，__期中考出的題目跟作業一樣__，
最後期末考的成績就起飛拿了A+。

這是涼課。  
習題記得做熟，三次考試都出習題的。(或是考古)  
理論上背習題的答案考試可以100分。  
(建議不會的就問，他教課不行，但是一對一的問答還可以。)

`111上`  
> 教授：郭可驥

很涼。  
你不去上課教授也不會管。  
習題記得做熟，三次考試都出習題的。(或是考古)  
理論上背習題的答案考試可以100分。  
教授講話很小聲，上課基本上不可能聽懂。  
**想要真正學到東西**的同學建議自己讀原文書，  
遇到看不懂的就去問教授。  
(教授是願意花時間跟你討論的，只要你有問題問他，他都願意教你)  
但是還是建議這些同學要刷一下考古題還有習題，在做學問之餘還是要把考試顧好  

`112上`  
> 教授：郭可驥

教授會出作業，跟考古100%一樣，繳交紙本，繳交當天的最後一節課會從繳交的裡面找人上台講解題目，所以如果是用抄的可能要看一下要怎麼講，講一次應該會加學期分數2分。

每一章差不多會有一次小考，模式跟數位電子學差不多基本上就是一張兩大題。這學期的小考沒有考古可以找，上課也聽不懂會很矇逼，建議要讀得去找其他資源。身邊比較多直接讀原文書的。

期中期末就基本上都是考古，背一背帶個計算機就可以了。算是說涼不涼說難也不難的課。

`113上`  
> 教授：郭可驥

比電子考古學還涼，模式也差不多，有作業、小考、期中期末考。  
考試及作業都和考古一模一樣，連打錯的地方都和考古相同。  
上課就...聽聽就好，這學期沒有點過名。  
期中期末大部分題目都會從作業及小考出。  
考試要記得帶計算機。

`114上`  
> 教授：郭可驥

筆者是大一上修的，所以沒辦法用數位電子學來做比較。
作業幾乎和考古一樣，全部只有一題小修數值，而考試會出和考古不一樣的題目，所以
建議寫作業的時候順便搞懂觀念，才不會不小心翻車。
上課的時候我是自己看原文書，這學期一樣沒有點過名。
期中期末大部分題目都會從作業及小考出。
和去年一樣提醒 ---- (要帶計算機) !!!!!!

### 人工智慧導論
```110上```  
> 教授: 蔡崇煒

教授會看Dcard，不要亂講話。  
每堂課都會看出席，是用刷卡機看的。  
如果大學之前有程式基礎的人可以修，基本上都在講一些人工智慧的演算法。  
資工系的期中期末都是要寫程式+報告的，如果你是大一或非資工系會讓你從分享論文跟程式報告中選一個，教授不太愛考試。  
這門似乎有開工學院跨院，課偏涼。  
可能大一或大四才有機會修到，因為大二會卡到資料結構、大三會卡到資訊工程論壇。  

據前人說法，給分甜，老師好。

```111上```  
> 教授: 蔡崇煒

教授會看Dcard，不要亂講話。  
如果你好好去深究課上講的東西，會學到很多，例如:超啟發式、神經網路、NAS等，這些都是很深、很有趣的領域。  
期中期末(分組、可單人)是選擇報告論文或是程式實作，程式實作會比較高分。不過程式實作要想"要做甚麼"是一件有挑戰性的事。  
比如我期中做證明conway's game of life是turing complete、去年期末有人做unity套深度學習、我期末做自己設計的一套人工生命系統，延伸到genetic algorithm。

```112上```  
> 教授: 蔡崇煒

教授會看Dcard，不要亂講話。  
這堂課會教很多人工智慧相關的演算法，從以前的做法到現今的做法都會提。  
期中期末是選擇報告論文或是程式實作，程式實作會比較高分。  
期中程式報告可以選擇做 Conway's Game of Life 或 Boids，需要有辦法用圖形化呈現會比較好  
期末需要實作人工生命，不限主題與方法，可以拿期中報告的主題做延伸。

```113上```  
> 教授: 蔡崇煒

正如課名，這堂課就是在教一些人工智慧的演算法，教授不喜歡同學上課帶耳機，你會直接被點名。

這堂課有期中和期末報告，資工系同學只能是程式報告，期中報告主題有兩個，分別是康威生命遊戲和Boids，不限程式語言，盡量發揮自己的創意，而期末報告則是基於期中報告的內容作延伸（若你本來期中只有做一個族群，期末可以做多個）。  

### 數位影像處理

```111上```  
> 教授: 柯正雯

這堂課的作業量**非常重**，難度高，而且題目**每年都不一樣**  
程式語言是使用Python但不會教，建議需要有強大的自學能力（或是你想訓練自學能力也行），使用套件通常是Pillow、Tkinter、cv2、matplotlib，要求頗多，助教抓得很嚴，很容易分數就被扣光光了。  

大致是教一些像是 Bit Plane、遮罩、傅立葉轉換等等的純理論。點名分數不算進成績，但是會點名（？）有點迷。  

考試倒是十分輕鬆的選擇題，基本上有考古就是十拿九穩了。  

期末教授會讓大家自己做 Project 並展示，方式是互評，形式有點像是科展那樣子。  
如果是大二沒有太多製作 Project 經驗的應該會十分挫折（如編者），不像是人工智慧導論那樣大家都做得很輕鬆簡易，會有很多外系（外系占了絕大部分）比你大 1~2 屆的做得比你好很多很多倍，而你完全對他的程式碼沒有任何頭緒，他們到底是從哪裡學來的？！  

總而言之，對喜歡寫作業>>>考試的，這門課很涼，反之硬到爆。

```112上```  
> 教授: 柯正雯

作業的規定蠻鬆的只有達到要求拿高分蠻容易的，老師上課時常很短通常2:00~3:00就會下課，上課都在講理論，實做的code要自己上網學或是看書，現在有ChatGPT，可以善用，學懂套件用法再去寫題目要求會比較清楚，不然會不知道自己在幹嘛。

期中考之前都是歷屆80%一樣，今年的變化比較多，重點差不多但題目敘述不一樣，可能要多讀一點講義，都是選擇題，分數不難拿。

期末專題慎選組員和主題，不要使用太多的已寫好的現成功能，老師和助教評分會根據內容是自己寫的還是套件功能斟酌分數，把上課的內容展現出來分數會比較高(這只是我看各組最後分數的感覺)。

### 演算法
```110上```  
> 教授: 蔡崇煒

和快樂的資料探勘及人工智慧導論不同，這堂必修就不會讓大家太開心了。

老師會想把幾乎整本教科書教完，可能速度會讓大家跟不太上，如果之前沒學過一些演算法的話，回去要多花點時間弄懂。

會有四次的作業，兩次在期中，兩次在期末，內容的部分 109 學年度是 TSP 而 110 學年度是背包，四次作業就是用四種不同的方法解決同一個問題，前兩次可能是暴力、貪心，後面兩次則是 DP 及一個超啟發式算法 (如模擬退火、基因演算法)。

每次期中期末考前還會有一次小考，可以讓大家稍微知道考試會出哪些題目，老師也會根據小考的狀況調整期中期末考的難度，考試個人覺得不算太難，不過東西很雜 (畢竟是幾乎整本教科書...) ，可能會花點時間準備。  

```111上```  
> 教授: 蔡崇煒

今年老師因為出差所以有少教一點，不過重要的都有講到，期末前有補課，可以感受到要把整本教完的決心，同學們都燃(燒)起來了。  

一樣有四次作業，期中前、期中後，這次的作業是TSP，分別用暴力、greedy、dp、啟發式演算法(ACO/ACS)去做。作業需要demo。(greedy因為不保證正確性，所以不會看答案正不正確)  
(明年高機率換題目，但大概還是用暴力、greedy、dp、啟發式去做)

同樣，期中期末都會有小考，幫你熟悉題目的風格，題目偏雜。  
第一次的小考有各個sort的複雜度、rb tree的insert跟delete操作(考你insert/delete後長怎樣)、heap sort的步驟、radix sort、hash multiplication method、binary search tree走訪、01背包dp、master method。  

期中有master method、heap sort、rb tree的操作、LCS dp、最長回文子序列dp、矩陣鍊乘積dp、複雜度排序(給$n^2,n\log n,\sqrt{n},\log n$讓你從最小排到最大)。  

第二次小考有huffman tree、B tree、topological sort、minimum spanning tree、dijkstra、all pair shortest path。

期末有
1. NP性質(NP的定義、其中一題是2-SAT是否是NPC)
2. 那些題目是P,NPC,或都不是(最大/小環,找正/負環,TSP,minimum maximum degree spanning tree)
3. KMP failure function
4. kruskal 
5. prim 
6. dijkstra
7. systems of difference constraints
8. the floyd-warshall algorithm
9. Min-Cut & Ford–Fulkerson Algorithm
10. maximum flow(用Edmonds-Karp algorithm只做3次)

__沒有考古__，因為考卷不會讓你拿回家。

如果你高中有打過競賽程式，__大二就可以修掉這堂__。

小知識補充，期末作業的啟發式我認為就是ACO/ACS/SA/GA/tabu/hill climbing/2opt之類的東西，所以你都懂的話，期末作業就很簡單囉。

```112上```  
> 教授: 蔡崇煒

今年因為颱風與連假被放掉滿多課所以沒考那麼多，加上這學期因為去年的考古題洩漏，所以考試改滿多的，這裡再補充一些之前沒說到的：  

教授雖然人很好，但其實不太會教，建議上課可以帶著課本或是Google一起跟老師進度，不然只看白板上的PPT你絕對聽不懂。  

上課時請記得老師PPT講了哪些內容，不然你也不知道考試怎麼考。本次考試期中、小考有：  
1. sorting與其時間複雜度
2. 時間複雜度的計算
3. rb-tree 刪除與插入
4. 矩陣乘法 dp (step by step)
5. heap sort
6. master method

這次期末跟期末小考沒太大關係，大家直接拘泥在一些不會考的內容：  

小考：  
1. NP性質
2. prim
3. KMP failure function
4. kruskal 
5. the floyd-warshall algorithm
6. LCS
7. accounting method

期末：  
1. NP性質
2. prim
3. 「所有」字串比對時間複雜度
4. kruskal 
5. LIS (沒教過)
6. amortized analysis 三種方法的解釋
7. Johnson's Algorithm
8. Bellman-Ford Algorithm
9. the floyd-warshall algorithm
10. Dijk 解負路徑（解不出來，你要硬解完然後說這題答案是錯的）
11. B-tree insert, delete

這堂考前很累，如果你要 __大二就修掉這堂__ 的話請注意一下你的loading，因為 __沒有考古__ 。

### 計算機組織
```110下```  
> 教授: 黃英哲

硬課(各種意義上，硬體課、硬課，do u get it :)。每一章都會有小考，考試偏簡單，但那是在好好看課本的前提下。  
考試可以捨棄掉最低分的一次。  

教授要講第幾章就要交第幾章的預習報告，規格與評分標準如下:  
![](https://i.imgur.com/4vDSpiP.png)
乍看之下頗難，實際上你只要好好看課本即可。

教授頗有料，建議多問問題。

教學內容主要從第二章 MIPS assembly language開始，接著是第三章 電腦整數、浮點數結構、第四章 處理器架構、第五章 記憶體架構。  

```111下```  
> 教授: 黃英哲

這學期是全英文上課。
我只能說黃英哲的英文發音不太好，原本就教的沒有很好的情況下加上全英授課時在是非常痛苦。
但是全英低速授課 + 16週的洗禮之下導致他的課程會出現教不完的情況，要注意課程可能會上到第 17 或是 18 週（但同時期末壓力也會減少）。  
教授要講第幾章就要交第幾章的預習報告，跟上學期一樣。  
建議可以使用 HackMD 或是 Word 來做（反正不要手寫）。  
聽說是頁數與分數成正比，筆者每次筆記都會超過 15 頁，次次拿滿分。  
考試模式有點類似資料結構，就是一部分考古+一部分新題目，考試可以捨棄掉最低分的一次。  

```112下```  
> 教授: 黃英哲

此學期同樣是英文上課。  
這學期的指令集架構從MIPS改成RISC-V，但觀念基本上差不多。   
前面幾週黃英哲上課會一直點人回答上禮拜教什麼，並且會在課堂中穿插很多心靈雞湯+屁話，然後又是英文上課所以整個步調會很慢，但到後面他就會發現時間不夠所以就在最重要的章節開始趕課+密集小考，所以課程會到18週。  
預報的部分建議**提前詢問助教預報的評分標準**，這次標準比較不一樣，**手寫且多圖會拿比較高分**，打字頁數多反而只會拿到B。  
考試準備筆者基本都是看**開放式課程、上課簡報、課本與考古**，基本上這樣應該可以拿到不錯成績，考試題型跟考古大概50%雷同，考試(6~7次)同樣可以捨棄掉最低分的一次。  
如果可以的話盡量在大一下loading較少時把他修掉。


```113下```  
> 教授: 黃英哲

> **#大學就是大大的學**  

本學期依舊是全英授課，上到第18週。  
這堂課需撰寫預報，寫接下來教授要上的章節內容，前面一章寫一次預報(第4第5章拆成前半和後半寫)，預報的評分標準一樣建議詢問助教，這學期是預報頁數不要太多(四頁內)，然後用螢光筆標記重點，放點圖，可以拿到比較不錯的分數。  
考試方面，這學期沒有期中期末，全部都是小考，小考的題目與考古類似，但不完全一樣。考試可以棄掉分數最低的一次，如果參加期末額外的一次考試(在第18周)可以再棄第二低的。

### 機率學
```110下```  
> 教授: 陳嘉平

和線性代數的狀況(備註:那時候線代也是陳嘉平教的)差不多，老師不太會教，建議自己去看 MIT 的線上課程，不然應該會直接炸開，相較線性代數，機率我覺得他出的還蠻有難度的，考試一樣只有兩個小時，要好好把握。

```111下```  
> 教授: 陳嘉平

> #資工系A+含金量最高的一門課
> 機率A+的人數很少，是拼推甄必須要小心的魔王課

今年看來是發現用MIT的教程學習成效頗差，所以換成課本的ppt。考試很難，跟課本的題目有正相關，只是他會改題目，所以刷課本題目只有一點點用處。  
但還是建議刷，這是你能抓住的唯二考好的機會，另一個是考古，不過他的題目每年都不一樣，所以...好自為之。

```112下```  
> 教授: 陳嘉平

好好把握前幾次考試，是可以用高中知識考高分的。後面考試可以看出教授非常放水但不會的還是不會，如果想聽教授上課建議坐前面一點。上課不太會點名，期末的時候會有一堂檢討期末考的時間，上台講解思路或是實作出一個模擬都可以加分，如果期末沒考好可以趁這個時候在下次上課前先問懂，上課的時候去加分，回答非選的分數比較高且教授會先讓沒回答過的答，所以想搶分的可以參考。

```113下```  
> 教授: 陳嘉平

今年全英授課，一次小考一次期中一次一次期末，全部都是非選題，考古參考性不高。  
這學期的期中有點慘烈(平均二三十附近)，期末時看的出來教授放了很多水，就我觀察下來，相比課本與ppt，考試題目的相關性與教授上課時講的內容比較有關係，所以還是建議聽一下，或至少把他的板書拍下來。

### Python 程式設計
```110下```  
> 教授: 希家史提夫

全英文用ppt上課，教學說真的，還不錯，不會太無聊，我認為是資工系教學很認真的教授了。
會講到較底層的細節，但只占一小部分。  
作業與考試裡的題幹極長。(作業一註解貌似超過100行)  
期中期末考試極其細節與繁瑣，就是要你當python interpreter，一行一行問你會輸出甚麼，而且會需要判斷error type。  

![](https://i.imgur.com/MFoifl9.png)

但據說考試成績不太重要，作業才是占比最重的。

```111下```  
> 教授: 希家史提夫

考試模式與功課都有變化，考古題能提升的成績有限。  
這學期期中期末會出作業內容，這學期的方式是把他的作業範例code挖空拿來當考試考，要特別注意。  
期末會拿期中的功課、考試出來回鍋，也請特別注意。

期中期末考試極其毒瘤，就是要你當python interpreter (same)

上課特愛點睡覺跟滑手機的人起來回答問題，如果需要偷懶，請開啟你的電腦假裝你在跟他上課。

```112下```  
> 教授: 希家史提夫

全英上課，PPT動畫很猛，會點名。  
整個學期會上完Python所有的內建Functions, Data Types。  
這學期有4次作業，大部分都是程式碼挖空要你補完。  
只有作業3比較複雜，要自己寫出一個程式來翻譯文章。  

期中期末考試一樣極其毒瘤，除了當interpreter，還有手寫程式碼。  
如果有作業派了然後不用交，那麼大概率會出現在下一次的考試裡。  
期末大概會是考整個學期的範圍，期中考過的也要好好複習。

上課會點人起來回答問題，如果不知道他再問甚麼，請保持微笑就好。

```113下```  
> 教授: 希家史提夫

同上，請假記得傳email給助教，他沒在看學校請假系統的。

### 資料探勘
```110下```  
> 教授: 蔡崇煒

基本上就是人工智慧導論的強化版，也是用讀卡機點名，除了重新講過一些 AI 的算法外，也會介紹資料前處理、分類、分群的演算法(如KNN, DBSCAN)，最後也會講這些東西會應用在甚麼地方、可能會碰到甚麼問題。  
這堂課也沒有考試，只有期中和期末報告，一樣不會寫程式的可以選擇論文報告，如果寫程式的話，期中是實作分類器，期末則是分類+分群。  

據說以前報告會讓大家玩神奇寶貝的分類，不過因為 110 學年度開始有和學校的醫學計畫合作，主要是用身體的各種數據預測得哪種病症。

```111下```  
> 教授: 蔡崇煒

確實是人工智慧導論的強化版，一樣用讀卡機點名，但跟人工智慧導論的差別在於著重點不同，資料探勘偏向資料前處理、分類、分群的演算法。  

沒有考試，只有期中期末報告，值得一提的是這次強迫分組，不能一人一組，因為上次人工智慧導論很多一人一組的導致報告時間拖很久。

報告實作會依照難度、種類多寡評分，也就是說，假如你用硬體語言實現SVDD+神經網路分類器+OPTICS/SVM+DBSCAN絕對滿分。

期中是二元分類，從數據去預測個體有無罹患糖尿病，有兩個測資。  
期末是多種分類、且測試集包含訓練集沒有的標籤，必須用分類+分群處理。

[當年的程式+書面報告](https://github.com/OEmiliatanO/CSE_data_mining) 供參

```112下```
> 教授: 蔡崇煒

跟上面一樣，**沒有考試、只有點名含期中期末報告**，所以如果是喜歡座小專案的同學非常適合修課
分組是強迫分組，所以如果有信任的朋友就趕快組隊，不然就要像我一樣自己扛了。

然後建議可以使用自己不熟悉的方式去做，可以在做報告的其中學到非常多
然後教授評分方式大概就是疊BUFF的樣態: 實作越多種、實作越難、實作越精細，分數越高


小叮嚀: **驗證資料集不要放回去訓練!!!(也不要拿來調整參數)**(很重要，修課同學記得注意)

```113下```
> 教授: 蔡崇煒

人工智慧導論的進階版。  
一樣用刷卡點名，這學期有比較多次的突襲點名，要小心。  
期中報告需要實作分類器，會提供兩個資料集，KNN需要手寫，其餘模型可以套套件。  
期末報告需要實作非監督式學習方法，需要透過分類器分類後，利用分群方法將未知的類別作分群，一樣會給兩個資料集，資料集大小會比期中來得大很多。  
和上述一樣要注意，**驗證資料集不要放回去訓練!!!**

不要抄襲!!!不要相信任何組員，可以先把書面交給助教審一遍，避免最後被查出來有問題。

### 高等程式設計與實作
```110下```  
> 教授: 楊昌彪

不算是硬課，但是事情很多。  
用ppt上課，無期中考、有期末手寫與上機考、強迫考兩次CPE、且每一周至少要解一題UVa題目上傳到網大、還要用ppt報告指定題目(會在前兩周指定)。  
據前人的說法，認真上課會學到很多，但是高中就學完的話，會直接變成營養學分。  
老師會根據剩幾分鐘講非課程的東西，歷史、古裝劇、20年前的中山之類的，上課的氣氛不會很死。  
如果你以後有想打比賽，可以修這堂。

```111下```  
> 教授: 楊昌彪

基本上與110年雷同，這裡稍微補充一下未提及的部分

1. 除了兩次CPE之外，會另有一次這堂課自己開的偽CPE，因為通常會與老師上課教的東西有相關，所以會比正常CPE簡單(原本只能寫3題的筆者可以寫到6題)，記得來考。
2. 報告當天一定要來，否則會直接被當掉，上課前一天最好確認一下明天有沒有自己的事。
3. 若有幸遠距教學，助教上課會瘋狂丟問題表單，作答會計入成績，所以休想翹課。然後助教播影片的畫質跟麥都超破，可以的話建議先run過一次當天的ppt或去看教授的頻道。
4. 老師上課開始會跟同學說早，記得回應他

```112下```  
> 教授: 楊昌彪

跟過去兩年差不多，唯一的差別可能是這屆沒有聽到彪哥講古裝劇  
考兩次CPE以及一次偽CPE，偽CPE通常會比較簡單。  
期末考試的部分可以看教授的網站，他自己有放自己的考古題可以給大家刷，除了最後一題都會是沒看過的題目，其餘幾乎都是講義上面會有的題目。  

另外大三來修這堂的話會很舒服，有意要修這堂課的人，也可以先提早開始寫UVA，這堂課會瞬間變得很輕鬆。

==113年下學期備註: 有興趣或是想聽彪哥課的「一定」要這學期修，因為彪哥要退休了，也不知道之後會不會留下來繼續教。==

```113下```  
> 教授: 楊昌彪

和上述均相同。  
一學期至少要解 20 題 UVa 題目。  
要考兩次CPE以及一次模擬CPE。  
每個人一個學期至少都會進行到一次上台解題報告，報告的前兩週會決定人選。  
期末考可以好好利用課程官網的考古。  

==114年下學期備註: 好像是寄了==

### 積體電路電腦輔助設計概論
```110下```  
> 教授: 鄺獻榮

由於這堂課已經好幾年沒出現了，今年鄺佛才讓其轉世重開，所以**考試完全沒有考古**，這點大前提先請大家注意。

課程會先教晶片的製造歷史、晶片製造的過程與製造問題，到後面主要會教電路的排程與空間分配 像：在有限的運算元件下如何使電路最快速? 元件怎麼分配才會讓使用的空間最小? 這類問題的解決辦法。
    
課程另外有四堂為實驗課，與數位系統實驗類似，上課要簽到，回去要寫結報，不同的是實驗不一定會要求要在上課完成，有些可以回去繼續做。前面兩次實驗會需要用到C/C++，後面兩次會用到verilog，內容都是老師上課提過的東西，實驗不是很簡單，但教授/助教會先幫同學先寫好步驟或提供部分的code來減少負擔(鄺佛不愧是鄺佛)，不過儘管如此要完成實驗仍需不少時間，之前數位系統實驗覺得很辛苦的同學還請三思。

期末考都是老師上課提過的東西，格式與數位系統其中末考相似：前面會出一些是非選擇，這類題目就是背多分，沒什麼好說的；後面會出幾題填充，不會太難，但要完全把老師上課講的東西搞懂才行，否則很可能寫不出來。

另外就如前面所說的，除了老師上課給同學預覽的期末考考古範例(偉哉鄺佛)，這堂課無古可考，考試只有一次且在學期成績占比不輕，上課絕對絕對要認真！

總結：整體不會很難修，但也絕對算不上一堂很涼的課，尤其是對以推甄為目標的同學，修此課需要加倍努力，否則最後成績可能不會很滿意。

```112下```  
> 教授: 鄺獻榮

這堂課的內容跟上面講的一樣，基本上沒有改變太多，教授上課講得蠻清楚的，有時候會覺得小慢，但基本上有乖乖上課都會很清楚，我個人是沒有全部的課都有去上，但後面只要看一下或是下一堂課惡補一下通常都可以跟回來。

接著是四次實驗，實驗前面使用C/C++的時候我是覺得可以理解後用自己的思維寫出來會比較簡單，一開始參考教授範本寫起來小卡。後面使用verilog的部分數位系統的會比較多細節出錯的，但VLSI的通常都會有一些範本，要更改的會是哪裡接到哪裡這種一開始在allocation的時候就要排好，在撰寫程式的時間反而比較少。後兩次實驗會要連實驗室的server，使用windows會比較簡單看波形什麼的都比較簡單，用mac好像會比較麻煩要用terminal連也不能使用verdi等等的。實驗的分數只要有交出來都會不錯，蠻平均的。

考試的部分只有一次期末考，上課認真聽簡報稍微看一下，考古翻完基本上就穩了。


## 大三
### 作業系統
```110下```  
> 教授: 江明朝

硬課，但某種程度很涼。作業完全跟以前的一樣，期中、末考題也不太會變。  
教授有個規定，如果你選了這課，你就不能期中退選(除非你有很好的理由)。

主要教的東西就跟恐龍書的差不多，比恐龍書少一點。  
老師會講很快，然後最後幾分鐘開放提問，老師很有料，建議多問問題。

作業一定要想辦法做出來，因為期中期末的分數通常不會很好看。

跟他其他課一樣，作業需要對C有一定的理解。

```111下```  
> 教授: 江明朝

祈禱你或你的同學很喜歡發問。

需要大概 2~3 堂來搞懂他的節奏，這堂課請務必認真，因為你花 100% 認真程度可能只能搞懂他 60% 的上課內容，但如果你只花 99% 的認真程度你大概 1% 都搞不懂。
教授本人很有料，講的內容都很連貫，可惜的是教授預設你會一大堆先備知識，所以你會很痛苦，是個需要一定程度才能上課的一門必修。

教授喜歡同學發問，並言「沒有問題是笨問題」。

麻煩多發問，教授只有在接受問題的時候會停下來，並且慢慢講解直到發問的同學懂，而且這堂課沒有進度壓力，教到哪考到哪，基本上就是課本預計內容一定會被教完，**但如果你不發問他會補充一堆東西，然後那些都會考**，多發問，你的同學會感謝你。

**期中期末考都是從嚴，解釋類型的題目不要畫蛇添足**（筆者這邊因為在解釋時多加了一個「行為」被扣 10 分）

作業一定要想辦法做出來，因為期中期末的分數通常不會很好看，但是考古占了大部分。

另外小心，教授太早上完課不知道幹嘛的時候會再點一次名。

懶人包就是友善版本的蔣依吾。

```112下```  
> 教授: 柯拉飛

改為由柯拉飛上課
不會點名，所以不一定要去 但作業如果有問題建議去現場問 不然你寄信也只會得到模糊不清的答案
作業有分程式作業跟一般作業
- 一般作業: 恐龍書題目 如果有認識學長姐有修過的應該可以拿到答案 期中期末前會公布作業答案
- 程式作業: 極搞人，使用 Minix 系統去寫 最後再詳細說明
期中期末考為作業題目 會改數字 可以帶一張 A4 進去 但通常作業的東西抄完兩面應該都寫滿了
有可能題目會有差異 我們的期末就跟作業題目差異蠻大的 建議不要只抄不看
程式作業分四次
1. Shell 實現 Shell 蠻簡單 用 GPT 可以生成 87% "README" 寫清楚點 會扣分
2. 修改排程機制 需要 code review 能力 ~~對我來說蠻簡單~~ 可能需要時間理解 Minix 架構實現
3. 新增 syscall 和實作 n 個讀者一個寫者的 shared memory syscall 我自己編譯不過 但好像每個人都沒辦法編譯過 所以只用原始的 syscall 實現 shared memory 但我拿到 90 分 hehe
4. 簡單東西 GPT 無腦生 這邊不贅述

```113下```  
> 教授: 林俊宏

今年中文班和全英班分開上課，這堂使用中文上課。  
這堂課的 loading 對我來說偏重，有作業沒小考，一次期中一次期末。  
作業方面有書面報告與程式作業兩種:
- 書面報告: 通常會出一個OS中的一個主題(Process scheduling policy、Paging之類的)，寫在Linux中是怎麼樣的詳細報告，再寫這個主題在xv6(一個作業系統)中又是怎麼樣的? xv6中對應的程式碼又是甚麼。
- 程式作業: 用C寫，前面的作業比較簡單，大多是call一下Linux的某個system call，寫寫註解即可，後面的作業比較複雜可能會需要寫一個資料結構(thread safe BST)，或者是修改xv6這個作業系統，幫他加一些功能(eg.fsck / journaling)，可能會改到 xv6 kernel 的東西，相較前面的作業複雜許多。(註: 程式作業記得做防呆，即使題目沒講)  

考試方面，沒有考古，教授不允許把考卷帶回去或拍照，期中考我自己感覺是33%考定義(eg.contex switch、race condition、concurrency vs parallelism...)、33%考code、33%考情境(eg.某algorithm比較適合哪種情況、這段程式執行後會有幾個process...)。  
期末則是主要考定義及情境，code考比較少。  
考試不能帶大抄，東西都要背起來，題目很可能會超過100分，但最終計算分數會除回去  
(即:滿分214分，你考72分，72/2.14=33.64，那麼你實際上期中考拿到的分數是33.64分)  
(33.64是我們這屆期中考的中位數)  
我們這屆最後是有調分，全部人的成績平移+21.51分。

```113下```  
> 教授: 王友群

他的課就是抄ppt，只是必修內容很多，很容易抄不完，建議好好規劃時間和手指。
### 組合語言
```111上```  
> 教授: 張雲南

號稱超級大禮包，一堂課有期中期末考、期末報告、程式作業、小考，課程的部分講得還算清楚，考試不難，想拿高分的話除了弄懂ppt的內容外建議把程式作業的觀念弄熟。

另外老師會很認真聽你報告的內容，如果做得太隨便的話可能會被電，小考的部分則是前兩個禮拜會出作業，然後直接從作業抽幾題出來考，好好準備的話應該可以拿到不錯的分數。

我們這屆有兩個程式作業，就是教你用組語寫排序、gcd之類的。可能會稍微花一點時間，不過也有一些人可以一個小時內解決。

```112上```  
> 教授: 張雲南

這次不是超級大禮包了，只是作業跟考試有點多的課，3次考試跟3次作業，1期中1期末，沒有專題製作。課程內容講的還行，考得也還行，因為考的內容都會先給學生，所以有讀就還好。

這屆的程式作業是arm-print arguments, arm-instrcution analysis, x86-max,gcd,lcm，前面arm還好，但是x86大家不知道怎麼讀，所以有點炸。

但總體來說，這門課有讀有分數。

```113上```  
> 教授: 張雲南

用心即可A+課，老師上課專心聽可以省去許多自己讀的時間，尤其期末考前部分內容他會跳過，如果有聽到就可以避免全看，上課會問問題，重點也不是答對，只要有到就好不然會扣出席分。

==小考==，期中兩次，期末一次，小考之前都會出作業，小考直接從裡面拿題目，有寫有分。

==程式作業==是用組語(2次ARM1次x86)寫程式，平均大概是一天以內可以解決的難度。

==期中考==不要學了ARM就把MU0給忘了，不要搞混STMFD, LDMIB等等等，把小考題目再做一次。

==期末考==x86的部分講得很快，會讓人一不小心就飛走了，但請記得好好聽，期末考考得比你想像的多 (<40%)。




### 組合語言實驗
```111上```  
> 教授: 張雲南

簡單來說就是寫 Arduino，課程都是請外面的講師來上，我們這屆有期中考，平常上課有認真上課應該都可以做出來，因為可以帶自己事先寫好的 code，稍微修改一下收工了。

期末要做專題，可以跟助教確認你們想做的東西可不可行，助教也會給你一些建議，如果把這些建議都實現的話，通常會有不錯的分數。

```112上```  
> 教授: 張雲南

一學分但是要做的事超多，為什麼，因為arduino跟esp32什麼調性大家都知道，在你用esp32連上網的時候，你要等，等1秒鐘到1世紀都有可能，esp32連線完全看它心情，它不爽你就算code寫對也連不上，它心情好讓一顆西瓜寫code隨便連都上。但是期中會需要用esp32，所以請祈禱你的esp32當天心情很好。不然你就準備換你心情不好。

期中考試內容是平常上課教的東西的混和，且可以帶自己的原始碼跟文件，所以算是挺簡單的。__真正有問題的一直都是硬體__。另外考試是一步一步做，但是真正算分數的只有最後兩題，因為前面的題目只是給你測試元件是否運作正常，如果把最後兩題做出來代表前面的題目全部做過，所以只看最後兩題。考期中時，請直接把目標放在最高分。

期末要做專題，評分方式有創作理念、產品技術/功能與完整性、產品場域應用與實現、報告與產品展示、物聯網相關實現、雲端平台使用。想拿高分就是要做很多事，可是只有1學分而已zzzz。另外期末專題，可以自己買其他arduino配件。

**小技巧:arduino或是esp32可以做為邊緣裝置，傳送資料到server，而server做主要運算就好*

```113上```  
> 教授: 張雲南

CP值真的不高，但老實說很好玩，這堂課如果高中就已經玩過Arduino的人可以提前宣布通過，會用到很多相關的配件。通常可以提前離開。
中間會開始使用esp32，有可能完全連不上網路，這很正常，也不用太走心。
補：這堂課得分狀況非常不一定，期末考的時候你的硬體有可能因為某些問題導致考試整個爛掉，這種情況基本上就是看助教人怎麼樣。總之，這堂課不是有讀就能拿A+，還要加入一些運氣成分。


### 機器學習導論
```111上```  
> 教授: 張雲南

同組語，這老師的課就是超級大禮包，有期中考、競賽參與、期末報告以及作業。

作業的部分不難，花兩個小時左右應該就寫得出來，唯一詬病的地方就是最後一個作業，要我們去實作一個亞洲非洲象的分類器，作業中是用準確度x100來評分的，但是根本沒有在文件中提及，之後可能也會出現類似的狀況，要多多留意。

競賽參與就是找一個網路上的機器學習競賽參加，因為這堂課所學的基本上不足以應對這些公開競賽，所以大家普遍分數都不太好。

期末報告的部分就是找一個課堂外的機器學習的技術來報告，同組語報告，老師會很認真聽，做太爛可能會被電。

期中考不難，都是考一些課程的基本概念以及基礎的計算，且一個禮拜前會告訴你哪些部分會考。

```112上```  
> 教授: 張雲南

同111，這堂課的loading蠻重的，有四次作業、學期考試、期末專題、校外競賽。  
作業部分是可以兩個人一組，基本上花一點時間都可以寫出來，但是要一定要按照作業要求寫，每一個問題都要回答，如果不清楚要怎麼回答的建議可以問問助教，不然作業分數會被扣很多，據說是老師要求扣很重的。
學期考試的話，如果有認真聽他上課的人可以考得很好，我們這次有人100分，但是，不代表他考得很簡單，我們這次有考手寫機器學習演算法的詳細步驟，但有趣的是，教授考前會跟你說他會考什麼，可以聽一下。
期末專題的分組跟作業一樣，教授會跟你說建議要報告的題目，一組大約12分鐘，會需要上網搶報告順序跟報告主題，然後教授會很認真聽你的報告，問的問題也不簡單，請務必要把自己報告的東西用很熟，不然會被教授電。  
校外競賽，會依照競賽規則去分組，教授會提供幾個競賽，但也可以自己找，只要能在期末考前得到競賽成績就可以，期末報告也會要你介紹自己參加的競賽和競賽成果。

```114上```  
> 教授: 邱勝敏

會有很多 classwork ，但是不用緊張，只是用來點名，答案錯也沒差，不過老師講解 classwork 答案時還是建議寫上去，因為期末考會從這部分出，還有簡報上有挖空的地方也可能會出現在期末考，記得帶進你的大抄內，今年大抄老師讓我們可以用印的，明年不確定還會不會這樣。考試分數似乎給的超鬆，我根本不知道我怎麼拿到那個分數的，最終成績全班都 A- 以上，就是一堂又涼又甜的課，想要認真學的話老師也講的挺清楚的，我想不到有什麼理由不修這堂課。

### 資訊人與智慧財產權
```112上```  
> 教授: 黃英哲

分數沒有很難拿，loading不算重。最重的loading是做一本書其中一章節的報告，一組報40分鐘，那本書叫做「世界是平的」，每組3~4人，要挑選自己要報告的章節，這本書是在2005年寫的，所以可以把時事都寫進去做連結。

期中末考試open book，如果背下那些東西大概在哪些地方，加上抄寫快一點可以拿到高分。
對了，學期中會要你聽演講，然後寫心得，這學期他有提供一場。

期末考如果太忙沒辦法讀完一整本書，也可以直接讀同學上台報告的PPT。

```113上```
> 教授: 黃英哲

很多課堂規則都與「計算機組織」相似，需要製作章節預報、上課不能用筆電、買書(課金)有加分......等等。

整個學期共有四次作業，三次是章節預報，一次是自我介紹信。章節預報用手寫的分數會比用影印還來的高一些，但相差不大，時間不多的情況下可以用影印的。還有，建議在**做預報時順便畫重點**，期中開書考會很有幫助！

下方連結有我留存的預報電子檔，Chapter-2 手寫分數 9/10，Chapter-5 打字分數 8.5/10。花費時間前者為後者的兩倍。

演講心得與去年一樣，期中同為開書考，每個小組報告一個章節，但期末變成**閉書考**。

這次期末考分為**記憶題**和**討論題**。
記憶題的題目和**參考答案**如連結所示，全部背下來就對了，期中第3題多背一些實際例子可以讓你比較有記憶點；而討論題的題目會從最後一週組別的報告內容中出，有些問題需要有先輩知識才能回答。
https://glimmer-bass-dee.notion.site/12be7383d51c803bbeb2c9ee2b0e3680?pvs=4

```114上```
> 教授: 黃英哲

這次除了作業、預報、參加演講外，還多了看「世界是平的」電影，並要求手寫一張答案卷的心得:
1. 這部電影談及了那些全球化的議題?
2. 這些議題如何影響了電影中的人物?
3. 你有甚麼感想?

補充 : 期中記得帶預報和課本，個人認為裸考就行
期中考的是有做預報的那本

期末考內容為各組製作之簡報，建議4頁簡報印成1面(省紙)，主題為:
1. 世界是平的
2. 新冠肺炎對於全球化的衝擊
3. 美中對抗、俄烏、以巴/哈戰爭對於世界、台灣的影響
4. 近年科技界大事對於世界的影響：生成式 AI，例如影片、聲音、Chapgpt 等
5. 近年科技界大事對於世界的影響：元宇宙、加密貨幣、量子運算等

### AI輔助程式設計
```112上```
> 教授：希家史提夫

簡而言之，這是一門教你如何用Chatgpt寫程式的課程。
基本上沒什麼修的必要，不過修了可以幫助你理解Chatgpt背後的運作原理，能增進prompt programming的能力，也能對AI名詞、Transformer架構有基本的了解。基本上有最基本的程式底子就能修，就算不修，上網多看相關的影片也可以自學個8、90%，整體算是滿輕鬆的課。

課程內容基本上是老師想教什麼就教什麼😉，畢竟這門課開時離Chatgpt爆紅也沒過很久，所以其實還沒什麼系統：上課有可能是教AI的基本觀念、實驗某條reddit上的貼文內容、用chatgpt實作某個小遊戲或next word predictor之類的，有的時候感覺很像在免費幫教授做實驗(教授好像確實有在做相關的實驗)。有時教授會丟一些yt影片到網路大學，內容大概是跟chatgpt、nn有關的，最好乖乖看完，會突擊小考的。

作業會是要你用chatgpt寫小程式，大多都可以直接在課堂上完成，所以不會有太大的壓力。

考試會分紙本跟上機，共三小時：紙本會考一些AI的名詞解釋、Chatgpt的運作邏輯還有怎麼優化它。還會考他丟在網大上的影片：會給你一張縮圖問那段在講什麼，所以最好是考前再看一次：上機考則是要你用chatgpt寫出他指定的題目，本次期中是做踩地雷，期末做text search game，除了程式碼，也會要你上傳你跟chatgpt的對話紀錄，以確保程式不是都你自己打的。

另外教授期末考會希望你用chatgpt4寫。在此叮囑各位施主，欲修此課，還請先準備600香油錢。

```113上```
> 教授：希家史提夫

前幾堂會用簡報上課，講一些AI名詞的定義、ChatGPT的運作原理還有跟ChatGPT問問題的小技巧，這些上完之後，接下來的課就會開始要你用ChatGPT寫程式，有些是需要評分，有些不用，通常是隔一週評分，評分方式是助教會走下來一個一個要你demo，盡量把你有做的功能都講詳細一點，這次需要評分的依序有
1. [Artillery Game](https://www.youtube.com/watch?v=H3gqZ5iC4yI&ab_channel=Highretrogamelord)
2. [Space Invaders](https://www.youtube.com/watch?v=MU4psw3ccUI&t=8s&ab_channel=GameArchive-NoCommentaryGameplay)
3. 小精靈 Pac-Man
4. 西洋棋
5. Chatbot
6. 進階Chatbot

前面的作業比較簡單，都還算是做得出來，但到了西洋棋難度開始直線飆升

<mark>西洋棋</mark>:
要做一個可以不同電腦連線對戰的西洋棋，而且有規定遊戲要顯示在terminal中，你需要判斷每個棋子移動有沒有符合規定、是否將軍、投降功能等，除此之外其他像是吃過路兵、王車易位、小兵升變等規則也要寫進去，在實現新功能時你還要時時刻刻回去檢查你的舊功能有沒有不小心被ChatGPT弄壞

<mark>Chatbot</mark>:
這三個中最簡單的，用Cohere的API做一個類似於ChatGPT的聊天機器人，除了可以基本的問答外，你還需要讓你的Chatbot有記憶功能、計算數學算式的插件還有可以把問題分解成三個部分思考完再回答的能力

<mark>進階Chatbot</mark>:
最難的一個，需要可以修改自己問的問題還有Chatbot的回答，而且這些修改都需要更新到Chatbot的記憶，還有可以語音輸入、讓電腦念出你們對話的訊息等等的功能，順帶一提，這個作業是在期末考後出的

考試的部分分成紙本和上機，紙本的部分是手寫，不是選擇題不能猜

<mark>期中</mark>:
紙本第一部分考AI名詞定義，簡報裡面有，記得要讀熟，簡報有一個地方的標題是Defining Some More Terms for AI，但除了這部分以外其他地方也會有名詞定義，所以不要只讀這邊，有考到像是Fine Tuning、Sampling等

第二部分則是簡答，基本上也是簡報裡面的內容，其中有一題是叫你列出20個不同的 prompt engineering 技巧，其他題的分數大多是一題3分，而這一題則是60分，列出一個就得3分，值得注意的是考卷沒有寫配分，所以你考試的當下不知道這一題佔比是其他題目的20倍，考卷的滿分好像超過100分的樣子

上機考是考撲克牌遊戲，限定用GPT4o，一開始要顯示五張撲克牌，三個回合，每個回合可以選幾張棄掉得到新的牌，最後輸出牌型像是full house、flush等，喔對了，顯示的撲克牌要真的像卡牌，如果是黑桃J的話你要讓他顯示J♠，然後要有卡牌白色的背景

<mark>期末</mark>:
期末的紙本考試跟期中考重疊很大，我覺得有超過8成，那個列20個不同技巧的題目也在裡面，不過好消息是這次考卷上有配分了，這題一樣佔了60分，期末有考到之前寫的程式作業，準備方法其實就把老師給的作業內容看一遍就好了

這次上機限定用4o mini，要你做Chatbot，需要有一個可以執行python程式碼的插件，還有修改自己問的問題的功能等，這次上機的難度有點高，大家普遍都考不太好

<mark>總而言之</mark>，這堂課考試的部分不會到太難準備，紙本把簡報看熟就行了，他給的影片會考，但影片相較之下不是那麼重要，上機的話不用特別準備，因為你也不知道怎麼準備，教授會確保大家都是用同樣的模型，不用擔心你出發點會輸給課金戰士（但我還是強烈建議要買GPT plus，不然作業你會寫的很痛苦），考試考不好也不要太難過，最終調分好像調滿多的，我身旁的人分數都比預期的高，作業都有寫應該都可以過，認真點也應該都可以拿到A以上，而且這堂課好像跟教授其他堂課一樣，作業比較重要

筆者認為這堂課並非像去年一樣是一堂輕鬆的課，考試準備起來雖然不會很累，但作業如果想要做得好的話需要花不少時間，BTW教授好像有意之後要求大家修這堂課都要買GPT plus
```114上```
> 教授：希家史提夫

老師想教甚麼就教甚麼，課金會比較輕鬆但這學期大家都不課金，老師轉戰antigravity，紙筆考試就是去背定義和方法，影片要看，考試會考。
### 無線網際網路
```111上```  
> 教授: 王友群

這堂課有五個作業、報告以及期中期末考，其中一個作業是調查學校的網路訊號，一個是把報告製作成書面，剩下都是要你讀論文，書面解釋論文內容還有你認為可以改善的地方，給分的部分全班分數都差不多。

報告就是選一個無線網際網路的主題來上台介紹，給分同作業，大家都差不多。

期中期末考就是這堂課最刺激的地方，都是問答題，而且甚麼內容都可能會考，老師允許你帶一張A4大抄，把ppt全抄了就保證可以拿高分，如果不求高分的話，可以只把所有條列的地方抄下來，應該還是可以拿到60~70分。

期中過後有超佛的隨堂小考，老師丟一個問題，要你把答案寫在紙上，因為這是開書考，所以基本上分數都是拿好拿滿。

```112上```  
> 教授: 王友群

這堂課變成大三的課了，但課綱沒什麼改：  
作業、報告、考試的部分都一模一樣，這邊特別再講一下抄大抄的訣竅：  
1. 可以在每次上課的時候抄，要拿高分的話 __每個字都要抄下來__ 一課約需要花費 3~6 hr
2. 圖表可以不用抄，但期中會考1~2題圖表 (約5分)
3. 投機者可以借用去年修過的人的大抄
4. 可以利用尺來讓你的小字不會歪掉
5. 建議可以用蠟筆、螢光筆、不同顏色的筆來把每個段落的一開始以及每個大標題作劃記，以利搜尋，PPT上的紅藍字照抄寫者習慣，可劃可不劃

上課內容算有趣，不過講的滿快的。

```113上```
> 教授: 王友群

和之前沒什麼差，一樣可以帶大抄，一樣是能抄好抄滿就抄好抄滿。原則上一天上一章，期中、期末各考6章(這屆因為很多颱風的關係期中少考一堂，所以壓力變少不小)，其中考試會考畫圖與計算，期末會可一些名詞解釋，==值得一提的是今年助教會檢查大抄上的名字，所以建議之後不要投機拿前人寫的==。有五份作業，其中3份是讀論文並說明內容與其出改進方式，一份是調查學校wifi，一份是期中報告彙整的書面報告。此外在期中以後在課堂上會有加分小考，都考當天講義上的非常簡單，能來都來。

### UNIX系統程式
```111下```  
> 教授: 希家史提夫

當別的學校在教UNIX的系統架構時，我在背指令，還有背不有趣的指令小知識，考試超難，但難的方向不是那種難，是腦筋急轉彎的難。作業就跟python一樣，但是現在是用UNIX指令做。

早上說會有作業，隔了五天才發。考試要印instruction，前一天晚上八點才發公告。

良心建議，UNIX系統架構自己好好補。

另外這堂課大二下就可以修了，電網跟UNIX擇一修，大三下loading就會減輕很多。

*題外話，看樓下的反應就知道，大二修真的比較好，因為你可以在大三時看著其他人燃燒，然後慶幸自己已經被折磨過了。記住，這堂必修。*

```112下```  
> 教授: 希家史提夫

![](https://i.imgur.com/MFoifl9.png)

寫 sega steve 題目所經過的情緒階段:  
1. 否認（denial）：UNIX不可能出這麼機歪吧
2. 憤怒（anger）：媽的出這甚麼XX，有病吧
3. 討價還價（bargaining）：這題我不需要會吧大家都不會啊
4. 沮喪（depression）：我怎麼寫了一整天考古只寫了一年......而且我還不知道我是不是對的
5. 接受（acceptance）：幹笑死其他人也一樣

更白癡的是什麼？他的題目永遠不會講清楚，你覺得是錯的答案可能對他來說是對的，反之亦然。
用同一個邏輯解同一道題目，有時候會對有時候會錯，你只能祈禱剛好你思考的方向是他要的。
還會有要你寫「IMPOSSIBLE」這種解不出答案的答案，你題目不寫清楚我要怎麼知道這題有沒有解？

接下來，考古請適度寫，否則你會越寫越生氣，因為每年答案都不一樣，而且有 3 兆個陷阱題，然後改錯的機率大概 10% ，你看到一題你覺得很怪你可以先猜他改錯了。

良心建議，這堂課的課名可以改成「正規表達式與應用」、「TCSH 概念與正規表達式」、「怪誕問題與解決」，反正絕對不是UNIX就對了。

作業的話更噁心，運氣不好的話你會看到他在作業上面要你用一行把十行的東西寫出來，非常複雜，更噁心的地方是他自己會寫錯，對，**他的作業他自己會寫錯**。他寫錯你得自己改他的程式碼，以讓你的程式碼符合他自己的要求（前提是你看得懂他的英文）。如果有問題，助教會要你自己傳email給老師，但是老師通常**超過一個禮拜才會回你**，所以請直接上課問他，雖然他也不一定會回你就是了。

所幸這堂課聽說考試成績不太重要（會加分），主要都看作業。另外這堂課你有學弟妹的話很好笑，好笑的點是你可以在明年他們修的時候笑他們。


```113下```
> 教授: C+STEVE

今年的UNIX第一個作業在期末考前一天截止，這也是符合史提夫一直以來拖拖怪的風格，他很有可能在第一週說我要出作業，然後接著在你的期末地獄週真的出了一個難度爆表作業給你 (難度大約是10-20小時的理解、code、debug、然後steve發公告改規則之類的)。
第一個作業是要用sed做一個extended的sed指令，Steve給的正確答案上面寫說

![image](https://hackmd.io/_uploads/BywB3jmNWx.png)

換句話說，他隔天早上九點要考這個，但是他給了一個有錯 (lile isues)的答案給你參考，但是你知道嗎?
==根本沒關係==，因為反正你就算真的讀到滾瓜爛熟，你期末考大概還是會炸爛，期末考會考的內容是一點期中，然後一點指令然後預測他的輸出，然後要你用awk, sed, expr, grep -o等等等，拼出一個cat -n等各種指令，你就算寫得出來，你也不知道是對還錯的題目。考完後你會想給他一拳。

第二個作業是用awk再做一遍作業一，然後通常會在17-18週出，然後他也一定會在deadline之前改一些規定等等，或是死不放作業繳交區，你寄信他也不會回，但某天他就會突然發現他沒放到。我真心建議西家史蒂夫去好好學一下cyber university怎麼用，爛死了。

此外，助教也很無用，別想靠助教 (寄信也不會回，問問題也回答不上來)。

期中考他考的是，要你用wildcard, grep, egrep等等指令找到文章中的關鍵字或是pattern等等，如果有考古的話會輕鬆一些。

*加油*

### 電腦網路
```111下```  
> 教授: 賴威光

老師教的不怎麼樣，考試成績很重，讀不懂的建議直接背考古，背的夠多分數不會差到哪裡去，作業很多很難然後很晚才派，跟去年的作業應該會接近但不會完全一樣，無聊的人可以提早準備一下。

```112下```  
> 教授: 賴威光

賴教授因為某些原因，寄了，所以明年換教授。  
有一說一作業真的很難==

```113下```  
> 教授: 楊惠芳

比賴威光的電網好一點，但就這樣，還是很難：
1. 新老師嚴格控管考古，考試內容偏向理解型，而不是之前的有背有分
2. 這學期作業滿詭異的，第一個作業超簡單但給超多時間，後兩個作業deadline超趕而且超難，老師有承認他自己沒有排好時間（但他指的是作業出太少，所以...）
3. 老師教得還不錯
4. 作業規定有點奇葩，不能使用輔助function
--------
我是另一個學生來補充一下，我認為作業給分算很鬆，整體來看只要有符合要求就是100，但是如果少一個測資會直接扣15分，大家記得要仔細看自己的報告有沒有完整，demo的部分通常就是要你解釋一下自己在寫什麼然後看一下測試流程而已，不用緊張。
非常建議上課認真聽講，因為課堂中間時常穿插個人與團隊小考，認真上課可以多拿分，而且在期中期末複習起來也會比較快，老師喜歡考一些觀念理解題，像上面說的不是死背有分類型，但只要花時間讀反而這種方式更好理解，也不難拿高分。

### 編譯器製作
```111下```  
> 教授: 張玉盈

上課教的認真（但我聽不懂），老師會手把手帶你解題
考試大多都考古，有背有分數
yacc作業比lex難很多，不要想用同等時間寫完

```112下```  
> 教授: 張玉盈

很容易不知道到底在幹嘛的課，因為上的東西超無聊，所以大部分人都沒怎麼聽課。  
考試全部都是考古，寫考古+看講義就好了，講義上有時有答案。  
程式實作，每年都會輪替，去年是java，今年是pascal，第一個是寫lex切token，建議寫好一點，不然寫yacc的時候會很痛苦。第二個是寫yacc做文法分析。yacc的難度比lex還要高一點，可以在期中考完後開始做。  
這學期助教標準偏嚴，所以作業要做好一點。  
補：事實上，這堂課的涼度取決於助教好不好，這屆的助教東抓西抓的標準還不一樣是真的有點哭了

剛好有用到的東西: https://hackmd.io/@Zero871015/compiler-4#SLR 、 https://www.cnblogs.com/latifrons/archive/2010/10/22/1857922.html

```113下```

樓上講到一點很正確，這堂課很看助教。今年的助教人很不錯，有問題會給有效的回應，作業demo時不會刻意刁難，基本上會挑較簡單的測資去測試，demo時會問問題，也是問很好回答的問題而已。而且基本上考試也是鬆鬆的改。

考試全部都是考古，期中期末考有50%都是考古找得到的必考題，那另外一些就是輪流出現的題目，如果認真寫考古1-2天，考試就很有機會95以上。

老師在上課的時候容易讓學生完全不知道在講什麼因為他會一直跳講義，我會建議觀察老師上課停在哪個地方比較久 (是真的很久，因為他會找人上去，所以一題很有可能寫1-2小時，那種題通常必考)。

Lex 蠻簡單的，今年是java，大概2天內可以搞定。
Yacc 就完全不同難度，大概需要一週的時間好好寫跟debug，不過助教真的抓比較鬆，所以今年就算有一點小瑕疵還是有可能滿分，不過不建議抱持僥倖心態做作業，因為明年的標準可能又不一樣了。

### 深度視覺

```111下```  
> 教授: 蔣依吾

這堂課的作業量**非常重**，難度中稍偏難 (本人數學不好，讀者您可能不一定會這麼覺得)\
沒有考試。句點。
  
程式語言使用 Python，建議稍微看過機器學習的數學底子再來學，使用套件通常是 Pytorch、cv2、matplotlib。\
作業是 code 挖洞叫你補 + 寫結報，要求小多，但正常來說作業都可以 90 ~ 95。  

大致是教一些像是 back propagation, batch normalization, optimizer, attention...等等的偏數學理論。\
不會刻意一個一個點名，但是會抓人上來回答問題。

期末教授會讓大家做他們實驗室的題目，要上台報告 5 分鐘，\
老師會認真問你問題喔，千萬別不明就理的說出一些自己也不懂的新名詞。會被噹爆。

總而言之，對喜歡寫作業>>>考試的，這門課很涼，反之硬到爆。

### 安全電子商務
```111下```  
> 教授: 徐瑞壕  

期中考一次+期末報告一次，期中考可以印出ppt，不過內容頗多，建議縮小後印出。  
期末報告教授會給很多主題，一組挑一個，有行動支付、密碼學、電腦病毒、數位憑證技術等等。  
課算涼，整題還不錯的課。

```112下```  
> 教授: 徐瑞壕

基本上跟上面講得一樣，講一下上面沒提到的地方，期中考是開書考，不難，PPT上幾乎都找得到，另外是他上課偶爾會用板書補充，這些可能考，建議記下來。  
期末報告的部分，若有問題可以用slido向報告組別提問，最後等大家報告完了需要請你交書面報告(回答大家問題、你的期末報告心得等等)。  

### 無線與行動通訊安全理論與實務
```113下```
> 教授：徐瑞壕

上課不點名，偶爾有回答問題加分  

配分與課程大綱的內容不一樣，期中考試 30%、期末報告 60%、平時成績 10%

閱讀指定論文並分3次報告，第一次為「研究相關背景與基本原理」，第二次為「方法介紹與分析」，最後要「實作介紹與成果展示」。每次報告都要到 Slido 上留言對該組的問題。

期末時要撰寫書面報告，統整三次的報告內容並回答 Slido 上的問題。

總之，隊友和論文題目選錯，真的會忙得跟狗一樣，最後分數還和輕鬆過的同學差不多。

### 區塊鏈導論
```113下```
> 李淑敏

英文授課，每兩章一份作業，每章都有章節小考，有期中期末考，期末有讀paper並將paper裡面功能實現的額外加分報告，這個可以自己選要不要報。

先說優點，個人認為這堂課如果認真上，真的可以學到許多區塊鏈的知識，比如比特幣背後的加密原理、比特幣如何產生一筆交易，並且簡報算是寫得很仔細，就算沒有上課，認真讀簡報，再配合一下google或chatGPT，就能讀懂上課的內容。並且教授有跟外面的單位合作，這個學期是，如果有修這堂課，只要通過教授的英文面試，他就會推薦四個還五個去歐洲上區塊鏈的課程(不過通過教授的面試後，還是要再通過單位的面試)，那時聽說會全額補助，所以對區塊鏈有興趣，並且暑假有時間想要去歐洲上課的人可以修。
> 補充:每一屆情形可能不同，記得多多評估

再來是缺點，他的期中考還有期末考完全就是有背就有分，期中的時候有提示他會考甚麼部分，所以準備起來比較簡單，但期末只有第八章(也就是考試範圍的最後一章)有講他一定會考甚麼，但這只佔了總分的好像是兩成，剩下的部分，基本上要把簡報所有內容都背起來，才有辦法拿高分，有點像是內容少了一點，但是不能帶大抄的無線網際網路，只是他會考一些很沒意義的東西，比如一個區塊鏈加密的功能被一開始設計的人訂為編號多少，所以還是能背多少就盡量背。另外，最後總成績算的方式也很神奇，雖然我沒被搞到，但據我所知，有許多人的成績被他調分到比原始成績還低(==這部分我沒有深入了解，知道的人可以補充一下==)。還有一個部分，就像前人在全英資結說的，教授的英文實在沒很好，所以上課很容易聽不懂他在講甚麼，但這可以像我前面說的，自己讀簡報，或google、chatGPT解決。

最後是作業的部分，一開始教授希望教14章，不過後來只上到第八章，所以總共出了四份作業。作業難度會越來越難，一開始只要把簡報裡的code抄進去執行再截圖就好，差不多兩個小時能解決，到第三第四個作業，除了把簡報的code抄進去外，會要求你實現一些功能，甚至在第四個作業，要你建立一筆交易，並上傳到區塊鏈上，但她上課並沒有教你要怎麼做，所以要自己摸索，而且作業說明中，要你使用的區塊鏈網站還動不了，你要自己去找其他能動的網站，所以第四個作業我本人是花了相當多時間才完成。

所以整體而言，算是個loading小重的課，但是要求都有做到的話，要拿A+還是不難，並且有認真讀的話，還是能學到東西。

### 電腦視覺
```114上```  
> 教授: 楊惠芳

<mark>作業:</mark> 四個作業，強烈建議用 colab 的 GPU 去跑，不然有些訓練的部分會很久，但如果你的 GPU 比 T4 強，那當我沒說。作業的形式就是會給你 ipynb 檔案，然後在程式碼中挖空要你填，指示都還蠻清楚的，就照著指示再搭配 AI 幫忙基本上都寫得出來。

<mark>期末專題:</mark> 會給你幾個方向，但不建議做 review paper 那一類，教授感覺還是希望大家實作一些東西。這部分分數大家都給得很高，稍微花一些時間期末專題拿 95 以上不是問題。

<mark>上課:</mark> 上課節奏超級快，稍微恍神一下你就跟不上了，課堂前面的部分在講傳統影像辨識相關的東西，像是 edge detection、Gaussian Pyramid 等，這些部分講完後會進入到機器學習的範疇，NN、SGD、CNN，然後還會講到 attention、 transformer 等等。這堂課的內容十分扎實，但也正是太扎實了，內容太多，導致期中期末考成績普遍都不好看。

<mark>考試:</mark> 如上面所述，考試範圍超大而且會考一些計算，考試是題組式的，題目之間很可能會有連貫關係，簡報上的一些比較經典的公式像是 softmax、cross entropy 要記、attention 也要會算。

<mark>總結:</mark> 主觀感覺這堂課的 loading 大概跟組語差不多，但期中期末加起來只占 30% ，可以根據需要自行調配要給這堂課的時間，這是一堂扎實學得到東西的課，但要拿高分需要在考試上下點功夫，大概就這樣。

---
幫補充個，老師很忌諱考古，以前有天兵跟老師講考試很簡單因為有考古，然後就爆炸了。所以各位同學，千萬不要耍白癡。然後修這堂課前可以修一點前導課:機器學習、人工智慧導論、資料探勘，你會過得比較開心，建議選超過20學分又沒有基礎的話就先不要挑戰自己了。

## 大四

### 網路系統程式設計
```113上```  
> 教授: 林俊宏

教的東西是unix程式設計應該要教的東西，介紹unix-like系統有哪些system call、怎麼運作的等等系統架構。  
每週一個作業，但是其實很簡單，只要用chatgpt就可以生出來了，作業如果有錯可以demo的時候改，改完正確就100。

有很多上機考，但好像是記入作業成績。然後要自己帶電腦。

明明很久以前有開過這堂課，但感覺教授像是新手，叫我們關網路但是又要寫一個送email的程式。 (上機考佔的分數超少，所以不會寫也還好，作業有寫就可以)  

期末有上機又有手寫，全部是簡答題(考卷上有特別標註簡單回答就好)，考一些常識還有你不會記得的小知識，類似知識王但是是unix版，上機印在手寫題目後面但是要先記下上機題目，再把題目卷交回去，才能開電腦。(同樣是新開的課會出現的狀況)

期末上機考process-sync的stack，用檔案鎖處理就好，真的輕鬆。

期末考試我提早寫完所有題目走出去後，助教才攔住我說：教授說上機題目可以延到晚上9.前交。

:?

總結，這堂課遠遠比網際網路大抄課輕鬆很多，只是有些搞心態的事情可能會出現，不想抄大抄挑戰人類極限的人可以修。

```114上```  
> 教授: 林俊宏

這學期總共有12個一般作業、3個小考延伸作業、5次上機小考和最後的期末考。這堂課雖然沒有看似沒有點名分數，但會突襲點名，請特別留意。
上課內容大約九成的內容都圍繞在 Inter-Process Communication (IPC) 上，小考的內容也幾乎都跟 IPC 有關，強烈建議花點時間弄懂，除此之外用signal改寫handler和mutex、semaphore等process synchronization方式也是這學期小考有出現的。
作業的部分一般作業就是一般的作業，沒什麼特別的，有趣的是小考延伸作業，你在小考完後千萬不能掉以輕心，請特別留意網大，因為很可能會在你剛吃完午餐不久後突然跑出一個延伸作業，然後要你當天晚上八點或下午五點交，如果你下午有其他課的話請務必帶著你的筆電去上課，這些作業中只有一般作業要demo，不過這學期的demo沒有像去年一樣可以給你改到滿分了。
期末考一樣分成筆試和上機，從9:00考到12:30，兩者的時間要自己分配，筆試部分要先繳交才能領上機考卷。所有的上機都可以準備資料，像是程式碼、講義或你自己整理的筆記都可以帶，但也不一定寫得出來就是了。
總結，筆者認為這堂課有點硬，但作業認真寫的話是真的可以學到東西的。

### 資訊安全
```111下```  
> 教授: 范俊逸

期末考一次+期中上台報告一次+期末繳交書面報告。
和離散數學一樣，老師講得不錯，認真聽會有很不錯的收穫，期末考是開書考，但是難度偏高，有幾題書上就找得到的題目，也有一些是書裡面沒有的題目，我們這次平均是 37、最高 65，可見有一定難度。

值得慶幸的是，考試沒考好的話也沒關係，因為上台+書面報告占了 45%，所以報告認真做的話也蠻有機會可以拿到不錯的分數。

```112下```  
> 教授: 范俊逸

期末考一次+期末上台報告一次+期末繳交書面報告。  
老師講的不錯，但ppt上的內容就是有點少，所以要看課本，如果你想要期末考分數好看的話。期末可以帶平板、筆電，但不能連網。記得把所有內容都用電子檔存著，ppt、課本、筆記.對了，要帶筆電，可以用python。

考試其實沒那麼重要，報告才是重點，記得認真做，有實作的話會加分。

### 硬體描述語言
```111上```  
> 教授: 蕭勝夫

簡單來說就是數位系統實驗升級版，老師會教你Verilog/VHDL的各種寫法，也會帶你了解一些IC設計的概念。期中期末把ppt裡面的code弄懂就可以拿到不錯的分數。

這堂課有五個作業一個加分作業，作業難度呈指數性上升，加分作業更是幾乎全班沒人寫得出來，另外給分很乾脆，不過前提是你要寫得出來。

整體來說我覺得loading偏大，真的對硬體有興趣再來修。

```113上```  
> 教授: 蕭勝夫

數位系統實驗升級版無誤，分成上半學期跟下半學期，上半學期老師主要教Verilog，下半學期教VHDL，也是一樣PPT搞懂基本上可以拿高分，老師在考前一週會為大家複習。這次期末考滿簡單的，主要原因是不用手寫VHDL。

即使期中期末沒考好也沒關係，你可以靠加分作業拿一次作業的分數(12%)，很多。

這堂課有五個作業一個加分作業，給分都還不錯，這是不一樣的是第三次作業多了一個APR，我想這東西是最大宗大家討厭硬體的原因。

即使這堂課大家認為loading很大，但這對電機系的同學來說可能只是一塊蛋糕（說不定他們還會跑來刷分）。如果對硬體有興趣的同學可以來修，未來碩班想走硬體的可以再多修隔壁電機系的實用數位系統。

### 超大型積體電路設計概論
```112下```  
> 教授: 蕭勝夫

課程： 三次作業 + 一次加分作業、期中考、期末考

授課內容比數位系統學得還要低階一點，會上到CMOS製程、邏輯電路、電晶體、Delay、Power等等，教授上課的速度滿快的，恍神就會咻到不知道哪頁ppt，但如果真的哪裡不懂，可以下課去問教授，他會耐心+清楚回答。

期中跟期末會考考古，上課的ppt內容頗多，沒基礎的話，自己讀可能會有點吃緊。

三次作業都會需要操作virtuoso，其中內容分別是：  
1. 用NMOS、PMOS拉出INV、NAND、NOR並且測量delay跟power
2. 畫出作業一的三個基礎電路之layout，並做DRC、LVS、PEX驗證
3. 用作業二的基礎電路當成Cell Library組合較複雜的電路，如果作業二有好好做的話會以較好寫
5. 做Pre-Layout(組合電晶體的結構)跟Post-Layout(畫出整個Layout)Full Adder

作業給分給很鬆，但如果沒用過virtuoso，剛開始應該要花滿多時間研究，而且網路不好的地方它會當得跟狗屎一樣根本跑不動，不過後面知道怎麼用它應該就還行。

整體來說，是一堂有用心應該就會高分的課，這學期配分是作業三次各20%，期中期末考各20%，所以作業拿滿分就及格了，考試有考古的話應該也不難拿好分數。

註：有認識這堂課的助教的話，請想辦法多跟他請教，會讓你修的比較舒服 aka找郭昱
註：對硬體有興趣可以來修，可以學到很多東西，老師人很好也很有料

```113下```

課程： 三次作業(共60%) + 一次加分作業 (20%)、期中考 (20%)、期末考 (20%)

這堂課最高可以拿到120分。
老師上課很用心也很快，如果認真上可以減少許多複習時間，不過考試重點在於要**好好讀他考前會給的一份講義**，老師是考理解與背誦混合的題目，==期中考==考stick diagram跟一些電路的畫法，還有一些算power跟delay的東西，或是TG等等的電路畫法，要學生去計算總共的transistor數量，從分數上看來期中考比較簡單 (但也有可能是因為大三今年期末很地獄，沒人去讀這科期末)。==期末考==則是考skew、考不同製程之間的Power跟frequency比較 (會用到 R = V/I, C 正比於 W*L, f = 1/RC 等等公式)，也有考什麼叫做robust的結構，然後要我們畫出來各種電路圖，我個人認為期末考的給分比較嚴，建議大家期中要好好考。

==作業==

四次作業都會需要操作virtuoso，其中內容分別是：  
1. 用NMOS、PMOS拉出INV、NAND、NOR並且測量delay跟power
2. 畫出作業一的三個基礎電路之layout，並做DRC、LVS、PEX驗證，此作業請提前做，因為我非常建議修課同學**完全**按照簡報上的所有指示，做好每一塊cell，不然作業三一定會有問題，因為你們做的cell是你們作業三的元件。
3. 用作業二的基礎電路當成Cell Library組合較複雜的電路 (再提一次，如果作業二有好好做，這個作業就是送分，如果沒有好好做，將會很無助)
5. 做Pre-Layout(組合電晶體的結構)跟Post-Layout(畫出整個Layout) simulation，針對 28 transistors CMOS Full Adder
然後要畫出這個東西的layout，過程中還會有很多限制。但是也沒有那麼難，大概3-4天認真思考之後是做得出來的。

這堂課的助教蠻有原則的，他們給的簡報通常也都很完整 (除了作業四，因為作業四很大程度要學生練習自己設計跟思考，難度跟前三個作業不同)，所以助教通常也不會有任何通融的機會，甚至有很多問題問助教，助教也不會回答，因為那些問題就是設計給學生去思考的。

總體來說這堂課要拿A+是需要認真的，但是只要願意認真做就會有好成績。除了成績之外，這堂課真的可以讓學生理解晶片的製程會有什麼流程，是很紮實有用的課程。



### 網際網路資料庫
```113上```
> 教授：張玉盈

老師上課算有趣，有節日都會發糖果點心給學生，但有自己的脾氣，上課講話、睡覺會被兇。
* 雖然沒有明確的點名規則，但老師會記人，而且只要心情好就會和學生個別拍照，如果被cue到沒來還是會被記缺席。
* 期中後有一個lab：自行建立資料庫並編寫一個網頁與其做互動。為期一個月，題目有放在他的課程網站上，學生要從中自己挑一個實現，另外可能要畫他的ER model。
* 開學沒多久後就會要學生上台報告，通常一禮拜有5人，全部報完通常一個多小時。講sql、oracle的使用方式或原理等，學生要自己回家摸索準備。但在老師的網站上也有學長姊做的簡報，可以做參考。雖然老師不介意學生抄學長姐的內容，但報告老師會很認真聽，如果學生沒有自己時做過的話有可能會被抓包。
* 期中會有一堂sql語法的上機小考，到實驗室找助教考，大概花15分鐘，題目全部都在老師課程網站上面(不會出沒出現過的)，事先準備就不可能考低分。
* 期末考有是非、畫圖、sql語法的手寫，主要考講義上寫的資料庫觀念、儲存方式等。

會讓你從很底層搞懂資料庫的運作方式，並且也要學生熟悉資料庫的操作語法，不過坦白說我覺得老師教的東西相比要學生會的東西少很多(如lab、報告)，大部分還是要靠自己學。

## 碩班課

### 高等物件導向
```110上```  
> 教授: 江明朝

硬課，但某種程度很涼。

雖說是OOP，但是其實在教你什麼叫 __真正的c/c++__。建議有較深厚的c/c++ 底子再修，至少你要會一點template、modern c++的知識。  

涼的點在於期中考題、期末考題跟作業都跟以往差不多。  
作業占比較大，要好好做。  

此課已寄。

### 群體智慧
```112下```  
> 教授: 蔡崇煒

教各式各樣的超啟發式演算法。期中末有報告，跟資料探勘一樣有分書面跟ppt。期中是要你用一個超啟發式演算法對目標函數做優化，期末是要你用期中的改良，然後對目標函數做優化。

分數是做多少給多少，然後會看一下你的優化表現，但只要你有做就不用太擔心分數。

就降。

### 資料庫系統
```112下```  
> 教授: 張玉盈

課程：
小考 (SQL抓資料)、期中專題 (預約網站)、論文報告、期末考 (百年考古)

授課內容主要是SQL，但因為期中專題會需要製作一個完整的網站，所以還需要一些HTML,php,css知識。

教授講課基本上不用聽（也聽不太懂），整堂課全靠自學，好在內容很簡單而且助教會提供很完整的php,前端架設教學,網站樣本，所以是可以學到很多東西的。

總的來說是堂 __涼課__，有能力弄出一個網站應該是穩穩，做網站也不會說很難，只是要花時間跟心思去雕刻。

### 算術處理器設計與實作
```113上```  
> 教授: 蕭勝夫

主要在教浮點數的加減乘除以及其加速、省電方式的硬體設計，譬如 IEEE 754 single precision format，老師預設你會verilog，但其實不會也不至於太痛苦。  

跟其他堂老師的課程一樣，作業不會很輕鬆，占比重，內容扎實學得到東西。  

根據外校老師所述，這堂課算是滿稀有的好課程，教授的內容算是ICS相關領域的核心，但很少有老師會特別教。  

建議有修過硬體描述語言、或是大四的時候再來修，因為loading偏重。但聽說老師快退休了，想修的話就趕快來修吧。

### 演算法設計與分析
```113上```
> 教授：楊昌彪

像高等程式設計與實作的進階版，約1/3的內容重疊，建議有演算法基礎再修，不過老師也要退休了。

不點名也不簽到，但在上課時會開Google表單回答問題 10%。

作業主要為：  
1.課本習題 25%，共10章，且大部分為證明題  
2.程式實作 25%，使用分治法實作 Voronoi Diagram  

期中只需完成3個點以內的 Voronoi Diagram，期末則無限制，需要 Demo 並繳交最後成果報告(用HTML寫)。  

比較麻煩的是 圖形化 + 只能用分治，導致有非常多種情況需要考慮，若期中的部分沒有規劃好架構，期末可能要砍掉重寫。

期末考試 40%，與資結、高等程式一樣，大部分為考古與PPT，約1/4的內容為證明題(如: reduces to)，但PPT不一定有該證明。

## 電機系

### 演算法設計與分析
```113下```
> 教授：周孜燦

電機碩班的演算法，期中期末各占50%，一學期點名一次（會提前講），沒到的話會直接當掉。  
算是以理論為主的課，有興趣可以去修，還包含了一些賽局理論、近似演算法的理論。  
整體來說不難，但是缺乏實作。

### 實用數位系統
```113下```
> 教授：謝東佑


就是數位系統的加強版，跟蕭勝夫開的HDL很像，以實作為導向的課。  

差別是在這堂課會學到一塊電路產生的過程，如何可以減少電路的面積、時間、驗證等等。  
作業的部分跟HDL很像，但Code簡單很多，報告要求很細節，著重的是理解。
期中考不難，老師會提供考古題，並且可以開書考。  

期末專題是整堂課最硬的部分，因為這堂課的專題似乎攸關了電機系同學能不能做IC組專題，會需要跟大家捲面積、捲時間（連論文都要看），如果只是把專題實作出來算簡單，但加上優化的話，會花掉非常非常多的時間。  
若未來有打算做數位電路的話，非常建議修這堂課，這堂課的專題品質很高，高到可以放進推甄備審資料的程度。  

但資工系的同學來修，會有點痛苦，畢竟我們的數位系統教得比較簡單。

（隔年回來補充: 建議未來打算到清交做硬體的都要修一下，頂大硬體的loading差了不只一個檔次）

## 應數系
以下所稱的演習課是應數系的實驗課，沒有學分，視老師的要求決定是否一定要出席。

應數系的老師每隔幾年都會換一次(必免有學生修4年都卡著的情況)，建議先了解老師的教學風格。

### 離散數學（二）
```113下```
> 教授：余冠儒 

這門課在教圖論，內容涵蓋圖的同構、平面圖、歐拉迴路、漢米爾頓環、旅行推銷員問題、最小生成樹問題、最短路徑問題、網路流問題、匹配問題，跟高等程式設計、演算法設計與分析有部分重疊，如果有修過會相輔相成。

作業佔40%，期中、期末各30%，每週會有大量的作業，我們這屆作業一週會有15題左右，在作業截止前自己要對自己的作業一題題打分，加總當作是你這次的作業成績。演習課要到，開始前助教會點名，再抽人上去解釋題目，如果你把作業成績打太高，但其實你不會，又不幸被抽到的話，之後幾個禮拜會一直被點到，並且可能會被扣分，解釋題目時其實只要能說服助教就好，不用有非常嚴謹的推導，不過也不能瞎掰，畢竟是應數系的課。而期中期末有一部分會出考古題，在考前一個禮拜會公布，如果作業都有弄懂，成績應該不會到太難看，但前提是作業要寫，我期中考後都沒寫作業，最後拿到C-，ㄏㄏ。

期末會有同樂會，如果有上台表演才藝會加分，這學期有人唱歌、有人表演話劇、有人拉小提琴、還有人拉二胡，我覺得很猛。

老師人還不錯，課堂氣氛也不會到很乾，修這門課也可以學到東西，但個人覺得很累，建議有時間再修。


# 資工推甄參考

## 114級
大概10~20%會有成，臺大只收第一名(其實現在連中山第一名都很難進臺大了)，其他青椒。  
找實驗室的部分，多去敲實驗室，建議大一就可以慢慢找自己喜歡的領域。另外，現在前段熱門實驗室幾乎人手一篇paper，所以該寫paper還是要寫。  
依據過往案例: 某熱門CV教授第一次團面有48人，其中24人有論文經歷，有些還是top conference。另一個是熱門硬體實驗室，團面的學生成分是：實作組的在intel實習過，還有拿的出手的作品、一般推甄的至少有三個學校的第一名去參加團面，而且都有論文。  
這關比的又不是成績了，是你累積的經歷。沒辦法給太多建議，就卷吧，別輸了。

## 115級
1~5% 台大 備取上
10% 清交正所
20% 清交偏所 / 成大正所

# Other topics

## 想搞懂 diffusion model 的最好路線
注意這裡的搞懂是指，"把數學原理全搞懂"。

1. Basic probability theory & information theory
    - PMF, PDF, covariance, multivariate Gaussian
    - entropy, cross-entropy, KL divergence
    - 有問題可以問嘉平
2. Variational inference
    - simple variational inference, mean field method
3. Variational autoencoder
4. Diffusion model
    - DDPM, DDIM
5. SOTA (optional): score-based model, flow-based model, consistency model
    - Score-Based Generative Modeling through Stochastic Differential Equations, Song et. al. (2020)
    - 但這部分會牽扯到一點 stochastic differential equations，還有很多機率的推導

## 書籍推薦

### Modern C++

- Effective Modern C++, Scott Meyers

### Machine learning

- Machine Learning - A Probabilistic Perspective, Kevin P. Murphy
    已經有一點ML知識的推這本，遇到看不懂的問LLM。可以學到很多，而且對未來研究前沿模型很有幫助。
- Probabilistic Machine Learning Advanced Topics, Kevin P. Murphy

### Deep learning

由於 deep learning 還在超高速發展，目前推薦直接看論文。

### Network

- Computer Networking A Top Down Approach 7e., Kurose, Ross
    從 top-layer 介紹，脈絡是由需求->解決方法。寫的還不錯，圖很多。
    
## 給想做數位IC設計的同學
近年來數位IC似乎變得很熱門？
因為這個領域的門檻偏高，資源也無法在網路上尋找，所以建議還是以修課為主。

在中山的話，建議可以將蕭勝夫教授、謝東佑教授的課程全數修習完畢:
蕭勝夫教授: HDL, ALU, VLSI
謝東佑教授: 實用數位系統、系統晶片測試

如果想要推甄到電子所、電機所的話建議參與一些競賽，不過這些所我們中字輩應該滿難進的。
資工的部分可以考慮這樣:
- 台大: 去電機丙、電機資安，修習數位IC相關課程（研究領域會無關）
- 清交: 找數位IC相關老師，修習ICLAB, ADDF等
- 成大: 搶數位IC相關老師（只有那位），修 VSD

非常建議IC課程能修則修，因為到了碩士班，上述幾堂碩班課都會些許你的工作、實習，如果成績不好看的話會有點難受
且頂大IC課跟中山的差距很大，上述提到的課程一個作業難度就差不多與中山一堂的期末難度差不多（甚至更難）