Home 112-1 交大資工修課心得
文章
取消

112-1 交大資工修課心得

本來想說一學期打一篇的,結果又拖成暑假的時候一次發兩篇。而且打完後一直在思考我這學期到底怎麼活的,演算法機率 SA,期末有很大的資料庫 Final Project,甚至做死修了法二😵‍💫

[必修] 機率 教授:謝秉均

直接先說,大推!大概跟我之前推吳昌鴻的微積分差不多程度。

上課內容

上半學期的內容跟高中有點重疊,機率的基本概念、PDF、CDF、PMF、很多常見的隨機變數(一部分高中學過),下半學期則幾乎都是新的,我覺得也比較難,包含 Joint Distribution、Bivariate Normal R.V.、Concentration inequality、Laws of Large Numbers 等等的,我覺得內容蠻多,而且某次去翻課本發現上課的內容甚至比課本多。

上課方式

老師本身是做強化學習的,而機率可以算是 RL 的基礎,所以老師對機率應該真的很熟,上課內容的品質蠻有保證,而且可以感受到老師超用心的備課(真的超級用心),簡報很詳細,整理得也很清楚,每堂課的內容都很充實。雖然是英授,但老師的英文超流暢,聽了很舒服,而且上課節奏也很順暢,真的能感受到花很多時間在備課(也或者老師本來就很會教學(?))

幾乎每堂課開始前老師會給一些跟最近課程內容有關,而且貼近生活或實際應用的例子。每次上課的內容蠻多的,常常需要課後花時間再看一次,尤其這堂是 2+1 堂都實體,連兩堂上完是真的蠻累,尤其下半學期內容開始變難的時候。不過整學期上完真的很充實,下學期修了同個教授開的強化學習原理,用到蠻多上學期的內容的。

(這邊順便推薦如果上完這個老師的機率後喜歡他的上課風格,而且想學 RL,可以考慮下學期直接修,不然過很久想學 RL 前可能要先複習機率。

評分方式

  • Homeworks 40% (including written and programming tasks)
    • 共四次作業,題目都蠻難但有趣,值得花時間思考,不過如果真的想不出來,其實每年的題目都差不多,上 GitHub 應該都找得到答案
    • 程式部分就蠻簡單的,基本上只會用到 numpy 和畫圖,而且架構都寫好了,只要照指示把部分的 code 寫好就好,對不會 Python 的人也可以當作順便學
  • Midterm 30%
  • Final Exam 30%
    • 寫考古有用,老師也有提供(但還是會有新題目)
    • 可帶大抄,所以可以不用背公式
    • 題目跟功課一樣,都蠻有趣的,而且沒那麼難,個人很喜歡,但期末突然變得比較難(體感比前幾年都難)

分數

  • A+

評分

  • Workload:4 / 5
    • 課後或考前需要自己讀懂,功課也需要花時間想
  • 甜度:3.5 / 5
    • 普通吧,但周遭好像都還不錯,最後調了 3 分
  • 學到的東西:4.5 / 5
    • 超級充實、超級扎實,在學 RL 的時候真的很慶幸當初機率的基礎夠穩
  • 綜合:5 / 5
    • 真的大推秉鈞,下學期甚至因此選了強化學習(應該會寫在 112-2 那篇,敬請期待😎)

[必修] 演算法概論 教授:吳凱強

上課內容

Sorting、D&C、Greedy、BFS & DFS、Strongly Connected Component (SCC)、DP、Amortized Analysis、Shortest path、MST、Flow …
其實就正常演算法課的內容啦

上課方式

三堂都實體,但因為有陽明的學生所以也會開線上會議。上課時會詳細講演算法的細節,搭配簡報的動畫我覺得蠻好理解,有讓我多弄懂一些以前不太理解的演算法,所以大部分的課我都有去上,但我覺得這堂課的精髓在功課。

評分方式

  • Midterm Exam 20%
  • Final Exam 25%
    • 紙筆測驗
    • 整體難度算普通,有基本觀念也有真的需要花時間想的(通常是叫你解題),而且手寫 code 的比例不會太多,讚讚(甚至寫 pseudo code 就行)
    • 這個拿來拉高分數用,也用了一個神奇的調分公式(見下),但我期末考爆了QQ
      1
      2
      3
      4
      
        if M > F
            score ← score + (M-F)/2
        if M < F
            score ← score + (F-M)/1.5
      
  • Programming Assignments * 4 20%
    • 本堂課的精髓,助教幾乎都是打競程出身的,題目很精彩
    • 會花很多很多時間,但也能學到很多很多東西
    • 有人覺得比競程一的題目難,但我覺得差不多,感覺這堂課的題目比較深,競程則是教很多東西,比較廣
    • 感謝 Bill 給了很多提示🙇‍♂️
  • Onsite programming Exam * 2 25%
    • 比起 Lab 友善很多(雖然我期末還是炸了)
    • 有簽到題,感覺解完簽到題就有及格(?)
    • 有些題目是 Lab 的延伸或簡化,因此 Lab 建議要自己寫過,或至少理解解法

分數

  • A

評分

  • Workload:4.5 / 5
  • 甜度:4 / 5
    • 調了不少,感覺也不少 A+
  • 學到的東西:4.5 / 5
    • 如果想扎實學演算法,大推
    • 應該上完後 GPE 隨便考 吧
  • 綜合:4.5 / 5
    • 我蠻喜歡的,雖然難但好玩
    • 推薦給想讓自己的解題能力有大幅進步的人

[選修] 資料庫系統概論 教授:曾意儒

上課內容

資料庫簡介、Relational Query Language(有點像是資料庫查詢的數學模型)、SQL、Database Normalization(如何化簡、設計一個好的資料庫)、資料儲存方式、Query Processing(查詢背後做的是以及花費時間分析)

上課方式

大學遇到英文講最好的英授課!這學期機率和這堂的老師真的是我上到現在,英授聽起來最舒服的兩位老師,但這位老師講得更流暢,甚至還能用英文開玩笑,超讚。

兩堂實體 + 一堂非同步,但非同步不是每次都有,而且內容跟實體上課幾乎無關,有 SQL 和自學 AWS。上課教得很好,會舉很多例子,一些比較難懂的概念經過他用例子說明後變得很容易理解,投影片也蠻有邏輯的,上課體驗很舒服。如果聽不懂下課跑去問,老師會用中文講,我覺得更好理解,而且感覺老師對資料庫真的蠻熟悉的,之前去問問題,才問到一半老師馬上知道我卡在哪裡,並用一個很簡單的說法解釋。

不過每堂課都會用 E3 做小測驗,上網都找得到答案,所以我覺得這比較像是另類點名(?)。總之這老師我也大推,不過他明年好像沒有開資料庫 QQ,倒是有開統計學但我沒修,不確定狀況如何。

評分方式

  • Midterm 20%
    • 跟另一班合考,但蠻搞的,Relational Query Language 兩班涵蓋的內容不同,但有考出來,不過最後沒教的都送分
  • Final Exam 20%
  • Final Project 20%
    • 實作一個資料庫 Project,重點是資料庫所以用 CLI、API 或網站呈現都行,但大部分組別都用網站或 Line Bot
    • 我覺得這是這堂課的精髓,對蠻多人來說這應該是第一次開發中小型的專案,能從中學到很多開發技巧,也會因時間壓力快速學完前後端(X
    • 但重點記得放在資料庫本身,不要太執著在前端(過來人經驗 QQ,我們大概有 6、7 成的時間都在寫前端,雖然分數普通,但成果我很滿意哈哈哈)
  • Homework*2 20%
    • HW1:實際操作 pgAdmin(btw 這堂用 PostgreSQL)、import 給好的資料並寫一些 SQL
    • HW2:用真實資料實際設計一個資料庫、使用 AWS RDS、寫 SQL
    • 其實功課都蠻簡單的,但也因為對我來說都是新東西,所以也蠻好玩的
    • HW2 有要用到 AWS Lambda,不過周遭的人好像都沒有做出來,當時事情太多我也沒有碰,不確定那是什麼
  • Quiz in the class 10%
  • Course engagement 10%
    • 這兩項都是用上面講到的隨堂測驗打的,不確定怎麼算的,好像 Quiz 有幾次沒做或全錯也能拿滿,但這項的分數就比較低

分數

  • A+

評分

  • Workload:3 / 5
    • Final Project 提早做,其他都還好(不要像我們趕到最後,連續花了真正意義上的 3 天 3 夜寫)
  • 甜度:3 / 5
  • 學到的東西:4 / 5
    • 上課內容本身可能不是那麼泛用,但 Final Project 真的會學到很多
  • 綜合:5 / 5
    • 我覺得資工系都可以修一下資料庫啦,這個技能蠻好用的,而且會從中學到 AWS 和一些開發技巧,都蠻重要的
    • 老師很讚

[選修] 計算機系統管理 教授:蔡孟勳

鼎鼎大名的 SA,跟 NA 可以綁一起,各大學都有 NASA(有些一學期上完),也都蠻硬的。

這堂課也算交大有名的課程之一,以 Workload 和收獲為聞名,第一堂課老師就提到這堂課的 Workload 大概跟 2~3 堂系上課差不多,我是覺得沒那麼誇張啦,大概 1.5~2.5 左右,但還是很重(警告),不過大二修掉蠻舒服的,前提是兩科必修不要都是謝秉鈞和吳凱強,這三門作業加在一起真的會死(親身經歷💀),雖然系上是寫建議大四修,但我覺得盡早修掉比較好,這堂學到的東西可以用在很多地方,而且其實不太需要先備知識。

上課內容

https://nasa.cs.nycu.edu.tw/sa/2023/content.php 詳見課程網站,原先還有更多,但因上學期放掉太多課,導致最後沒上完,蠻可惜的。基本上內容就圍繞 Unix-Like 的東西,還有一些系統底層的知識(File system、防火牆等等)。

功課是重點,我覺得修完這堂課要管理系統可能還有點難,但這堂可以讓你一直接觸 Unix-like 的系統和 CLI,以及讀 man page,蠻有幫助的,修完這門之後大多數工具或套件的文件應該都能輕鬆讀了。

上課方式

其實我覺得上課內容自己上網看 man page 會比較快,而且也比較詳細,老師上課會給個這個主題一個初略的概念,但剩下比較細的如指令、設定等就要自己做功課的時候慢慢看 man page 了。所以如果看不懂或不習慣直接看這些文件,可以先聽老師上課或看投影片會比較好理解,但終究都得看,所以才說可以直接去看。

課程間也會開一個 Google 的論壇讓學生問問題,做功課途中建議多去看別人問的,或許可以從中找到自己的 bug。

評分方式

  • Midterm 15%
  • Final Exam 15%
    • 看這配分也能知道,考試不是重點,考題也幾乎都考古,蠻簡單的
  • Homework and Exercise 70%
    • 本堂課重點,每個作業的期限原訂是 3 周左右,但後來常常因為很多人沒寫完而延期
    • HW2 開始大概需要花快一整個禮拜寫(幾乎花在 SA 上,然後睡眠時間可能也需要減少),所以建議留一整個空的禮拜來寫會比較剛好,不建議時程拉太長,不然很容易忘記 + 思緒中斷
    • 因為上課堂數太少,所以原本 HW4 和 HW5 被濃縮成一個而且還簡化,相較之下這學期的 Workload 可能比以往輕
    • 但 HW3 要做的事大概是去年的兩倍,那時候真的寫到想死,最後好像也是我唯一來不及寫完的
    • 原先只開放 FreeBSD,今年加入 Ubuntu,兩個系統擇一做,如果兩個都做完可以加分(不過一開始有說只會針對 FreeBSD 的部分盡力 debug,Ubuntu 不保證可以過,但最後好像也沒人遇到這個問題)
    • 小麻煩的就是 FreeBSD 使用人數不多,所以相較 Linux 在網路上能找到的資料就少很多。做作業遇到問題建議先直接搜尋那個問題,通常都會有人問 + 回答,但如果沒有的話可以去看一下其他系統的解法,再不行就只能慢慢讀 man page 自己想了(我通常不會直接讀 man page,因為東西太多)。不過說不定今年會換系統😎(說不定)

分數

  • A+

評分

  • Workload:7 / 5
    • 10 分留給 NA(雖然我可能不一定會修)
  • 甜度:5 / 5
    • 肯花時間一定 A+
  • 學到的東西:5 / 5
    • 真的太多了,光是熟悉 Unix-like 系統就很方便了,還培養你讀文件和 Debug 的能力
  • 綜合:5 / 5
    • 資工系都應該修(我覺得啦)

[選修] 圖形理論導論 教授:李毅郎

上課內容

Route、Tree、Connectivity、Flow、Matching、Coloring…,可以當作演算法概論中圖論的加深加廣,大部分是在證明一些定理,偶爾介紹相關的圖論問題及演算法(Traveling Salesman Problem、Augmenting Flow Algorithm…),內容蠻多的,而且蠻多證明沒那麼直覺,需要花一點時間理解(背)。搭配演算法一起修蠻剛好的,最短路徑、Flow 等都是圖論先上完,在寫那次 Lab 的時候會輕鬆一點,而同時也能在這堂課學到更深入的圖論演算法,讓整個學期都很演算法(優點)。

上課方式

2 堂課實體 + 1 堂非同步,但因為有錄影,所以我到後面也因為要先趕其他作業,都慢慢沒去上課了,不過其實我覺得看影片沒有比較快,通常我都會花 1.5 倍的時間才能看完 + 做筆記,所以我覺得去上課還是最有效率。

老師上課的內容幾乎都在投影片,只是有些證明投影片會比較省略,由老師口頭補充細節(但課本都有),但私心覺得老師的語調有點催眠,加上我上學期睡眠嚴重不足,所以有時候會莫名分心。

評分方式

  • Program assignment 50%
    • 五次 Lab 各 10%,給補交
    • 今年題目跟去年一模一樣,所以有很多資源可以參考,但就算不看應該也不難,只是有些實作起來蠻麻煩的,尤其後面兩次的作業,那時候因為要趕資料庫 Final Project 所以沒寫完,還好有給補交
  • Test: 50%
    • 高分的那次 30%,低分占 20%
    • 都是上課講過的內容,大部分是定理的證明,所以最簡單的方法就是全部背下來,不過下半學期的證明越來越長,我自己是記一些通靈的步驟,剩下慢慢推,但後來發現不會考完整的證明,頂多一部分而已。

分數

  • A+

評分

  • Workload:2.5 / 5
    • 大概考前把證明看懂,作業正常做就好了
  • 甜度:4 / 5
    • Lab 50% 還可以遲交,考試的配分也超佛
    • 但最後 HW 5 沒寫完 + 期末沒放太多時間在這科,差點出事
  • 學到的東西:3 / 5
    • 學到一些酷酷的圖論演算法,其實還行
  • 綜合:2.5 / 5
    • 就普通吧,如果有更想修的課可以果斷放掉,但如果不知道要修什麼可以選

[領域] 大腦、語言與社會 教授:李佳頴

上課內容

主要以語言為主,前半學期講授有關大腦與語言的關聯,例如一些研究或腦科學的實驗,以及形成語言的過程中,我們的大腦是如何運作的。下半學期開始探討社會中語言的議題,例如母語、語言障礙(這主題也有講到這些障礙實際上的機制,如大腦受損)等等,最後則談到升學制度。

上課方式

這也是一堂中研院開的課,所以每周都會有選文要讀,課程也是前半堂老師會講解選文的內容,後半堂則是助教帶討論課。但這堂的 Workload 比之前的自由與道德輕很多,甚至可以說就算你沒讀每周選文也沒關係(其實說真的沒上課也沒關係w),討論課大部分的問題都可以不用依賴上課的內容回答,而期末報告只要深入你要做的主題就好,所以這堂課在這學期就是被我拿來放鬆用的。不過撇開這些,其實老師人很好,上課也蠻有條理的,而且內容不會很深入,是個快樂的通識課(老師自己也說這只是通識課,所以不會給我們太多的 Workload,超讚),少數幾次跟老師聊天到的時候也覺得老師很有趣,而助教人也很讚,用了很多數位工具帶討論課,蠻好玩的!總之蠻喜歡這堂課,只是好像也沒有繼續開了QQ

評分方式

  • 出席與討論 15%
  • 討論表現 35%
    • 每周課後都要寫回饋單,但我們這組的助教說可以不用每次寫,總共寫超過一定次數就好
  • 團體報告 50%
    • 口頭和書面報告各 25%
    • 做跟課堂有關的主題就好,會先上課報告一次,老師也會給一些回饋,之後再針對這些回饋進行修改,交出最後的書面報告

分數

  • A+

評分

  • Workload:1 / 5
    • 輕鬆舒服的通識課
  • 甜度:4.5 / 5
  • 學到的東西:2.5 / 5
  • 綜合:4 / 5
    • 老師人很好,課又蠻輕鬆,也不會說學不到東西

[外文] 法文(二) 教授:潘怡君

上課內容

承接法一的內容,包含數字運算、餐廳對話、購物、天氣等,難度比法一高上不少,主要是多了很多單字,文法也變得複雜一點(真的覺得法文的文法超複雜,陰陽性先不提,光時態就有好幾個)。

上課方式

基本上跟法一一樣。

這學期只有 9 個人修,但可能是我們都不敢講,反而好像比較少跟老師說到法文(不像法一上課前會一個一個問),現在想想覺得有點可惜,畢竟都已經像是小班制了,應該是個練習口說的好機會。也因為只有 9 個人修,意外壓力蠻大的,而且我覺得每個人法文好像都比我好😵‍💫

最後期末考改用演戲的方式呈現,老師給一個情境,我們回去寫稿,之後上台演,其中會經歷一次改稿。當初聽到每個人要講至少 20 句覺得有點可怕,但後來發現有稿其實沒那麼難,而且可以先準備。說真的我從中學到蠻多東西,雖然全都是用翻譯,但有一個文法在改稿時被老師修正,回去上網查意外多學了一個時態哈哈哈。

評分方式

  • 出席 5%
  • 上課參與 5%
  • 平時測驗 20%
  • 課堂作業 10%
  • 期中與期末測驗 60%

分數

  • A

評分

  • Workload:4 / 5
    • 覺得比法一難
  • 甜度:2.5 / 5
  • 學到的東西:4 / 5
  • 綜合:3.5 / 5
本文章以 CC BY 4.0 授權