課程專題組隊原則

  1. 每組 2~3 人 (建議3人一組,因為學期中可能有人停修或退選,3 人組即使少 1 人仍可繼續運作。2 人組若有人退出,剩下的同學會非常辛苦 .... )
  2. 大學部(UG)與碩士班(MS)不混組。
  3. 碩士班同學若有相同指導老師,原則上分在同一組。
  4. 自己1人一組:特例,須自己帶題目,請跟老師做確認

組隊流程與時程

整個組隊分為四個階段:

階段時間內容
Phase 03/4~3/5填寫組隊調查表(收集基本資料、目前組隊狀態、興趣技能)
Phase 13/6~3/8自由配對期:尚未組好的同學可在媒合系統上瀏覽彼此資料,自行聯繫組隊
Phase 23/9–10系統推薦期:系統根據興趣與技能推薦可能的組合,同學可自行決定是否接受
Phase 33/11老師分配:仍未組隊的同學將由老師協助分組

3/11 課堂組員碰面

3/13 題目大方向公布

重要事項

  • 請在 3/5 16:00 前完成表單填寫,未填表者視為放棄自主組隊權利,將由老師直接分配。
  • Phase 1–2 期間,組隊的主動權完全在你手上,系統只是輔助工具。
  • 組好隊伍後,請盡快回到系統登記確認,避免被重複推薦。
  • 如有任何特殊需求(例如希望與特定同學同組),請在表單最後一題說明。

專題題目方向

題目來源

本課程的專題題目有兩種來源:

  • 老師出題: 老師會準備一個題目池,各組依志願序選填有興趣的方向,老師根據整體分布與各組狀況分配題目。
  • 自帶題目: 碩士班同學可從實驗室既有研究方向延伸,但必須符合下方的課程範圍與限制。自帶題目不需要一開始就很具體,老師會透過討論幫你抓出可以做的重點。

課程專題範圍

題目必須與系統軟體、作業系統、儲存系統相關。以下是本課程涵蓋的六大方向:

方向涵蓋主題
Flash & SSDNAND flash 特性、FTL、garbage collection、write amplification、SSD 效能分析
I/O InterfacesBlock I/O、DMA、NVMe、io_uring、kernel-bypass I/O (SPDK)
Indexing & Data StructuresB+Tree、LSM-Tree、Bloom filter、HNSW、product quantization
File SystemsInode、journaling、copy-on-write、log-structured FS、ext4 internals
Reliability & CodingError coding、RAID、erasure coding、LDPC
Data SystemsKey-value store、buffer pool、columnar storage、data compression、model quantization

什麼樣的題目可以?

題目的核心精神是與作業系統或儲存系統有實質互動。以下舉例說明:

記憶體放不下的大型資料結構,需要設計 I/O 策略

比較不同 I/O 介面在特定 workload 下的 performance 或 energy efficiency

檔案系統或儲存引擎的行為分析、效能調校

Paging / virtual memory 機制的量測與優化

多個系統元件同時運行時的交互作用與 trade-off 分析

ML inference 在記憶體或儲存受限環境下的系統行為(例如 model quantization 對 I/O 與 memory 的影響)

CV / AI 演算法跑在特定系統環境下的行為觀察與 trade-off 分析

什麼樣的題目不行?

純 AI 模型訓練(只做 training / fine-tuning,沒有系統面的探討)

純 CV 演算法(只關心準確率,不涉及系統資源的互動)

純前端開發(做網站、App 等與系統軟體無關的工作)

與碩士論文完全重疊(可以是相關延伸,但專題成果必須有獨立貢獻)

簡單的判斷標準:你的專題是否需要理解或操作 OS / storage / memory 層級的行為? 如果答案是「不需要」,那這個題目就不在本課程範圍內。

自帶題目的額外要求

  1. 必須與上述課程範圍有明確關聯,並在題目方向表中說明關聯性。
  2. 專題內容不得與碩士論文完全重疊,可以是相關延伸,但必須有獨立貢獻。
  3. 需經老師確認,老師會協助聚焦出適合一學期完成的範圍。

題目分配時程

時間事項
3/11各組填寫題目方向調查表(每組派一位代表填寫)
3/11–3/17老師根據各組志願與整體分布決定分配
3/18課堂公布各組題目方向