Quest Ladder
TeachFORGE.ai
Quest Ladder / 程式碼執行
程式碼執行題
設定語言、編寫測試用例,讓程式碼按能否執行來評判。
程式碼要麼能跑,要麼不能。這在評分裡是少見的禮物。
是什麼
學習者寫程式碼;程式碼對照測試用例執行;結果決定分數。在「額外設定」中有兩項設定塑造它: 語言,以及 測試用例 從 1 到 6,預設 2。
這是唯一一種錯誤答案能在你不寫任何內容的情況下真正提供資訊的題型——失敗本身就告訴學習者哪個用例沒處理好。
編寫測試用例
兩個用例是預設值,也是有用的最少數量:一個是任何說得通的嘗試都能透過的,一個用來區分真解與猜測。上限是六,上限是有原因的——六個裡錯五個,學到的往往不如只錯那個關鍵用例。
- 第一個用例做成顯而易見的,好讓走在正軌上的學習者得到「你對了」的反饋。
- 做一個邊界用例:空輸入、零、負數、區間邊界。
- 避免只差在規模上的用例。形狀相同、數字更大的測試只是在考耐心。
比較輸出時忽略空白 在正確答案步驟上幾乎總是正確設定。沒有它,末尾換行就會判錯正確程式,學習者無從知道原因。
分值與部分給分
每個測試用例是帶自有分值的槽位,因此 評分模式 設為 加權 對透過的用例給分。處理了正常路徑卻未處理空輸入的解法,仍值得大部分分數。
全有或全無也有用武之地——當題目明確要求 讓所有測試透過 —但作為預設會丟掉該題型最有用的訊號。
它不做的事
測試用例檢查行為,不檢查質量。透過全部測試的程式碼仍可能難讀、該線性卻二次、或硬編碼成期望答案表。
若風格或效率是教學內容,請配一道書面題讓學習者解釋思路,並在 評分佇列中批改。測試管正確性;其餘由你處理。