競賽舉辦指南
要將一場程式競賽辦好不是一件容易的事,本指南提供一些參考。
出題準備
競賽準備大致上分成幾個階段:
- 尋找出題者
- 各自出題 & 開會配題
- 產測資
- 測題以及補題敘
- 寫題解
- 產參賽者帳號
競賽大約舉辦時間
在開始接下來的流程之前,需要先了解當前要準備的是哪一場比賽,時間大約在什麼時候,如此才能估計每個階段大致要在何時完成。
競賽名稱 | 大約時間 | 競賽時間長度 | 總題數 |
---|---|---|---|
初選 | 9 月中旬 | 3 小時 | 5~6 題 |
複選 | 9 月下旬 | 3~4 小時 | 5~6 題 |
尋找出題者
- 開始時間 : 競賽前 2~3 個月
- 執行時間 : 大約 2 個禮拜,最遲 1 個月
這個階段要到社團詢問大家出題的意願,當前也有出題者的 messenger 以及 Discord 群組可以直接在群組內招募。
通常如果沒有指定出題者,大家很容易就會不在意出題這件事,因此建議都先指定。
各自出題 & 開會配題
- 開始時間 : 競賽前 1~2 個月
- 執行時間 : 大約 1~2 個禮拜
這個階段會請大家各自出題目,還不需要急著產測資,可以多出幾題,最後多出來的題目可以存起來之後使用。
出題期間就可以同步開會配題,一邊出題一邊調整題目的內容。
採用的題目依照該次競賽的難度決定,題數可以參考前面的表格。
最後多出來的題目可以放到 Trello 上,連結在 Discord。
另外,「出題」「產測資」「寫題敘」可以不用全部同個人,拆開分配的話時間較不足的也會比較容易參與。
產測資
- 開始時間 : 競賽前 3~4 個禮拜
- 執行時間 : 大約 1~2 個禮拜
決定好這次要使用的題目後,就可以針對這些題目產測資、新增幾筆子任務。
在這個階段就可以先在 CMS 上建好 Contest,將每題的測資放上去了,接下來進到測題階段也比較方便。
保險起見,題敘建議開賽前再上傳到系統上。
測題以及補題敘
- 開始時間 : 競賽前 1~2 個禮拜
- 執行時間 : 大約 1~2 個禮拜
最後就是測題階段,測題的人請確保不是參賽者,並且不會洩漏題目給參賽者。
這個階段要針對題目測試各種想得到的假解,也測試各個子任務的正確性,並且將題敘各種不清楚或是可能造成誤會的部分修正。
寫題解
- 開始時間 : 競賽前 1 個禮拜
- 執行時間 : 大約 1 個禮拜
這個階段不一定需要,依照各場競賽不同可以討論要不要寫。
部分競賽結束後會有題解時間,因此需要事先寫好題解簡報。
產參賽者帳號
- 開始時間 : 競賽前 1~2 天
- 執行時間 : 大約 1~2 天
最後是產參賽者帳號,可以統一一下帳號的格式,至於密碼可以在網路上找密碼產生器。產出的帳號密碼記得要記錄在非公開的文件上,如果是實體賽,當天記得列印帳號密碼給對應的參賽者。
競賽當天
競賽當天可以大致上分成幾個部分:
- 競賽開始前
- 競賽期間
競賽開始前
在競賽開始前,需要先確認每個參賽者都能登入 CMS,為了公平起見,建議 CMS 比賽開始時間先不要設定在準確的開始時間,確認大家都能登入後再修改回來。
除了確認登入以外,開始前也要向參賽者宣讀競賽規則。
競賽期間
競賽期間要隨時注意有沒有參賽者提出問題。
問題經過判斷如果在題目裡面已經有提到,就不要額外說明,直接說題目裡面已經有提到即可(有常用的回覆選單可以選到)。
反之,如果這個問題關乎題目的正確性,或是會影響題目的可理解性等等,記得要發送 Annoucement。
除了等待參賽者提出問題,比賽現場也需要有人抽樣檢視 submission,確認該 submission 得分是否在預期中。若題敘、測資、題目設定等出現有誤,先發 Annoucement 請大家暫停上傳,儘速修完題目後再開放並 rejudge。
命題相關
請參閱命題指南
系統相關
CMS
TPS
TPS 是一套 IOI-2017 發展出來的命題系統,定義了題目包格式,也提供了很多 script 來幫助出題者方便生測資以及測試。2020年開始的台南一中校內賽也都以這種格式管理題目檔案。