--- title: 2025 年 Linux 核心課程作業 —— ideas image: https://i.imgur.com/robmeiQ.png description: 面對真實世界的問題 tags: linux2025 --- # N02: ideas > 主講人: [jserv](https://wiki.csie.ncku.edu.tw/User/jserv) / 課程討論區: [2025 年系統軟體課程](https://www.facebook.com/groups/system.software2025/) :mega: 返回「[Linux 核心設計](https://wiki.csie.ncku.edu.tw/linux/schedule)」課程進度表 ## :penguin: 作業要求 * 研讀 [2024 年課程期末展示](https://hackmd.io/@sysprog/linux2024-showcase)`*` 及[完整期末專題列表](https://hackmd.io/@sysprog/linux2024-projects),搭配 [2024 年課程回顧影片](https://youtu.be/JSUkg8KXx-Q),從去年的期末專題中選出至少 7 項題目,紀錄過程中的認知、遇到的疑惑,以及你認為如何改進 * 不要說「看不太懂」(這和「看不懂」有何差異?),不懂就記下來並嘗試從你的認知和掌握的第一手材料去拆解,授課教師會斟酌在課堂討論 * [2024 年課程期末展示](https://hackmd.io/@sysprog/linux2024-showcase)是今年期末專題的底線,你一定要做得更好 (沒這樣的決心,就不用來了) * 務必詳閱 [2024 年學員的期末專題](https://hackmd.io/@sysprog/linux2024-projects),包含個別解說錄影 * [HackMD](https://hackmd.io/) 筆記作為開發紀錄,規範如下: * 標題格式固定為 ==2025q1 Homework1 (ideas)==,其中 "ideas" 是小寫,**2025q1** 表示「2025 年第 1 季」 * 共筆內容的第二行則為 **contributed by < `你的GitHub帳號名稱` >** * 確保你的 GitHub 帳號是有效的 * 無論標題和內文中,**中文和英文字元之間要有空白字元** (對排版和文字搜尋有利);文字訊息請避免用圖片來表示,否則不好搜尋和分類 * [共筆示範](https://hackmd.io/@sysprog/linux2025-sample-lab0) $\leftarrow$ 務必詳閱 [HackMD 教學](https://hackmd.io/s/quick-start-tw) * 共筆書寫請考慮到日後協作,避免過多的個人色彩,用詞儘量中性 * 不要在筆記內加入 `[TOC]` : 筆記左上方已有 Table of Contents (TOC) 功能,不需要畫蛇添足 * 不要變更預設的 CSS 也不要加入任何佈景主題: 這是「開發紀錄」,主要作為是評分和接受同儕的檢閱,不是彰顯「個人風格」的地方 * 當[在筆記中貼入程式碼](https://hackmd.io/c/tutorials-tw/%2Fs%2Fhow-to-use-code-blocks-tw)時,避免非必要的行號,也就是該手動將 `c=` 或 `cpp=` 變更為 `c` 或 `cpp`。行號只在後續討論明確需要行號時,才要出現,否則維持精簡的展現。可留意「[你所不知道的 C 語言: linked list 和非連續記憶體](https://hackmd.io/@sysprog/c-linked-list)」裡頭程式碼展現的方式 * HackMD 不是讓你張貼完整程式碼的地方,GitHub 才是!因此你在開發紀錄只該列出關鍵程式碼 (善用 `diff` 標示),可附上對應 GitHub commit 的超連結,列出程式碼是為了「檢討」和「便於他人參與討論」,不是用來「假裝自己有付出」 * 留意科技詞彙的使用,請參見「[資訊科技詞彙翻譯](https://hackmd.io/@sysprog/it-vocabulary)」及「[詞彙對照表](https://hackmd.io/@l10n-tw/glossaries)」 * 避免過多的中英文混用,已有明確翻譯詞彙者,例如「鏈結串列」(linked list) 和「佇列」(queue),就使用該中文詞彙,英文則留給變數名稱、人名,或者缺乏通用翻譯詞彙的場景。 * 在中文敘述中,使用全形標點符號,例如該用「,」,而非 "," * 撰寫的過程中,可善用 ChatGPT 一類的工具,但需要明確標示並指出裡頭謬誤和不精確之處。搭配 [ChatGPT cheatsheet](https://quickref.me/chatgpt) * 先填寫 [自我評量表單](https://docs.google.com/forms/d/e/1FAIpQLSccoOdvKTelvKHFeU5EGrflHgKa1BUxQhgsCm1fI4HlkXl8eA/viewform?usp=dialog),隨後會取得「認證碼」,之後在[第 1 份作業提交表單](https://docs.google.com/forms/d/e/1FAIpQLSe46BJBQd9q0MKzapuyqB0kwVvCjngM9AP_Gh_QvCotLJwriQ/viewform?usp=dialog)提交程式碼,當系統檢查完畢時,預期將在 :rocket: [作業區](https://hackmd.io/@sysprog/linux2025-homework1)見到登記的 HackMD 超連結 * lab0 和 ideas 的表單是共用的 * :warning: 不用等到作業完成才填寫表單,當你開始進行作業時,即可填寫表單,系統會進行必要的檢查工作。 * 本課程鼓勵學員相互觀摩,從而進行良性互動及批評,但要注意以下: * 當你參照其他學員作業的材料時,應該指明出處並加上對應的超連結 * 善用 HackMD 的留言功能,在其他學員的筆記內文,留下你的想法、指出錯誤,和提及你對此的改進等等 * 截止日期: * Mar 11, 2025 (含) 之前 * 越早在 HackMD 上有動態並持續改進者,評分越高