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

stevendd543 (陳亭翰)

簡介

2024 Linux 核心實作 春季班 自我評量

一、成果發表和貢獻

評分 : 我給自己 1 分。
雖然目前我還沒有對 Linux 核心有貢獻,但從上課以來一直都在學習 Linux 相關知識,也是為了以後能參與開發,貢獻回開源程式碼,目前的學習能力在可以搭配教材來理解更多核心程式碼的用意。

二、作業/隨堂測驗

評分 : 我給自己 8 分。

作業
在前幾次作業我都有認真投入,以及努力去理解教材的內容和實踐,不過時常因為內容變得困難就導致學習變緩慢且進度落後,讓後來的作業都沒有充裕的時間去理解與完成,不過在這之中有透過模仿,漸漸成為能夠獨立思考問題且獨立完成部分問題。

2024q1 Homework1 (lab0) : 這份作業是我首次在 Linux 環境下撰寫程式碼,且初次學習如何透過 Github 來管理歷史版本,在過程也學習到如何安全地操作佇列,不過在前面花太多時間理解後面有些項目尚未完成。

2024q1 Homework2 (quiz1+2) : 這次作業主要是強化對資料結構的操作與認知,在對於測驗的內容理解有順利完成,但是在提升效能的延伸問題並沒有解決。

2024q1 Homework3 : 這次的作業是針對別人撰寫的筆記做 review 但是自己有部分作業未完成,review 的內容大部份都是較簡單的提醒,在問題上沒有過多的著墨。

2024q1 Homework4 (quiz3+4) : 這個作業中對於 bitwise 的操作有做了許多功課與練習,也有嘗試更改程式邏輯,但效率沒有做測量評估。

2024q1 Homework5 (assessment): 部分完成與老師討論問題的 TODO。

2024q1 Homework6 (integration)
測驗
每周上課測驗的部分 : 這部分都有認真去看待,但是因為大部分的題目都要先對程式碼有初步的理解,以及對以些指令要熟悉,在時間急迫下有時會來不急完成。

三、期末專題

我給自己 8 分。
專題題目 : 重作 10 與 12 周測驗題
針對測驗題提供的程式碼我都有去理解以及延伸學習,但是在做筆記的時候沒有一步一步紀錄,導致在後面重點整理得時候變得過於精簡,延伸問題的部分也有部分沒有完成,但在一些 data race 的癥結點有去思考與測試並解決錯誤警告。 

Review :
1. Linux 核心專題: 並行化的 Redis 實作
2. Usperspace RCU 研究
3. Linux 核心專題: Futex 驗證和評估
4. Linux 核心專題: 並行程式設計
5. Linux 核心專題: 並行的環狀雙向鏈結串列

四、與授課教師的互動

我給自己 9 分。討論紀錄
我與老師面談時間為 5/14,我覺得這次的面談除了決定專題題目外,我給自己一個警惕,我其實不是沒有在看教材,但我時常以固定的學習方式在進行,比如說我會等待所有頁面都看懂我才會去紀錄,導致在文字上的著墨越來越精簡,這樣不僅在回顧上難以理解,也時常導致無法一次表達清楚。老師也有提到「我是不是都用背的」,也許我理解的方式與步調讓自己沒有系統性去理解,導致問題再次浮現時就無法有條理地回答,因此我覺得這方面我需要去改進。

五、所見所聞所感

我給自己 10 分。
心得 :
看完後我發現裡面有一句話很傳神,「資工系不會寫程式,機械系不會做機械」,其實有時候都會納悶會什麼學了幾年的電腦還是不及其他寫成是厲害的人,後來才發現我少了遇到問題的經歷,做飲料機不像教科書一樣步步引導你學習,他是當你規劃後且實作才會浮現一些當初未全面考量的問題,就像你在數學解題目時遇到不會你只需要往後翻答案,因為這題的解答就在那,自然而然感覺成就感滿滿,但在沒有解答情況下,遇到問題就想逃避,而不從各領域去思考解決,老師常說細節的考慮常常在莽撞的決策中忽略掉,導致簡單的道路被拐彎曲折了。

六、每月寄送的學習回顧

我給自己 9 分。

  • 五月學習回顧: 5/10 send
    內容簡介: 雖然學習的東西與研究目標不一樣,但還是有與老師分享學習 driver 的內容 。

  • 四月學習回顧: 5/10 send
    內容簡介: 與老師分享四月學習到的 c 語言 bitwise 操作。

  • 三月學習回顧: 未寄出
    內容簡介: 無

  • 二月學習回顧: 3/3 send
    內容簡介: 與老師分享課程學習到的知識如何回饋給實驗室。

七、最後成績計算

  • 計算方式: \(1 + floor(GEOMEAN)\)
  • \(GEOMEAN: \sqrt[6]{1*8*8*9*10*9} = \sqrt[6]{51840} = 6.106\)
  • 最終成績: 1 + 6 =7