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

kinoe(段雅培)

學歷

  • 成功大學 資訊工程系109級(2016-2020)

聯絡資訊

2019秋季班 個人評量

作業及筆記

所見所聞心得

我在 2018 年春季班時有試著上了第一節課,打開了課程大綱頁面發現,學期都還沒開始就已經有排山倒海的東西要學了,嚇的我直接把課給退了XD。在大三下畢業專題最忙的時候,我沒把握能在這門課上花足夠的時間,但還是默默把這個網站存進了書籤頁,督促自己一旦有空就要開始努力學習。

這個學期終於沒有其它的負擔,剩下的學分選了三堂輕鬆的選修課,就是為了把所有時間都花在這門課上。這學期的每個沒有上課的日子,我幾乎都在寫都在看這們課的作業和素材,即便如此,還是有相當多的東西沒有看完…可見這門課想教的東西有多多了。

學期初花了近 8 週的時間在教 bitwise operation,教到後來我甚至開始懷疑自己到底會不會寫 C 了。每多一個作業或小考,就多看到一種花式(?)操作,試著應用這些東西寫了幾題 Uva 的題目,時間效能直接衝進前 500 名,讓沒有實戰作業系統經驗的我也感受到了效能最佳化的威力,也漸漸可以體會什麼叫作「有sense的程式碼」。 學期中教了包含 linked list, Bloom filter / Quotient filter, trie / ternary search tree 等,廣泛使用卻鮮少深入學習甚至根本沒聽過的資料結構。每一個說明點開來都是滿滿的學問,讓人自嘆怎麼到了大四了還什麼都不知道。

學期末時因為其它科的期末作業讓我花在這門課的時間有點減少,因此有關記憶體管理的部份我自認學的很不扎實,這部份希望在下一次修 Linux 核心設計之前可以先自行看過一輪。

除了這些以前沒有接觸過的知識以外,我覺得這門課影響我最大的是寫筆記的習慣、寫程式的習慣,以及用實驗驗證想法的精神。以往在寫筆記時我沒有一套習慣的原則,所以每隔一陣子寫格式就會變得不太一樣,閱讀起來也不是很流暢,但在這門課寫了大量的作業之後開始會注意包含空白鍵、換行、 markdown 用法、分段、圖片使用這些小細節,也開始有了寫筆記不只是寫給自己看,也要寫到讓別人看起來很舒服的自覺。寫程式時也會開始注意註解的重要性、模組化和分檔的技巧、 commit message 的原則…雖然看起來都是微不足道的小事,但這都是為了讓以後的自己更容易跟現在的自己合作。最後用實驗驗證想法的精神、perf, valgrind, gnuplot 等工具的使用,雖然我現在只學到了皮毛,但是開始使用這些東西讓我覺得跟以前自己比起來有了很大的不一樣。希望有一天我可以擺脫只是聽別人用嘴巴說說、不懂的眼見為憑的大學生,成為能夠靠自己的力量,去摸索去發現知識的知識人。

最後,我很感謝老師在我的每一個筆記裡留下的叮嚀,讓我清楚知道自己還有哪些可以修正、可以進步的地方。雖然我自己知道,距離老師要求的那種工程師的精神,我還有很大一段的落差需要改進,但我會繼續精益求精,努力讓自己變成可以對世界有所貢獻的工程師!

自我評量分數 (1 到 10 級分)

希望可以給自己 9 分。我知道我這個學期花最多心力的就是這門課了,期末報告的 Linked list 筆記更是我大學四年來寫的最認真最完整的一份報告。課堂上的問答我也自認有達到老師要求的「工程師講話要精確、要有憑有據」的標準,可以有自信的闡述自己做的事情,並且認清自己懂了什麼不懂什麼。剩下的這 1 分是對自己偶爾的怠惰的警惕。儘管花了很多時間,也儘量把每一個作業都看過寫過,但還是有沒寫完的東西、沒看完的資料。希望未來我能夠一點一滴的把這些東西補齊,讓自己達到滿分的水準。