# 簡介
- GitHub: `MiohitoKiri5474`
- HackMD: `MiohitoKiri5474`
# 2024 Linux 核心設計/實作 春季班 自我評量
## 成果發表和貢獻
- [並行程式設計: 概念](https://hackmd.io/@sysprog/concurrency/%2F%40sysprog%2Fconcurrency-concepts):錯字修訂
## 作業/隨堂測驗
- lab0-c: [GitHub](https://github.com/MiohitoKiri5474/lab0-c)/[HackMD](https://hackmd.io/@MiohitoKiri5474/B13cPqfu6)
- quiz1+2: [HackMD](https://hackmd.io/@MiohitoKiri5474/HkvX1f36T)
- quiz3+4: [HackMD](https://hackmd.io/@MiohitoKiri5474/BJKXebHyC)
- assessment: [HackMD](https://hackmd.io/@MiohitoKiri5474/ByoPGBceR)
## 期末專題
Concurrent Red-Black Tree: [HackMD](https://hackmd.io/@MiohitoKiri5474/Hy52_dWIA) / [GitHub](https://github.com/MiohitoKiri5474/userspace_rbtree)
研讀教材了解 Linux Kernel 中的紅黑樹,以及如何將其改為並行版本。
其中 lock 版本已完成,lockfree 版本正在進行中。
## 與授課教師的互動
一對一討論:5 月 31 日(星期五)13:00 ~ 14:00
- [2024q1 Homework5 (assessment)](https://hackmd.io/@MiohitoKiri5474/ByoPGBceR): 與教師討論如何撰寫 branchless 的 max 和 popcount
## 修課心得
## 自我評量(1 ~ 10)
成果發表和貢獻:我給自己 6 分。雖然並沒有對程式碼或整體課程作出更多貢獻,但在閱讀教材期間對於紅黑樹以及並行程式設計有更多的理解,同時也修正了之前對於 process 和 thread 的錯誤認知,並對其中發現的錯字進行修正。
作業與隨堂測驗:我給自己 8 分。學期初我花費了許多時間在這堂課的作業上,特別是作業一矯正了我的 coding style 和 commit message 撰寫,雖然一開始很不適應,但現在也慢慢的養成至少在 commit 前用 formatter 跑過一次、以及用 git cz 來撰寫 commit message。
隨堂測驗中有些許表現,並與後續的討論中補足了當初無法讀懂的觀念和程式碼。
期末專題:我給自己 6 分。期末被其他科目的作業、考試佔據了較多時間,在時間分配上過於失敗,無法兩邊兼顧。但在最後一週我注入了所有時間在期末專題上,但無奈最終時間還是不足以將預期的項目完成。暑假會嘗試繼續完成後續的內容。
與授課教師的互動:我給自己 8 分。於一對一面談中我並沒有提出問題,但這並不代表我對教材的內容都十分熟悉,反而是處於愚者之巔,老師在該次對談中用測驗補強了我對於位元運算的操作,並給我後續更多的練習。
修課心得:我給自己 10 分。在這門課中除了前面提到對於自身習慣的改正,也學習了很多對於 Linux Kernel 的知識、歷史和演變,並學習了更多 C 語言的語法和最佳化手段。
GEOMEAN = $(6 \times 8 \times \ 6 \times 8 \times 10)^{\frac{1}{5}} = 7.45$
使用方案 B 計分: $1 + floor (7.45) = 8$