系統常見問題 Q&A
本文件整合 Coding Tutor 的使用者與系統說明,涵蓋學生、教師、管理員與 Judge 維運。相同主題已合併為單一答案;點擊問題即可展開,也可直接輸入關鍵字搜尋。
找不到符合的問題,換個關鍵字試試。
帳號與登入共通
Coding Tutor 的定位與核心功能是什麼?
Coding Tutor 是專為程式設計教學打造的學習管理系統,將章節教材、附件、隨堂題庫、正式測驗、程式挑戰、即時評測與學習進度整合在同一平台。教師可建立並重用課程資源、查看全班學習狀態;學生則能在瀏覽器閱讀教材、練習程式並立即取得評測回饋。
系統有哪些角色?各自可以做什麼?
- 學生:選課、閱讀章節、完成隨堂題與正式測驗、提交程式挑戰並查看個人進度。
- 教師:建立自己的課程與章節,管理題庫、測驗、挑戰、選課名單及全班進度。
- 管理員:管理全站帳號、課程與系統功能,並依部署方式管理子站台及 Judge 節點。
教師預覽學生內容時不會把作答記入學生統計;管理員具較高權限,日常操作應使用個人帳號並遵循最小權限原則。
如何登入 Coding Tutor?
支援兩種登入方式:
- 帳號密碼:輸入老師或管理員配發的帳號與密碼。
- Google 帳號一鍵登入:在登入頁點「以 Google 帳號登入」。若學校有設定網域限制,必須使用學校配發的信箱(例如
@whsh.tc.edu.tw)。
第一次登入需要做什麼設定?
系統會引導填寫真實姓名與學號,完成個人資料後才能使用完整功能。若使用學校網域信箱登入,系統會自動解析並預填班級、座號與學號,只需核對正確後按「儲存」即可,不必全部手動輸入。
忘記密碼或沒有帳號怎麼辦?
學生帳號由老師或管理員建立(管理員可用 CSV 名單批次匯入全班帳號)。忘記密碼或需要新帳號時,請聯絡授課老師或系統管理員處理;若學校開放 Google 登入,也可以直接用學校 Google 帳號登入。
網頁字體太小(或太大),可以調整嗎?
可以。頁面右下角有「字體縮放」浮動工具:點「+」放大、「-」縮小、還原鈕重設,範圍 90%~130%、每次調整 10%。設定會自動記住並套用到其他頁面,下次登入不需重調。教師投影教學時也可用此功能放大畫面。
操作上遇到不會用的功能,哪裡有說明?
- 章節頁與程式挑戰頁的角落有浮動的藍色「?」按鈕,點擊可查看當頁功能說明。
- 「說明中心」(docs 目錄首頁)收錄學生手冊、教師手冊、輸入處理指南等完整文件。
課程瀏覽與選課學生
課程有哪幾種加入方式?
共三種報名型態:
- 完全開放:不必登入就能直接瀏覽課程內容。
- 自由選課:登入後在課程列表點「立即參加」即可自行加入。
- 人工選課:由老師把你加入名單後,課程才會出現、才能進入。
為什麼看不到「立即參加」按鈕?
常見原因有四種:
- 該課程是「人工選課」,需等老師將你加入名單。
- 課程尚未到開放時間,或已超過結束日期。
- 課程已額滿。
- 你還沒登入(自由選課需要登入才能加入)。
請先確認登入狀態與課程說明,必要時詢問老師。
已加入的課程要去哪裡看?
登入後,首頁的「我的課程」區塊會固定列出你已加入的所有課程,點擊即可進入課程儀表板。
課程儀表板上有哪些東西?
- 公告區:老師發布的課程消息。
- 完成度進度條:程式挑戰的整體完成百分比。
- 章節列表:每章後方會標示未完成題數的小紅點,全部過關後自動消失。
- 「進入第一節內容」按鈕:直接開啟章節閱讀。
可以退選課程嗎?退選會怎樣?
只有「
自由選課」的課程可以自行退選。
注意:退選後,你在該課程的所有測驗與程式挑戰紀錄會一併刪除且無法復原,請務必謹慎確認。
章節學習與隨堂測驗學生
章節頁面怎麼使用?
左側是章節目錄(依「單元/章節」兩層展開),右側是主要內容,包含講義文字、程式碼範例、圖片與可下載的附件(Word、Excel、PPT、PDF)。圖片太小看不清楚時,直接點擊圖片就會全螢幕放大,按 Esc 或點旁邊空白處即可關閉。
課程內容很多,可以用關鍵字搜尋嗎?
可以。課程頁提供全文檢索:輸入關鍵字即可搜尋本課程所有章節的內容與章節標題,點擊搜尋結果直接跳到對應章節(需登入且已加入課程)。
隨堂測驗有哪些題型?答錯可以重寫嗎?
隨堂測驗穿插在課文中,題型包含單選、多選、填充。送出後系統立刻以顏色顯示對錯,答錯可以重新作答,不限次數,系統會記錄嘗試歷程。
填充題明明寫了正確答案,為什麼判錯?
請依序檢查:
- 大小寫:系統比對填充題答案時不分大小寫(
True 打成 true 也算對),所以大小寫不是判錯原因。
- 空白:多打或少打空白可能判錯;老師可啟用「忽略空白」但不一定有開。
- 填充題可能設有多組標準答案(例如
台北 和 臺北 都算對),符合其中一組即可。
仍有疑問時,請老師確認該題的答案設定。
什麼是「牛刀小試」?和程式挑戰有何不同?
「牛刀小試」是課文中黑底的互動程式碼區塊,可以
直接在網頁上修改程式碼、點「執行程式」,結果馬上顯示在下方的終端機,不必跳轉頁面。
- 牛刀小試:課文內的小練習,隨改隨跑、不計成績,適合邊讀邊驗證觀念。
- 程式挑戰:獨立解題頁面,有隱藏測資評判,提交結果會正式列入紀錄。
正式線上測驗(Quiz)有哪些規則?
- 只能在老師指定的開放時間內進入作答,超過截止時間無法進入。
- 有獨立作答頁面與倒數計時器;計時歸零時系統會自動送出已作答的內容。
- 測驗期間老師可能啟用「鎖定功能」:暫時無法查看章節課文、送出隨堂題答案或進入程式挑戰頁。
- 測驗結束後可查看作答結果與得分。
程式挑戰與判題學生
程式挑戰支援哪些程式語言?
支援 Python、PHP、C、C++、Java 五種語言。編輯器右上角有語言選單可切換(預設為老師指定的語言;老師也可限制該題允許的語言)。編輯器具備語法高亮、自動縮排與括號補全。
「執行測試」和「提交批改」差在哪裡?
- 執行測試(Run):可自行填入「自訂輸入 (stdin)」試跑程式,結果只有自己看得到,不計提交次數、不算成績、老師看不到。適合送出前先驗證。
- 提交批改(Submit):正式交卷。會執行公開測資+隱藏測資,結果與程式碼都會記錄在老師的進度報表中。
另外還有「
語法檢查」按鈕:只掃描語法錯誤(如括號沒關),不執行程式、不判題、不計次數,可在提交前先掃一遍。
怎樣才算「通過」一題?公開測資都對了為什麼還是錯?
必須所有測資(包含你看不到的隱藏測資)全部顯示綠色 Accepted 才算過關。公開測資只是幫助你理解輸入輸出格式;老師另外設有隱藏測資防止硬寫答案,提交時會一起執行,缺一不可。
判題結果的各種狀態代表什麼?
Accepted(綠色):全部測資通過,恭喜過關。
Wrong Answer(紅色):程式有執行,但輸出與預期不符。
Runtime Error:程式執行中發生錯誤(例如除以零、索引超界)。
Time Limit Exceeded:執行逾時,常見於死迴圈或沒有正確處理輸入結尾(EOF)。
Security Violation:程式使用了系統禁止的函式或模組(如執行外部指令、存取檔案系統)。
程式有輸出,為什麼還是 Wrong Answer?
判題是逐字比對,輸出中
多一個空格、少一個換行、大小寫不同都會判錯(系統會自動容忍行末空白與結尾空行,但其餘差異都算錯)。排查步驟:
- 對照題目「預期輸出」與範例測資逐字比對,特別注意空格與換行。
- 看終端機下方的藍色「💡 中文錯誤說明」找線索。
- 先用「語法檢查」掃一遍,再用「執行測試」搭配自訂輸入自行驗證。
出錯時出現的藍色「中文錯誤說明」是什麼?
系統會自動偵測錯誤類型,用繁體中文解釋發生原因與修正方向,涵蓋 Python/C/C++/Java/PHP 數十種常見錯誤。Python 若是變數名稱拼錯,還會以綠色文字顯示「Did you mean ___?」的拼字建議。
題目沒說有幾筆輸入(讀到 EOF),程式該怎麼寫?
核心觀念:
檢查讀取函數的傳回值或狀態,偵測到讀取失敗或檔案結尾就停止迴圈,否則會 Runtime Error 或逾時(TLE)。各語言慣用寫法:
# Python
import sys
for line in sys.stdin:
data = line.strip()
// PHP — 注意要用 !== false,避免讀到 "0" 提前結束
while (($line = fgets(STDIN)) !== false) { $line = trim($line); }
// C++
while (cin >> s) { ... } // 或 while (getline(cin, s))
// Java
while (sc.hasNext()) { String s = sc.next(); }
程式執行有什麼資源限制?
- 執行時間:CPU 時間 5 秒,總時間 8 秒,超過即判
Time Limit Exceeded。
- 記憶體:Python 128MB、PHP 256MB。
- 輸出大小:最大 1MB。
- 禁止執行外部指令、網路連線與任意檔案存取,違反會判
Security Violation 或 Runtime Error。
什麼是「自由發揮題」?沒有測資怎麼算通過?
自由發揮題是不比對輸出的開放式題目(例如「寫一支自我介紹的程式」)。提交後只要程式能成功執行、沒有錯誤,就算完成挑戰,不需要對應任何測資的預期輸出。
成績與進度查詢學生
怎麼看自己的整體學習進度?
課程儀表板頂部有程式挑戰的完成度百分比進度條;左側章節列表每章後方的小紅點標示未完成題數,全數過關後自動消失。挑戰頁左側題目列表也會顯示各題的提交次數與最近一次結果圖示。
哪裡可以查詢每一題的作答紀錄與成績?
- 程式挑戰明細:課程頁點入後可查看每題狀態(已通過/嘗試中/尚未挑戰)、挑戰次數與最後活動時間。
- 題庫練習明細:查看各章節隨堂題的過關狀況與嘗試次數,未過關的題目可點「前往練習」直接跳到該章節位置。
提交紀錄會保留多久?
一般課程的提交歷程都會保留、可隨時回顧。但公開課程可能設有資料保留天數(例如 30 天),超過期限的挑戰紀錄可能不再保留,建議及早完成關鍵題目並自行整理解題筆記。
課程建立與章節管理教師
如何建立一門新課程?可以設定哪些項目?
在教師儀表板點「
新增課程」,填寫課程名稱、課程簡介與開放區間。課程可設定:
- 報名型態:完全開放/自由選課/人工選課(三選一)。
- 開放區間:起訖日期,到期後學生自動無法進入。
- 隱藏狀態:可隨時把課程隱藏起來。
建立後可在課程管理頁左側側欄隨時修改名稱與簡介。
三種報名型態該怎麼選?
- 完全開放:教材公開展示、免登入瀏覽,適合示範或宣傳課程。
- 自由選課:學生登入後自行一鍵加選,適合開放報名的選修課。
- 人工選課:由老師指定名單加入,適合正式班級課程,名單最可控。
學生反映看不到課程,該怎麼排查?
- 檢查課程是否在開放日期區間內(過期會自動關閉)。
- 確認課程是否被設為隱藏。
- 若是「人工選課」,確認已把該學生加入選課名單。
每學期開新班,課程可以整份複製嗎?
可以。在儀表板點課程的「複製」按鈕即可一鍵複製整門課程,內容包含章節結構、測驗題目、程式挑戰與實體附件檔案。附件與圖片採「課程 ID 隔離」存放,複製時會同步搬移實體檔案,確保新課程的連結不會失效。若要把課程帶到其他站台,可洽管理員使用「課程打包匯出/完整課程匯入」(加密 ZIP),也支援課程擁有權轉移給其他老師。若是想把課程分享給校內其他老師,請參考下一題的「深層複製」。
老師之間要如何共享課程?
由
管理員執行「
深層複製」。管理員在後台「課程管理」點選該課程的「
深層複製」按鈕,輸入新課程名稱並
指定目標教師,系統會建立一份完整的獨立副本,包含:
- 章節結構與教材內容(含草稿與預定發布設定)
- 課程中使用到的題庫題目與分類
- 程式挑戰(含全部測資)與挑戰分類
- 測驗卷(含題目組成、配分與考試設定)
- 附件與圖片實體檔案(同步複製到新課程的隔離目錄)
副本的擁有權會直接歸屬目標老師,之後雙方
各自維護、互不影響。若只想分享零散的題目而非整門課,可改用題庫的「
分享到共用題庫」功能;要分享到
其他學校站台則使用「課程打包匯出/完整課程匯入」。
一門課可以讓多位老師一起編輯嗎?
可以。課程擁有者在「
課程設定」的「共編老師」區塊加入其他老師後,對方即可編輯章節、綁定題目與挑戰、管理測驗、選課名單與進度追蹤,並以預覽模式瀏覽課程。
- 只有擁有者能做:改報名型態/開放日期/隱藏、刪除/封存/複製/轉移課程、管理共編名單。
- 題庫各自擁有:共編者可綁定自己的題目、共用題庫的題目,或本課程已在用的題目,但不能修改別人的題目;要改就複製到自己的題庫再換綁。
- 任何共編者都可以移除章節裡的任何綁定(列表會顯示「由 X 老師加入」);移除只解除連結,題目與學生作答紀錄都不會刪。
- 刪題保護:題目若被其他老師的課程使用,系統會禁止刪除並列出是哪些課程,請先請對方解除引用。
章節怎麼組織與排序?可以先寫好不公開嗎?
章節支援「單元(章)/章節(節)」兩層結構,學生端以側邊欄手風琴導覽。調整順序直接拖曳列表項目即可。尚未完成的教材可設為「草稿」,或設定「預定發布時間」讓系統排程自動公開。
章節課文編輯器有哪些功能?
使用 TinyMCE 富文本編輯器,可插入文字、圖片與多語言語法上色的程式碼區塊,工具列可收合增加編輯空間。課文中還能直接嵌入互動元素:
- 題庫測驗題(單選/多選/填充)穿插在課文中。
- 程式挑戰連結。
- 牛刀小試互動程式碼區塊(具自動防呆,避免無窮迴圈卡住瀏覽器)。
嵌入方式為短代碼:在課文任意位置插入 [question:題目ID] 或 [challenge:挑戰ID],題目就會渲染在該段落;已綁定章節但未嵌入課文的題目,會自動列在章節末尾。刪除或解除綁定題目時,系統會自動清除課文中的對應短代碼。
章節附件有什麼限制?
支援 doc / docx / xls / xlsx / ppt / pptx / pdf 格式;每章最多 3 個附件,單檔上限 10 MB。學生可直接在課程頁下載。
單一章節可以複製嗎?可以複製到其他課程嗎?
可以。章節複製支援「選擇目標課程與上層章節」:切換目標課程時會自動載入該課程的主章節清單,可把整節內容跨課程掛載為子章節。複製出的新章節會自動排在目標層級的最後一位,之後再用拖曳調整順序即可。
課程講義可以匯出成 PDF 電子書嗎?
可以。課程管理提供「PDF 匯出」功能,以背景任務方式將章節講義整理成 PDF(含進度顯示,不必停留等待),可作為課程專屬電子書留存或提供學生離線閱讀。教材隨時增修後可重新匯出,讓講義保持最新版本。
題庫與測驗管理教師
題庫支援哪些題型?
四種:單選、多選、填充、牛刀小試(程式執行題)。填充題可設定多組相容答案(例如 台北/臺北 都算對),並可勾選「忽略空白」;系統比對答案時一律不分大小寫。
題目多了怎麼分類與查找?
在「題庫與多元評量管理」可建立分類資料夾(新增/重命名/刪除,支援拖曳排序);右側搜尋欄可輸入關鍵字過濾;列表支援分頁(每頁 10/20/30 題)。同一題可跨多個章節重複綁定使用。勾選多題後會浮現批次工具列:批次移動分類、批次刪除、批次複製、批次切換共享狀態。
可以使用其他老師的題目嗎?
可以。老師可將自己的題目設為「分享到共用題庫」,其他老師在「共用題庫」分頁即可瀏覽並複製到自己的題庫後使用、修改。
如何大量匯入/匯出題目?
- GIFT 格式匯入:支援標準 Moodle GIFT 格式批次匯入,含程式碼區塊的題目也能正確解析。
- ZIP 打包匯出/匯入:可將選定題目連同圖片附件打包為 ZIP;匯入時先顯示「分析預覽」(各分類與題數),確認無誤才正式匯入,圖片會自動改名並還原路徑,可選擇匯入到指定分類或保留原分類結構。
我的題目是從其他題庫匯出的 Word 檔,該如何匯入?
Coding Tutor 目前
不能直接匯入 .doc/.docx,但可以先把 Word 題目轉換成
Moodle GIFT 純文字格式,再從「教師後台 → 題庫與多元評量管理 → 匯入 GIFT」批次匯入。
建議流程:
- 先備份原始 Word,確認每題的題幹、選項、正確答案與分類都清楚。
- 將 Word 內容貼給可讀取文件的 AI,或上傳檔案,請 AI 只做格式轉換,不要改寫題意或自行補答案。
- 把 AI 產生的內容貼到純文字編輯器,以 UTF-8 編碼儲存成
.txt;不要直接把 Word 檔副檔名改成 .txt。
- 在題庫頁按「匯入 GIFT」,選擇目標分類與文字檔後匯入。
- 先用 3~5 題小量測試;確認題型、選項與答案正確後,再匯入整份題庫。
可直接提供給 AI 的提示詞:
請將這份 Word 題庫轉換成 Coding Tutor 可匯入的 Moodle GIFT 格式。請完整保留原題意、題號、選項與正確答案,不要自行新增、刪除、改寫題目或猜測缺少的答案。每題使用 ::題號或標題::題幹{答案},正確選項前加 =,錯誤選項前加 ~,多個可接受的填充答案都以 = 列出。每題之間留一個空白行;可依章節加入 $CATEGORY: 分類名稱。只輸出 GIFT 純文字,不要 Markdown 程式碼框、說明文字或項目編號。若題幹或程式碼本身含大括號,請將 {、} 分別轉成 HTML 實體 {、}。無法確定答案時不要產生該題的 GIFT,改以 // 需人工確認:題號與原因 註解列在檔案最後,不要猜答案。
簡單範例:
$CATEGORY: Python 基礎
::Q001::Python 用來定義函式的關鍵字是?{=def}
::Q002::下列哪些是 Python 內建容器型別?{=list =dict ~printf ~scanf}
::Q003::串列索引從哪一個數字開始?{=0 ~1 ~-1 ~2}
匯入前務必人工複核:AI 可能誤判正確答案、把複選題轉成單選題,或破壞程式碼、公式、表格與特殊符號。Word 內的圖片不會隨 GIFT 文字自動匯入,請先另存圖片,匯入完成後再進入題目編輯器補上。含學生姓名、成績或其他個資的文件,不應上傳至未經學校核准的 AI 服務。
題目建好了,為什麼章節裡沒出現?
題庫題與程式挑戰都需要另外綁定章節——單純在題庫建立不會自動出現在課程中。請在章節編輯頁把題目「掛入」指定章節(建議每節搭配 3~5 題隨堂測驗)。
如何建立正式測驗(Quiz)?可以設定哪些規則?
在教師儀表板進入「
測驗管理」建立獨立於章節之外的正式評量,可設定:
- 開放起訖時間:學生只能在指定時段進入。
- 作答時限:倒數計時,超時自動交卷。
- 混合題型:可加入題庫的填充/單選/多選題,以及程式挑戰題。
- 逐題配分:每一題可個別設定分數,系統依配分自動計算總分。
- 成績與答案顯示控制:可分別設定交卷後是否立即顯示分數、是否公開答案詳解。
測驗結束後在「測驗結果」頁可查看每位學生的詳細作答與得分,系統自動計算總分。
注意:一旦有學生開始作答,該測驗即無法再新增、刪除題目或修改配分,請在開放前確認卷面。
測驗有防作弊機制嗎?
有。測驗可啟用「
監控鎖定」,作答期間針對同課程封鎖四種行為:
- 鎖定章節內容(無法翻閱課文)。
- 鎖定題庫答案送出(隨堂題無法提交)。
- 鎖定牛刀小試執行。
- 鎖定程式挑戰頁面(無法進入獨立挑戰頁)。
四個旗標可依需求個別開關。
測驗可以複製嗎?
可以。在「測驗管理」列表點該測驗的「複製測驗」按鈕,會開啟對話框讓你選擇要複製到哪一門課程並輸入新標題(留空則自動加上「複製 - 」前綴),適合把同一份考卷發到不同班級的課程。
程式挑戰設計教師
建立程式挑戰題可以設定哪些項目?
標題、難度(供分類篩選)、題目說明(TinyMCE 富文本,可插入程式碼與圖片)、公開範例測資與隱藏測資(各可多組)、允許的程式語言(Python/PHP/C/C++/Java 可個別指定)、所屬分類。
公開測資與隱藏測資有什麼差別?
公開測資學生看得到,用來理解輸入輸出格式;隱藏測資學生看不到,提交時才執行,用來防止硬編(hardcode)答案。學生必須全部通過(含隱藏)才算 Accepted。建議公開測資示範清楚的輸出格式,隱藏測資涵蓋邊界條件。
「自由發揮題」怎麼設定?
在挑戰題編輯頁勾選「設為『自由發揮題』」開關即可。勾選後不必輸入測資與預期輸出,學生提交後只要程式能執行、沒有錯誤就算完成挑戰。適合開放式創作題(如自我介紹程式、自訂圖案輸出)。
挑戰題可以批次管理嗎?綁定章節有什麼限制?
在「程式挑戰管理」勾選多題後,浮現的工具列可
批次複製、批次移動分類、批次刪除、批次加入章節(樹狀章節導覽介面,可直接把題目分配到不同課程的特定單元)。
限制:同一門課程中,每一題挑戰只能加入一個章節。
學生一直 Wrong Answer,教學上怎麼協助?
最常見原因是輸出格式問題(多餘空白、缺換行、邊界條件)。建議:
- 用公開測資示範正確輸出格式與除錯流程。
- 提醒學生善用「語法檢查」與「執行測試」(皆不計次數)先自行驗證。
- 讀取不定筆數輸入的題目,先帶學生看《輸入處理指南》的 EOF 寫法。
什麼是「即時教學實驗室(Live Lab)」?
教師儀表板的「即時實驗室」讓你直接在瀏覽器現場示範程式:支援 Python/PHP/C/C++/Java 五種語言、語法高亮、stdin 標準輸入模擬,點「執行」後結果即時顯示在右側終端機。課堂上不必安裝任何開發工具。
學生管理與成績追蹤教師
如何把學生加入課程名單?
課程的「選課名單管理」支援:依班級篩選或關鍵字搜尋學生、勾選多名學生批次加入、建課時指定班級自動批次加選。名單會顯示班級、座號、學號,也可隨時單筆移除。(全校學生帳號的批次建立由管理員以 CSV 匯入。)
怎麼看全班的程式挑戰進度?
課程管理頁點「程式挑戰進度」,以「學生(列)× 挑戰(欄)」矩陣呈現:每格顯示狀態(已通過/提交未通過/尚未作答)、挑戰次數與最後提交時間;點擊任一格可彈出該學生最後一次提交的程式碼(語法高亮)。右上角「匯出 Excel (CSV)」可下載全班報表(UTF-8 BOM,Excel 直接開啟不亂碼),含各題作答狀況、完成題數與總進度百分比。
隨堂測驗(題庫練習)也能追蹤全班狀況嗎?
可以。「全班題庫隨堂練習進度總覽」以全螢幕格點矩陣顯示:綠色=答對、紅色=嘗試中、灰色=未練習,題目按章節分組統計,並可一鍵匯出 CSV(含正確率與嘗試次數),方便納入平時成績。
上課時如何即時看到學生的解題狀況?
課程管理頁進入「即時追蹤」:左欄列出本課程所有挑戰題,點選一題後,中欄把學生分為「已通過」與「尚未通過」兩份名單(含提交次數與時間);點任一學生,右側立即顯示其最新提交的程式碼並自動語法上色。頁面每分鐘自動刷新,適合投影到大螢幕現場講評。
怎麼找出長期沒上線的學生?
課程管理頁的「學生登入統計」報表包含:最後登入時間、最後提交時間、近四週各週登入次數(W1~W4 分週統計),資料按班級與座號排序,方便找出需要提醒或補救教學的學生。
一個教學單元的建議準備流程是什麼?
標準五步驟:
- 建立框架:新增課程 → 選報名型態 → 建立單元與章節、設定開放區間。
- 準備教材:編輯章節內容 → 上傳講義附件 → 草稿或排程發布。
- 建立題庫:新增分類 → 出題(或 GIFT 匯入)→ 綁定章節(建議每節 3~5 題)。
- 設計挑戰:撰寫題目與公開/隱藏測資 → 設定允許語言 → 綁定章節(建議 1~2 題)。
- 課中課後:課堂開「即時追蹤」現場講評,課後匯出 CSV 安排補救教學。
正式測驗與常見問題排除共通
測驗中的程式題要如何作答與計分?
點擊程式題的作答按鈕後,系統會在新分頁開啟專用編輯器。完成程式後使用「提交批改」,系統會採計該題最後一次成功提交的結果;回到原測驗頁確認其他題目後,再提交整份測驗。正式測驗環境可能不提供自訂測試執行,也可能遮蔽測資與詳細錯誤輸出,這是正常的防弊設定。
交卷後為什麼看不到分數、題目或答案詳解?
教師可設定是否立即公布成績,以及是否顯示題目、答案與作答明細。因此看到「測驗已成功提交,但暫不顯示成績」不代表提交失敗,請依教師公告等待公布。
系統顯示「測驗期間功能已關閉」或「挑戰已鎖定」是故障嗎?
通常不是。正式測驗進行期間,系統可鎖定課程內容、章節題庫答案、牛刀小試及一般挑戰,避免從教材取得提示。學生應回到正在進行的測驗完成交卷;若已交卷仍持續鎖定,請把畫面訊息與發生時間回報教師。
按鈕沒有反應、內容未更新或提交卡住,該怎麼辦?
- 先等待目前的上傳或評測完成,避免連續重複點擊。
- 確認網路連線後重新整理,再檢查資料是否已成功儲存。
- 改用最新版 Chrome、Edge、Firefox 或 Safari,並暫時停用會攔截腳本的擴充套件。
- 仍無法排除時,記下時間、課程/章節/題目名稱、錯誤訊息與操作步驟,連同截圖交給教師或管理員。
教師預覽學生頁面時,會留下作答紀錄嗎?
不會。教師或管理員進入章節與挑戰時會顯示「預覽模式」,練習結果與挑戰提交次數不會記入學生統計。若要驗證完整學生權限、選課及測驗限制,建議另用測試學生帳號。
如何匯入 ZeroJudge 題目或分享整批挑戰題?
挑戰庫可匯入 ZeroJudge JSON,系統會整理題目段落、映射程式語言並解析公開/隱藏測資。也可將多題連同圖片與測資打包為 ZIP,再於另一站台匯入。完成後仍應人工檢查 HTML 排版、圖片、語言、測資配對及參考答案。
管理員與部署管理
管理員如何批次匯入學生帳號?
進入管理後台的使用者管理,使用 CSV 匯入功能批次建立學生。檔案應依頁面範例準備帳號、姓名、班級、座號與學號等欄位;正式匯入前先用少量測試資料確認編碼及欄位順序。匯入後應抽查登入與學生資料是否正確。
判題的中文「錯誤說明」內容可以自訂嗎?
可以。管理後台的「錯誤提示規則管理」讓管理員以正規表示式(Regex)比對編譯/執行錯誤訊息(如 Python IndentationError、C++ 連結錯誤、IndexError 等),為每條規則設定中文「錯誤說明」與「檢查步驟」,並可調整比對的優先順序。學生觸發對應錯誤時,就會在評測結果下方看到這些客製化的繁中除錯指引。
學校需要自行安裝或維護主機嗎?
不需要。本平台採廠商代管模式:由合作廠商為各校建置獨立站台並負責主機維運與系統更新,學校只需使用瀏覽器登入即可。帳號開通、站台設定等需求請聯絡代管廠商窗口。
什麼是多站台架構與 Hub 管理中心?
多站台模式讓單一程式碼基底服務多個獨立子站台,各站可使用獨立資料庫、上傳目錄與 Session。Hub 可透過 API 集中取得站台狀態、統計、課程匯入匯出與更新資訊。主站管理員可在「子網站管理」使用免密碼進入子站後台(單次有效權杖 SSO),快速切換管理任一子站;也可用 scripts/sync_all_sites.php 一鍵同步主站與所有子站的資料庫結構。跨站管理前應妥善保護 API Token,並確認子站 Slug、資料庫與檔案目錄的隔離設定。
Online Judge 與系統維運技術
分散式 Docker Judge 為什麼能降低多人同時提交造成的延遲?
Coding Tutor 將課程網站與 Judge 評測引擎解耦:教材瀏覽、帳號與成績管理由 LMS 處理,CPU/記憶體密集的編譯與執行則交給獨立 Docker Node。節點可部署在不同伺服器並隨需求增加,系統支援循序、Round Robin 及依目前連線數/權重的負載導向策略。若某節點無回應,會標記離線並嘗試其他節點;全部外部節點失效時可降級至本機 Judge。因此單一節點故障時,使用者重新提交仍可由其他節點接手評分,也能降低評測尖峰拖慢 LMS 的風險。
系統的 Judge 沙箱如何保護主機?
預設模型包含兩層防護:語言層限制危險模組與函式,OS 層再以 ulimit 與 timeout 限制 CPU、記憶體、檔案輸出與執行時間。這能降低一般教學程式的風險,但不等同完整虛擬機隔離;對不受信任程式碼要求較高的環境,應使用容器化 Judge 並搭配網路與權限隔離。
容器化 Judge 與預設沙箱有何差別?
Podman/Docker 模式可利用獨立 PID 與網路命名空間、唯讀根檔案系統、cgroup 記憶體/CPU 限制、行程數限制及移除 Linux capabilities,隔離強度高於單純的語言限制與 ulimit。代價是部署較複雜、需維護 Image 與節點,並確認 Apache/PHP 呼叫容器服務的權限。
如何管理外部 Judge 節點與調配策略?
管理員可在 Judge 節點管理介面檢查節點連線、健康狀態與最後回報時間。系統可依設定使用循序、Round Robin 或負載導向策略,節點不可用時可配置本地備援。上線前應以每種語言執行冒煙測試,並持續監看逾時率、錯誤率與節點資源。
何時可以啟用 DEBUG_JUDGE?
只在開發或受控診斷環境短暫啟用,用來查看評測指令、節點回應與錯誤細節。正式環境應關閉,以免把主機路徑、內部服務或其他敏感資訊顯示給使用者。除錯完成後立即復原設定,並清理可能含學生程式碼或環境資訊的診斷紀錄。
© Coding Tutor 說明中心 | 整合版系統常見問題 Q&A | 更新日期:2026-08-12