版本 5ab4480aa965e2a2566fc99c560b34393079fdae
youjiaw (王宥嘉)
簡介
Linux 核心設計/實作 (Spring 2024) 自我評量
貢獻課程的教材
- 並行程式設計: 實作輕量級的 Mutex Lock 修正錯字與用詞
評分:
我給自己 8 分,剛修課時並沒有想到自己可以在哪個課程部分有所貢獻,但是在研讀教材的過程中,我就注意到了可以修正的內容,也呼應了老師多次強調的「留意各式細節」。
作業/隨堂測驗
評分:
我給自己 7 分,透過作業,我學到如何運用 clang-format 來確保一致的 coding style,也練習了如何寫出好的 Git commit message,培養自己的基本素養。我也使用了 Linux 核心的 List API 來實作雙向環狀鏈結串列的一系列操作,從而更好的理解開放原始碼專案的實作。
期末專題
並行化的合併排序及其改進: HackMD
觀摩其他學員的期末專題
- Linux 核心專題: 並行化的 Redis 實作
- Linux 核心專題: 並行工作佇列的設計和應用
- Linux 核心專題: 並行的環狀雙向鏈結串列
- Linux 核心專題: 位元操作的應用
評分:
我給自己 8 分,因為修課的學生眾多,所以老師較晚通知我題目的內容,因此在等待老師回信的期間,我先依照題目的方向找了一個上課時有提到可以改進的題目來做,隨後,我與老師確認了此題目的可行性,並加入老師要求的數學分析、實驗和討論量化結果。
與授課教師的互動
- 5/10 12:00 一對一討論
- 6/13 課堂問答
評分:
我給自己 9 分,在與老師討論時,我提問了對於上課內容以及課程教材的疑惑,也嘗試回答老師提出的問題,並且誠實的敘述我的學習狀況,讓老師得以指派合適的期末專題題目。在 6/13 的課程,老師剛好問到與我的專題相關的問題,由於我有按照老師討論時給我的建議,好好研讀這份教材,所以在老師點我回答的時候,我能夠正確地回應。這不僅展示了我對教材的理解,也顯示了我在學習過程中積極運用老師的反饋來提升自己。
所見所聞所感
評分:
我給自己 9 分,在修課的第一個月,這堂課程的難度與作業量讓我產生了自我懷疑,直到第六週,老師要求我們閱讀〈因為自動飲料機而延畢的那一年〉,其中的一句話讓我深有感觸:「要是現在就放棄的話,你這輩子日後遇到這種等級的困難,就只會想逃避而已。」這句話讓我幡然醒悟,並重新調整了自己的心態。
在這堂課中,我除了學到教材內容,也重新審視了自己的學習態度與面對困難的心態。正如老師所說的:「誠實面對自己,缺什麼就補什麼」,如果逃避,問題依然存在,努力想辦法解決問題才是正確做法。
每月發給實驗室指導教授的學習回顧
- 二月份學習回顧 (3/6):我認為前述多人協作的規範,對於我日後實驗室的研究工作會有所幫助,可以提升實驗室成員與我的開發透明度,同時建立更有效的溝通。
- 三月份學習回顧 (4/12):課程內容涉及到了大量的數學分析,像是如何用統計方法驗證 shuffle 產生出來的亂數有一定程度的亂度?以及,如何確認目前的測試程式已涵蓋排序演算法的最差狀況?此類議題讓我更理解理論和實務是一體兩面,也印證了王老師平時指導實驗室成員時強調的基礎科目的重要性。
- 五月份學習回顧 (6/18):在與黃敬群老師的一對一討論中,我提出了一些對課程的疑惑。老師在回答的過程中,也向我提問了許多相關議題,讓我意識到自己在基礎知識方面還有許多不足之處,例如 branchless code 與 hazard 之間的關係。
評分:
我給自己 9 分,我在信中整理和分析了自己的學習進度和所見所聞,並提出修課感想,這些都獲得了指導教授的肯定,也在一次實驗室會議中稱讚我的學習回顧內容。
自我評量 (1 ~ 10)
- GEOMEAN:\(\sqrt[6]{8*7*8*9*9*9}=8.29\)
- 方案 B:\(1+\lfloor 8.29 \rfloor=9\)