分享到plurk 分享到twitter 分享到facebook

yourui1017 (李祐睿)

2024 Linux 核心設計 春季班 自我評量

成果發表與貢獻

閱讀文件時做的錯字修訂:lab0

作業與隨堂測驗

期末專題

期末專題 : 開發紀錄,因為自身實力不足,只有重新將測驗 10 重新實作。

與授課教師的互動

一對一討論:5月16日 (星期四) 上午 11:00 - 11:30

修課心得

在作業 5 曾經閱讀〈因為自動飲料機而延畢的那一年〉,裡面的狀況就很像是自己的狀況,「資工系的學生不會寫程式,機械系的學生不會做機械」,雖然在目前上完這堂課後,我不認為我有成功突破「資工系的學生不會寫程式,機械系的學生不會做機械」,但我還是有不同的收穫,我學習到資料的閱讀與整理的能力,並練習不要逃避問題,學著成為一個理工人,進行獨立思考,解決問題。

回顧本次修課的歷程,首先老師指派作業 lab0 ,在本次作業中深深體認到自己不會寫程式的事實,對於 C 語言的指標與記憶體操作非常生疏,起初常會遇到 segmentation fault 的錯誤,但在隨後閱讀指定教材並實際操作後才了解 C 語言中的皮毛,並完成該次的評分事項。再者是作業2,在作業2中學習到 quick sort 與 tim sort 排序演算法的排序原理,並且嘗試針對不完善的排序進行改善,最後使用 perf 分析改善前與改善後的演算法效能落差。下一個是 Homework5 ,在 Homework5 中與授課老師進行一對一討論,在討論期間了解到自己並沒有做到誠實面對自己,對於授課老師的提問是一問三不知,因此重新閱讀教材 你所不知道的 C 語言:數值系統篇,並嘗試使用 bit-wise 操作實作浮點數乘上 10。最後是期末專題,首先先閱讀教材並行程式設計補足自己對於並行程式設計知識,並且嘗試重作測驗10,了解 lock-free 系統的實作,並且使用 hazard pointer 解決 lock-free 的記憶體釋放問題。

與指導教授的學習回顧

  • 二月回顧:3月4日 週一 下午10:15
  1. 針對佇列進行特定操作
  2. 撰寫文件,記錄學習過程
  • 三月回顧:4月8日 週一 下午8:40
  1. 學習 Linux 核心原始程式碼中的 lib/list_sort.c
  2. 分析理解 timsort 演算法的實作方式
  • 四月回顧:5月9日 週四 下午9:07
  1. 研讀教材〈並行程式設計〉
  2. 學習 bitwise 的 operation
  • 五月回顧:6月3日 週一 下午10:20
  1. 期末專題討論
  2. 研讀教材〈並行程式設計〉

自我評量

\((2 \times 9 \times 7 \times 7 \times 9 \times 8) ^ {1/6} = 6.32\)

使用方案 B 計分:\(1 + floor(6.32) = 7\)