大二上心得

本文最後更新於:2025年1月23日 晚上

這學期還蠻神奇的,索性來寫個心得

課業

這學期原本點了 23 學分,後來退了兩門課:

  • 硬體實驗與設計 - 李濬屹 (CS 210401, 3)
  • 線性代數 - 李哲榮 (CS 233401, 3)
  • 資料結構 - 沈之涯 (CS 235101, 3)
  • 獨立研究一 (CS 390500, 2)
  • 平行程式 - 周志遠 (CS 542200, 3)
  • 進階高效能計算叢集電腦實務 - 周志遠 (CS 543400, 3)
  • 計算機網路概論 - 徐正忻 (EECS302001, 3)
  • 重量訓練 - 邱晨然 (PE 205063, 0)
  • 計算機系統管理 - 蔡孟勳(交大, 3)

硬體實驗與設計 - 李濬屹

配分

  • 12x Lab: 40%
    • 6x Basic lab: 10%
    • 6x Advanced lab: 30%
  • Final Project: 20%
  • Midterm Exam: 20%
  • Final Exam: 20%

心得

跟課名一樣,真的很硬。整堂課需要應用上一個學期邏輯設計所學,利用 Verilog 這個硬體描述語言\
來設計硬體,並將設計好的電路燒到 FPGA 上面。

Lab 總共有六個單元:

  1. Gate-Level Verilog
  2. Advanced Gate-Level Verilog
  3. Sequential Circuits
  4. Finite State Machines(期中考範圍到這)
  5. Keyboard and Audio Modules
  6. Peripheral Components: VGA, Mouse, and Dual FPGA(期末考範圍到這)

每次 Lab 都分成 Basic 跟 Advanced:
Basic 基本上就是在上機教室依照所給的簡報實作就可以了,通常都能夠拿滿。
Advanced 則是兩人一組,通常會有 4 ~ 5 題並包含一個 FPGA 題,前面幾題會以 Verilog 題目為主,提交上去後助教會使用 testbench 測試你的程式碼輸出的波形圖是不是跟答案一樣;而 FPGA 題則是要在 FPGA 上實現某些功能(例如開關、按鈕、LED 的互動等等)

每次 Lab 跟考試其實分數都挺慘烈的,所以會公布三個基本的調分方案,並要求在第一次期中考成績出來後選擇要哪一種,大部分人都會穩穩選擇第一種,但也有些人覺得他的期末考會很高/低分,而選擇其他方案來當賭狗,而我則是選第一種:

  1. Midterm += (Lab5 20% + Lab6 30%) / 100 * (100 - Midterm)
  2. Final -> 15%, Midterm -> 30%
  3. Midterm -> 30%, Final -> 15%

每次考試的題目量跟一次 Advanced Lab 差不多,通常 FPGA 題會是比較可做的,每次考試平均都差不多三四十分,所以最後還會再調分。

這門課需要花費大量的時間練習與寫作業、報告,我最久一個禮拜花了 4、50 個小時在寫 Verilog 跟 LaTeX,不過其實蠻好玩的,學到很多東西,可惜教授跑去台大了,今年是最後一次開。

結果

  • Basic Lab: 全滿
  • Advanced Lab: 66, 100.5, 60, 79.35, 96, 109
  • Midterm Exam: 36
  • Advanced Exam: 100
  • Final Project: 88.37
  • 基礎調分方案加分:5.9
  • 期末調分:7.5

最後成績:97/A+,T 分數 66.10,百分制排名 5/69

線性代數 - 李哲榮

期中考日期把 10/7 看成 1017,考試當天才發現要考試,所以就二退了。

資料結構 - 沈之涯 (CS 235101, 3)

配分

  • Coding Assignments: 20%
  • Coding Quiz: 20%
  • Midterm Exam: 20%
  • Final Exam: 20%
  • In-class Quiz: 5%
  • Final Project: 15%

心得

作業通常都很難,沒有相關基礎的會比較難寫出來,但是上機都蠻簡單的,而且拿到一個測資就有很多分數。

期中考大概考前一兩天把所有簡報讀過一次。考試會有很多題目,每次都差點寫不完。

Final Project 要寫一個論文搜尋系統,基本上就是在寫 Trie,有效能分。所以我把 Final Project 寫成平行程式,最後只有 Report 被扣一分,拿 99。

結果

  • Coding Assignments: 全滿
  • Coding Quiz: 20
  • Midterm: 64
  • Final: 80
  • In-class Quiz: 有一次出國沒考到,除了那次之外都滿分,不知道最後到底算幾分
  • Final Project: 99

最後成績:91.1/A+,T 分數 60.31,等地制排名 1/89

獨立研究一

跟著周百祥老師做之前特選生的研究計劃,主要是跟 Python 課程的出題指引有關。

結果:A+,T 分數 50,等第制排名 1/7

平行程式 - 周志遠

配分

  • Homework: 80%
    • Parallel Odd-Even Transposition Sort (MPI): 20%
    • Mandelbort Set (MPI & OpenMP): 20%
    • All-Pairs Shortest Path (GPU): 20%
    • FlashAttention Implementation (GPU): 10%
    • Network Benchmark (Ibverbs & UCX): 10%
  • Labs: 6%
    • Pixels in circle
    • Approximate pixels
    • CUDA, OpenACC, HIPCUDA-Advance: Memory Optimization
    • FlashAttention
    • Nvidia DLI
  • Final Project: 15%

心得

因為平行程式很好玩,所以來修了這門課,好課大推。

整門課基本就是寫各種 CPU 跟 GPU 的平行程式,每次作業都會給 Sequential 的 code,我們只要把他們寫成平行的版本就好。

Lab 有一個禮拜的時間可以寫,基本上只要有 AC 就會拿到分數。

作業的部分會有數週可以寫,除了 AC 之外也會要求效能,分數會包含正確率、效能、報告以及 demo 等等。最後一個作業比較特別的是要去 trace UCX 的 code 然後修改並回答問題。

Final Project 則是自己選一個主題,然後優化他的平行效能或是把原本不平行的部分平行化,我是選了一個圖論的題目做。

很智障的是我的 Lab2 優化到全班最快,結果我忘記交了 = =,還好最後沒有影響到成績。

結果

  • Lab: 100, X, 100, X, 100, 100
  • Homework: 95.41, 97.3, 96.75, 80, 77.5
  • Final Project: 87

結果:91/A+,T 分數 56.49,等第制排名 1/105

A+ 38.1% (40人)
A 28.6% (30人)
A- 14.3% (15人)
B+ 6.7% (7人)
B 4.8% (5人)
B- 3.8% (4人)
C- 1.% (1人)
D 1.% (1人)
F 1.9% (2人)

進階高效能計算叢集電腦實務 - 周志遠

只有超算隊員才能修的課,其實就是選手培訓跟比賽

結果:A+,T 分數 50,等地制排名 1/14

計算機網路概論 - 徐正忻

第一次期中考發現考一堆計算題,不是我要學的所以就退了。

重量訓練 - 邱晨然

就是重訓,期中考抽考器材跟使用到的肌群,期末考考硬舉

計算機系統管理 - 蔡孟勳

配分

  • Homework: 70%
  • Midterm Exam: 15%
  • Final Exam: 15%

心得

交大著名的 SA,因為高三有做過教授在成大開的 SA,作業都拿了滿分所以就把交大的修一修。

幾次作業的主題是:

  1. Install FreeBSD/Ubuntu & WireGuard
  2. Shell script & System Info
  3. File Server
  4. Web Service

基本上就是在架一些服務之類的,完整的介紹可以參考課程網站:https://nasa.cs.nycu.edu.tw/sa/2024/,大家都說要花幾十個小時寫,之前看到 Threads 上看到有 80 個小時拿不到分數,但我寫起來是沒那麼誇張,花個幾天的一些時間寫就可以拿到滿分了。

期考都只是考很簡單的東西,畢竟這堂課的重點是作業,而且作業基本上只有會寫/不會寫,會寫幾乎都會 100,所以代表期考可以被扣 66 分還是有 A+,甜課大推。

結果

  • Homework: 100, 105, 100, 117
  • Midterm: 82
  • Final: 52

結果:A+

總成績

GPA: 4.3
T 分數: 57.05

其他

待更新


大二上心得
http://koyingtw.github.io/大二上心得/
作者
Koying
發布於
2025年1月15日
許可協議