研究參與
研究開始前,請主動選擇是否參與
只有在參與者主動同意加入這項學術研究後,客戶端才會建立模擬器工作階段或玩家識別碼。
必要研究資料
用於重播、評分及分析的 Blockly 程式 IR、挑戰版本、分數,以及必要的技術工作階段或提交識別碼。
選填背景資料
主要語言只記錄為 zh、en 等粗略代碼;UTC 偏移只記錄目前分鐘數。「參與學術研究」預設開啟兩項,也可在「更多設定」中分別關閉。
不會主動收集
不收集瀏覽器指紋、精確 IANA 時區名稱、推斷位置、廣告識別碼或跨網站追蹤檔案。
資料匿名程度
研究記錄可能留有工作階段識別碼,伺服器也會保存例行安全日誌。因此,這些資料雖經去識別化處理,但並非完全匿名。
問題界定
兩個問題,一套系統
教學
全班只能按同一進度學習
硬體成本與監督需求限制了機器人教學,課堂往往只能採用統一的固定進度。但學生的學習速度各不相同,這種落差會同時影響進度較快與較慢的學生。
測量
編程能力難以量化評分
程式不同於選擇題答案:作答空間是開放的,結果也是連續值。標準適性測驗並不以這兩項為前提,因此必須調整後才能衡量程式設計表現。
研究貢獻
本研究的新意
- 01
從生成式題庫中自適應選題
挑戰並非來自固定清單。題族先生成並校準候選題,再用 Fisher 資訊量選擇適合目前能力估計的題目,因此題庫無需逐題手工編寫也能擴充。
- 02
保證可解的生成題目
程序生成與可達性存在衝突:外觀看似合理的目標也可能無法到達。每個候選題在發布前都必須先求解,把「希望可解」變成明確前提。
- 03
在二分估計器中使用連續分數
編程表現是連續值,但現有估計器並非如此。系統圍繞每題的精熟門檻進行保序映射,同時保留原始分數供分析。
- 04
以確定性保障公平
伺服器重播每個程式,並根據關節行程估算時間。客戶端硬體不會改變結果,這是分數用於競賽或診斷的必要條件。
方法
自適應層的建構方式
每次嘗試後,平台都會重新估計學習表現並配對下一項挑戰。輕鬆完成便提高難度;遇到困難則降低一步。每名學生都有自己的學習級別。
模型
雙參數 Logistic 模型
模型使用 logit 尺度上的能力 θ、題目難度 b 與鑑別度 a。猜測參數固定為零:作答內容是程式,不是選項,因此不存在猜中的情況。再估計第三個參數只會擬合雜訊。
作答
程式就是作答內容
伺服器會重放學習者的程式中介表示並評分。標準化分數以題目的掌握門檻 τ 為中心重新映射,使「高於 τ」與「已掌握」一致,再交給估計器;原始分數另行保存。
選題
先看資訊量,再控制曝光率
候選題先依目前 θ 下的資訊量排序,再限制曝光次數。因此,相同程度的學習者不會總是收到相同題目,題庫也不會因少數題目而過度消耗。
生成
難度是生成目標,而不是事後結果
題目族使用淨空、可達性負荷、預算壓力與迴圈結構等特徵預測難度。每個候選題都依目標難度 b 求解;若參考求解器找不到解,便在生成階段淘汰。
校準
取得足夠證據前均屬暫定
新題先進入試用狀態:限制曝光量,也不計入正式的能力更新。收集到作答後,在 θ 固定為後驗平均值的條件下,以邊際概似的牛頓迭代重新擬合難度。
此版本把能力表示為一個綜合 θ,並在每次作答中記錄向度標籤,用於報告。真正的多向度模型是後續工作,並非本版本所作的主張。
效度
無人能完成的題目無法測量能力
先畫出目標髮型,再期待機械臂能夠到達,並不可行。早期有一道挑戰要求剪除 91 塊頭髮,但機械臂只能觸及 20 塊。任務根本無法完成,關卡卻沒有給出任何提示。
現在會先執行求解器。候選目標先在無碰撞關節空間中掃掠,再交給參考求解器;無法完成的目標會在生成階段淘汰,絕不提供給學習者。求得的解同時作為關卡的參考成本與參考時間。
可達集合由工具在無碰撞關節空間中掃掠時能接觸的所有體素組成。由於這項計算成本較高,系統只計算一次並快取為測試固定資料。測試再確認參考解可以重播,且沒有目標落在不可達區域。
促成這項設計的失敗案例
學習者可能把這種結構上的不可能誤以為是自己的失敗,而能力估計又會把這次失敗當成依據。
可重現性
結果取決於什麼
確定性生成
髮型生成是挑戰設定的純函式。同一設定永遠產生順序完全相同的體素集合,整個流程不含隨機因素。
伺服器端重播
競賽成績來自服務端重播提交的程式,絕不採用瀏覽器回報的數字。
使用估算時間,而非實測時間
執行時間依關節行程與設定速度計算,因此它取決於程式,而不是執行程式的裝置。
固定的傳輸契約
應用程式與服務共用相同的評分與程式類型。協定變更只做增量擴充,因此舊版用戶端仍可繼續使用。
其他網站