2019年1月18日 星期五

青島大學OnlineJudge線上評測系統

OnlineJudge顧名思義,

是一個線上評測系統,

給誰使用的呢?

這是專為程式設計所做的驗證評測系統,

利用各式不同的題型,

驗證程式輸出輸入藉以判別學習者所建立的程式碼是否正確,

並根據設定給予分數

今天就以

青島大學OnlineJudge線上評測系統


作為範例做一個介紹


青島大學的OnlineJudge

主要有幾個特色:


  • Docker一鍵部署
  • 前後端分離
  • ACM/OI兩種模式
  • 多語言支持(C , Python, Java)


前端為Vue.js,

後端為Django,

程式碼開源,

附上官方網站

執行的畫面如下:

線上題型可自行設計


點進來可以看到問題的描述,

以及解題的一些提示,

右側顯示此題目的相關限制,

例如記憶體限制, 難度等等,

底下還有個正確率與錯誤率的圓餅圖,

只要有作答該圓餅圖就會即時更新


也可以點進狀態查詢各個提交答案的狀況,

官方網站將這些狀態的簡單說明也放在About /Judger中


 不囉嗦,

馬上新增一個題目,

輸入問題標題與描述之後,


接著設定程式記憶體限制,

以什麼程式語言做測試,

輸入輸出格式的範例,



接著選擇試題的類型ACM/OI,

當然還有最重要的輸出輸入範例檔,


如何建立正確的輸出輸入檔呢?

首先以記事本輸入輸入資料,

並命名為 1.in


接著到Python主控台打上

python 1.py > 1.out
這命令的意思是將1.py執行的結果存到1.out


接著將 1.out    ,   1.in 壓縮成zip,

利用testcase上傳按鈕,

傳到伺服器上



就能夠在線上

直接根據設定的語言進行解題

提交以後,

伺服器會根據testcase與設定的score進行給分




OnlineJudge   線上評測系統,

除了可用來批改程式作業以外,

也能以比賽的模式方式進行,

在限定的時間內完成解題

沒有留言: