做完了,不等於拿得出來

通用篇把專題的完成度分成三層,最上面一層是「留下別人能檢查的東西」。理工專題最常卡的就是這一層:研究其實做了,但成果的狀態只有自己看得懂。常見的情況是:

  • 數據散在實驗室電腦、自己的筆電和雲端硬碟,檔名是 final2_new.xlsx,不確定哪一份是最後用的。
  • 圖表是在試算表裡手動調出來的,數據一改就得重畫一次,沒人知道上次是怎麼調的。
  • 程式只在自己的電腦上跑得動,換一台就缺套件、路徑錯誤,或者其實是改學長姐留下的程式,分不清哪幾行是自己寫的。
  • 技術報告只有期末發表的簡報,沒有一份完整說明方法與結果的文字版。

這些問題到大四整理備審時才處理,往往要花上好幾週,而且有些已經救不回來——原始數據被覆蓋、實驗條件想不起來。什麼時候該做到哪一步,理工推甄時程已經排好;怎麼把成果寫進 CV、講出個人貢獻,見理工備審怎麼寫。這篇只處理中間那一段:成果本身,怎麼在做的當下就整理到可以展示。

數據與圖表:從原始檔到一張站得住的圖

一張能在書審與口試裡站得住的圖,背後要有一條完整的路:原始數據 → 處理步驟 → 圖。這條路任何一段斷掉,被追問時就說不清楚。

原始數據永遠不覆蓋。 儀器輸出、量測紀錄、下載的資料集,原封不動放在一個只讀的資料夾裡。所有清理、轉換、篩選都另存新檔,檔名或資料夾標上日期與處理階段。這樣任何時候都能回到起點。

每批數據附一份說明。 幾行文字就夠:什麼時候量的、用哪台儀器或哪個資料來源、主要參數設定、每個欄位的意思與單位、有沒有已知的問題(例如某天儀器不穩)。半年後你自己會感謝這份說明。

處理步驟寫成程式或明確的紀錄。 能用腳本處理就用腳本,因為腳本本身就是紀錄;必須手動處理的部分(例如人工剔除異常值),要寫下剔除了哪些、依據什麼標準。

圖表由程式產生,不在試算表裡手調。 同一份數據、同一支程式,每次都畫出同一張圖。整理圖表時可以對照下面幾個常見問題:

常見問題教授看到會怎麼想怎麼補
座標軸沒有單位或標示不清不確定你知道自己在量什麼每個軸都寫物理量與單位
沒有誤差範圍或樣本數不知道結果穩不穩標出誤差棒或信賴區間,圖說寫明 n
圖說只有標題要靠你在場解釋才看得懂圖說寫清楚條件與這張圖要說明的一件事
只放最好看的那一組懷疑還有沒放出來的全部組別都放,或說明排除的理由
一張圖塞太多條線看不出你要比較什麼拆成兩張,或只留主要比較對象

最後一列牽涉到學術倫理:只挑好看的結果、不交代其他次數,屬於選擇性報告。數據怎麼來、怎麼處理、排除了什麼,都要誠實可追溯,教育部臺灣學術倫理教育資源中心有完整的課程與案例,做專題時就值得先看過。

程式碼:從自己跑得動到別人跑得動

README 該寫什麼、commit 訊息怎麼寫,站上已經有完整說明(見README 怎麼寫與Git 版本管理入門),這裡不重複。研究用的程式比一般作品多了幾件要交代的事:

  • 環境:用哪個語言版本、哪些套件與版本。把套件清單存成一個檔案(例如 Python 的 requirements.txt 或 conda 的環境檔),別人才裝得出同樣的環境。
  • 參數集中管理:實驗參數、檔案路徑、超參數不要散在程式各處,集中在一個設定檔或程式開頭。報告裡寫的每一組參數,都要找得到對應的設定。
  • 隨機種子:用到隨機抽樣、模型初始化、資料切分的程式,固定隨機種子並寫進紀錄,否則同一支程式跑兩次結果不同,你自己也無法重現。
  • 一支重畫所有圖的腳本:從處理好的數據到報告裡的每一張圖,用一支腳本全部產生。之後數據更新或要改圖的格式,只要重跑一次。
  • 標清楚哪些是你寫的:理工專題常常是在學長姐或實驗室既有的程式上延伸。在 README 或程式註解裡寫明哪些模組沿用、哪些是你新寫或改寫的。這不只是誠實,也是之後被問「你負責哪裡」時最好的依據。

程式碼要不要公開,先問指導老師。實驗室的程式與數據可能牽涉未發表的研究或合作單位,不能公開時可以用私人倉庫保存,或把你寫的部分換成公開資料做一個簡化版。

數據、程式散在好幾個地方,不知道從哪裡開始整理?和 TBD 顧問一起盤點你的專題成果 →

技術報告:每一節要回答什麼

期末簡報是為了現場講而做的,離開講者就很難讀懂。技術報告則要能自己站得住:教授在書審時翻到附件,不需要你在旁邊解釋。一份理工專題的技術報告,可以照這個結構寫:

段落要回答的問題常見缺漏
摘要做了什麼、怎麼做、得到什麼只寫動機,沒寫結果
背景與問題為什麼要做、具體要回答哪個問題背景寫很長,問題一句帶過
方法用什麼材料、設備、資料、演算法,步驟與參數寫得不夠細,別人無法照著重做
結果量到或算出了什麼,用圖表呈現結果和解讀混在一起
討論與限制結果代表什麼、和預期或文獻差在哪、有哪些限制只寫優點,不寫限制
未來工作如果繼續做,下一步是什麼寫成空泛的「可應用於更多領域」
附錄完整參數、補充圖表、程式或資料位置沒有,或與正文對不上

兩個原則最常被忽略。第一,方法段要寫到別人能照著重做——這是技術報告和心得報告最大的差別。第二,結果和解讀分開寫:結果段只說看到了什麼,為什麼會這樣留到討論段。分開寫,教授才分得出哪些是數據、哪些是你的推論。

報告也要留版本。每次給指導老師看的版本、老師的修改意見,都另存一份。被改掉的段落,常常就是口試時「我原本以為……後來發現……」的素材。

可重現性:自己先重跑一次

檢查成果是不是真的可展示,最直接的方法是自己先重現一次:隔一段時間(例如三個月後,或學期結束時),從原始數據開始,照著自己的紀錄與程式,一路做到最後的圖表,看能不能完全對上。更嚴格的版本,是請同實驗室的同學在他的電腦上照著 README 做一次。

第一次這樣做的人,通常會發現幾件事:某個處理步驟沒寫下來、某個套件版本已經更新導致結果不同、某張圖其實是另一份數據畫的。這些在大三發現都還來得及補;到大四口試前一週才發現,就只能祈禱沒被問到。

不同類型的專題,可重現要記錄的東西不一樣:

  • 實驗量測:實驗條件(溫度、濕度、校正紀錄)、樣品批號與製備步驟、儀器設定,最好拍下實驗架設的照片。
  • 模擬計算:模擬軟體與版本、網格或模型設定、邊界條件、收斂標準,以及跑一次需要的時間與資源。
  • 程式與資料分析:資料版本與來源、環境與套件版本、隨機種子、從原始資料到結果的執行順序。
  • 硬體實作:電路圖或設計檔的版本、元件型號、韌體版本、測試方法與條件。

可重現不只是為了展示,也是研究能力本身。研究所教授收學生,很在意這個學生做出來的東西,換個人接手還能不能繼續用。

四種專題的展示重點

不同類型的專題,最後拿得出來的東西不一樣,最容易缺的也不一樣。可以先判斷自己的專題屬於哪一種,再對照補齊:

專題類型核心產出適合的展示形式最容易缺的
實驗量測型量測數據、樣品、分析圖表技術報告+關鍵圖表+實驗架設照片實驗條件紀錄、重複次數
模擬計算型模型設定、模擬結果、與理論或實驗的比對技術報告+參數表+結果圖收斂與驗證的證據
軟體系統型程式碼、可運作的系統整理過的倉庫+README+操作影片或截圖測試結果、效能數據
硬體實作型實體裝置、電路或機構設計示範影片+設計檔+測試數據設計取捨的紀錄、失敗版本

軟體與硬體型的專題,一段一兩分鐘的示範影片很值得做:教授不需要安裝任何東西就能看到系統真的在運作。影片不用剪得漂亮,清楚展示輸入、運作過程與輸出就好。

這些產出整理好之後,口試時常被指著圖表追問「這為什麼長這樣」,那部分的準備方式見理工口試怎麼準備。

成果可展示檢核

共 9 項

勾不到的項目,越早補越省力。這些整理工作在做專題的當下順手做,每次只多花十幾分鐘;拖到大四一次補,常常要花上好幾週,而且有些東西已經找不回來。