next up previous contents
Next: 防作弊 Up: 程式線上測驗 Previous: 系統負荷   Contents

程式驗證設計精神

  1. 為使測驗更嚴謹,驗證檔或驗證值不可固定幾組。
  2. 由於驗證值為隨機產生,每一題型就有可能出現不同的情況。
  3. 學生程式有可能在某一情況是對的,但某一情況又是錯的。
  4. 這會造成每次評分結果不會一樣的問題。
  5. 解決此一問題,必須從老師解答的程式著手,但學生的程式千萬種可能,有些題目可以考慮所有狀況都進行驗證,但有些則還是沒有把握完全避免。
  6. 舉以下四題說明:
    1. 去除 AL(al) 字串:隨機產生的字串不同,學生把 l 打成 I,有時可能會對。
    2. 把十進位浮點數換成二進位表示:學生可能只判斷正的浮點數。
    3. 商品盒數:只考慮有解及無解兩種狀況,還是可能出現不同的組合,但答案都吻合,因此比對老師程式及學生程式還是評為錯誤,也有可能學生 for 迴圈累加變數弄錯,在答案為初始值時,驗證仍然正確。
    4. 完美數:只考慮找到及找不到完美數兩種情況,還是可能不足,學生程式因非嚴重錯誤,但語法不準確,效率差,在 timeout 限制下,無法完成。
  7. 結論:只要評分時出現綠紅(對錯)顯示不一致,就表示老師的驗證程式必須再修改,納入學生程式可能的情況。



2018-03-08