程式設計評測系統 · 老師版

老師手冊:出題、班級與成績

這本手冊說明老師要做的事:用題庫編輯器出題,在「教師管理」建立班級、看學生進度和作答,把試卷發佈成班級測驗,以及備份資料。學生端操作請看《操作講義》。

適用:出題老師、任課老師 成績系統:班級雲端(不需要 Google 試算表) 更新:2026-10

PART A · 概念

系統概念:三種用法、四種介面

👀老師預覽

老師登入「教師管理」後,在班級列表下方的「👀 預覽學生答題介面」按 Blockly/Scratch/Python/C++,會在新分頁開啟學生的畫面,可以試做內建題庫,不會產生學生紀錄。沒有登入的人看不到這個入口。

🏫加入班級練習

學生用「班級代碼+座號+自設 4 位數密碼」登入。按「評分」的成績和程式會自動傳給老師,遊戲幣、獎牌等進度存在雲端,換電腦也能接著做。

📝班級測驗

老師把組好的試卷發佈到班級。學生從選單按「開始」就作答,限時、不能看解答,由伺服器評分。

四種作答介面、三條學習路線

介面學習路線說明
🧩 Blockly、🐱 Scratch🧩 積木拖拉積木;有示範題的「🧭 指引」與「參考解答」分頁。
🐍 Python🐍 Python文字寫程式;沒有參考解答分頁,評分未過顯示提示。
⚙️ C++⚙️ C++瀏覽器內編譯執行(clang,C++17),不用安裝軟體、不用評測伺服器;銜接 APCS 與程式競賽。沒有參考解答分頁,評分未過顯示提示。

四種介面共用同一套題庫與測資。三條路線的獎牌、學習積分和全國排行各自計算(C++ 有自己的排行榜);同一題用第二種語言再完成,遊戲幣給一半。

C++ 介面須知

學生第一次開啟要下載約 19 MB 的編譯器,之後瀏覽器會快取;上課第一次使用前,建議先讓每台電腦開一次 C++ 介面。支援 bits/stdc++.h 與 STL;不支援 try/throw、thread、讀寫檔案。每筆測資執行上限 3 秒。評分只忽略行尾空白,中間空白或換行不同會判錯(和 Python 相同)。

🧪 教學工具:程式模擬器

教師管理首頁的「🧪 教學工具:程式模擬器」卡片有 🐍 Python 模擬器 和 ⚙️ C++ 模擬器,上課講解、示範除錯用,不需登入、不計分。內建教學範例與程式片段,可放大字體投影;Python 可按「👣 逐步執行」一步一步播放,看目前執行到哪一行、變數與函式呼叫堆疊怎麼變化。學生面板「📚 開始練習」也有入口。

PART B · 出題

用題庫編輯器出題

出題工具是「題庫編輯器」,用瀏覽器打開就能用,不需要登入。

  1. 填題組資訊:題組名稱(目錄顯示用)、分類(可從學習地圖標籤下拉,或自己打,如「S1 迴圈」)、檔名(決定匯出的檔名)。
  2. (選用)載入標籤字典:開頁會自動讀同資料夾的 tag-dictionary.json,當分類與知識點的下拉選單。
  3. 新增題目:每題填標題、知識點標籤、說明,再加測資。
  4. 每筆測資:輸入(多行,每行是一次輸入)、預期輸出、分數,可以勾「範例(公開)」。同一份題目可以用 Blockly、Scratch、Python、C++ 任一介面作答,不用另外出 C++ 版。
  5. 組卷與匯出:從題庫挑題組成一份試卷,匯出 .txt(明碼)或 .txt.enc(加密)。這個檔案可以直接上傳到「教師管理」的試卷庫,變成班級測驗(見 PART G)。

「範例(公開)」勾與不勾

勾了:這筆會出現在學生的「自行測試」,顯示輸入與預期輸出。不勾:只用來評分,學生看不到(隱藏測資)。建議留 1~2 筆公開當示範,其餘設隱藏。班級測驗中,隱藏測資的預期輸出只存在伺服器,學生在瀏覽器裡找不到。

明碼 .txt 還是加密 .enc?

放在公開網路(例如 GitHub)的練習題庫建議用 .enc,避免學生直接翻到答案;老師發佈作業選「題組網址」時,填同名的 .txt 網址即可,系統會自動找 .enc 解密。上傳到試卷庫兩種都可以。

PART C · 格式

題目檔 .txt 格式

題庫編輯器匯出的就是這個格式。要手改也可以:

題目:計算兩數相加
說明:輸入兩個整數,輸出它們的和。

筆數:2

輸入1_1:5
輸入1_2:3
輸出1:8
分數1:50
範例1:1

輸入2_1:100
輸入2_2:150
輸出2:250
分數2:50
(下一題從「題目:」再開始…)
欄位意義
題目:一題的開始,也是題目名稱(同一份試卷裡不要重複)。
筆數:N這一題有幾筆測資。
輸入N_1、輸入N_2…第 N 筆測資的輸入;每行代表程式的一次輸入。
輸出N第 N 筆的預期輸出。
分數N第 N 筆通過可得的分數;一題的滿分=各筆分數加總。
範例N:1把第 N 筆設為公開範例(不寫就是隱藏測資)。

PART D · 帳號

申請教師帳號與登入

  1. 首頁按「🏫 教師管理」,切到「申請帳號」,填姓名、學校、Email、密碼(8 字以上)送出。系統會給一組申請編號(記在這台電腦)。
  2. 等管理員審核。可以在「查詢申請」用申請編號查看狀態。
  3. 核准後用 Email+密碼登入。登入有效 14 天;右上可以「改密碼」。

名額

每位老師有學生名額(座位總數)和班級數上限,登入後顯示在最上方。不夠時請洽管理員調整。

PART E · 班級

建立班級、學生加入

建立班級

  1. 在班級列表頁「➕ 建立班級」填班級名稱、座位數(1~40),選加入方式:
    ・簡易模式(預設):學生輸入班級代碼+座號+自己設定的 4 位數密碼。
    ・座位卡模式:每個座位多一組加入碼,老師列印座位卡發給學生,可以防止有人冒用別人的座號。
  2. 建立後會得到 6 碼的班級代碼,寫在黑板上給學生;或到「👥 座位與加入」按「📱 學生登入 QR code/連結」,讓學生掃描登入(見下方)。

學生怎麼加入

「👥 座位與加入」分頁

功能說明
📱 學生登入 QR code/連結顯示這個班級的 QR code、班級代碼和登入連結。可以「📋 複製連結」貼到 Google Classroom 或班級群組,或按「🖨️ 列印/投影用大圖」開出大字版,投影到教室螢幕或列印貼在教室。班主和協同老師都可以使用。
🔒 關閉加入全班加入後建議關閉,避免有人冒用空座號。已加入的學生照常登入。
📖 參考解答開放方式設定學生什麼時候能看 Blockly/Scratch 的參考解答(見 E-2)。班主和協同老師都可以設定。
重設密碼學生忘記密碼、或座位被冒用時使用。作答紀錄保留,學生重新加入並設定新密碼。
清空座位換學生時使用,刪除這個座位所有作答紀錄。
增加座位/改名/刪除班級刪除班級要輸入班級代碼確認,所有紀錄一併刪除且無法復原(建議先備份)。
座號姓名對照伺服器只記座號。姓名只存在老師這台電腦,可以匯出/匯入 CSV;換電腦時記得帶過去(完整備份也會包含)。

QR code/連結等同班級代碼

拿到連結的人都能用空座號加入,所以可以貼在班級群組,但不要公開貼在網路上。全班加入後按「🔒 關閉加入」,即使有連結也無法再認領空座號。

🤝 協同老師(協同教學)

  1. 班主(建立班級的老師)在「👥 座位與加入」分頁最下方「🤝 協同老師」按「➕ 產生邀請碼」。
  2. 把邀請碼給要協同的老師(不限學校,必須是核准過的老師帳號)。對方在教師管理首頁「🤝 協同教學邀請碼」輸入,就會成為協同老師。邀請碼用一次就失效;每班最多 5 位協同老師。
  3. 協同班級會出現在協同老師的班級列表,標示「🤝 協同」與班主姓名,不占協同老師的名額。
功能班主協同老師
看進度、題目分析、個別學生、看程式、匯出 CSV✅✅
發佈測驗、看成績、開關測驗、讓學生重考✅✅(可用自己試卷庫的試卷)
開放/關閉加入、學生重設密碼、學生登入 QR code/連結✅✅
清空座位、增加座位、改班名、刪除班級✅❌
完整備份、還原✅❌
邀請/移除協同老師✅❌(可以自己「退出協同」)

座號姓名對照不會自動共享

姓名只存在各自的電腦。班主可以按「⤓ 匯出對照表」,把 CSV 給協同老師「⤒ 匯入對照表」。協同老師退出或被移除後,他發佈過的測驗和學生成績都會保留。

PART E-2 · 參考解答

參考解答開放方式

學生很容易一卡住就直接看參考解答。老師可以依班級決定學生什麼時候能看。設定位置:班級頁「👥 座位與加入」分頁的「📖 參考解答開放方式」卡片,按一下就切換;班級頂端的統計列也會顯示目前的狀態。

設定學生端適合
✅ 通過後才開放(預設、建議)這題評分拿到滿分後才能看參考解答,用來對照不同寫法。還沒通過前,評分未過會顯示提示卡。平常練習。舊班級也自動套用這個設定。
🔓 評分未過 2 次解鎖原本的做法:評分沒通過 2 次就能看。學生容易亂按兩次評分就直接看答案。剛入門、需要多一點鷹架的班級。
🔒 僅教師學生完全看不到參考解答(伺服器直接拒絕下載解答檔),示範題的「🧭 指引」也一併關閉;提示照常顯示。段考前、想讓學生獨立解題時。

限制

「通過後才開放」由學生的瀏覽器判斷,懂開發者工具(F12)的學生理論上可以繞過;要確實擋住,請改用「🔒 僅教師」(由伺服器把關)。

PART F · 進度與作答

看進度與作答

學生每次在答題頁按「評分」,成績和當下的程式(或積木)就會自動傳上來。教師管理每分鐘自動更新,也可以按「🔄 重新整理」。

🏅學習進度

每位學生的通過題數、綜合驗證題、銀牌金牌、匯入次數,以及每個主題的進度。點一列看該生的作答。

📊題目分析

每題的作答人數、通過率、平均次數、自己完成人數。通過率低、次數高的題目,代表全班卡關,可以上課講解。

🙋個別學生

選座號看他每一題的最高分、最近一次分數、次數、通過時間,按「看程式/看積木」檢視作答。

⤓匯出

匯出 CSV(Excel 可開),可只匯出 Python、C++ 或積木;也可以下載完整備份。

Python、C++ 和積木(Blockly/Scratch)分開計算,上方的「全部/🐍 Python/⚙️ C++/🧩 積木」可以切換。按「看程式」時,C++ 作答會以 C++ 程式碼顯示。

作答旁的標記

標記意思
自己完成通過,而且大部分是學生自己打字或拖積木完成的。
匯入/貼上通過,但程式大多是匯入或貼上的(可能是抄別人的)。這種情況學生不會拿到遊戲幣和獎牌。
寫死答案程式裡直接寫出測資的答案(例如 Python 的 if n==10: print(55)、C++ 的 cout << 55;),不是真的算出來。同樣不發遊戲幣。

看程式時顯示的是哪一版?

已通過的題目,保存的是通過時的版本;還沒通過的,是最近一次評分的版本。

PART F-2 · 學生回報

學生回報問題與測驗舉手

學生在答題頁左下角按「🙋 回報問題」(測驗中是底部的「🙋 舉手」),選類型(看不懂題目/測資好像有錯/系統出錯/其他)、寫下問題送出。系統會自動附上題組、第幾題、介面,學生也可以勾選附上程式和最近一次評分結果。

  1. 在哪裡看:班級列表的班級卡片、班級頁的「💬 學生回報」分頁都會顯示未處理的數量。
  2. 處理:每則回報可以看說明、展開評分結果、按「看程式/看積木」;在輸入框寫回覆按「回覆」(會自動標為已處理),或直接「標為已處理」、刪除。
  3. 學生看到回覆:學生下次打開答題頁會跳出通知,「🏫 我的班級」也會顯示;回覆後可以看到「學生已讀」。
  4. 同一題多人回報測資有錯:分頁上方會集中提醒「某題:N 人回報測資有錯」,請檢查題目或測資。
  5. 測驗中舉手:測驗成績表該生座號旁出現 🙋,點一下就能回覆;學生的作答畫面約 30 秒內會跳出你的回覆。

限制與自學學生

每位學生每 10 分鐘最多回報 3 次(測驗舉手另計)、每天 20 次,內容 300 字以內;回報都綁座號,不是匿名。沒有登入班級的自學學生只能回報「測資好像有錯」,會送給系統管理員處理預設題庫,不會回覆。

PART G · 測驗

班級測驗與試卷庫

組好的試卷存進試卷庫,就能一次發佈到多個班級,也能用分享碼分享給其他學校的老師。發佈時可以選「📝 測驗」或「📘 作業」。學生不用輸入題組網址,從選單按「開始」就作答。

📝 測驗📘 作業
時間限時,時間到自動交卷不限時,有截止日
參考解答/遊戲幣沒有有(參考解答需用預設題庫或題組網址出題,並依班級的參考解答開放方式)
評分伺服器評分(看不到隱藏答案)和平常練習一樣
題目來源試卷庫、上傳題組檔試卷庫、上傳題組檔、預設題庫、題組網址
其他選項每人順序隨機、隨機抽 N 題、允許重考、個別延長、公布成績改截止時間;老師看完成度與遲交

1. 存入試卷庫

  1. 教師管理的班級列表頁,找到「📚 我的試卷庫」。
  2. 選擇題庫編輯器匯出的 .txt 或 .txt.enc,系統會先顯示幾題、滿分多少。
  3. 填試卷名稱,按「📥 存入試卷庫」。每位老師最多 100 份;可以改名、下載原檔、刪除。

2. 發佈到班級

  1. 按試卷旁的「📤 發佈到班級」,勾選一個或多個班級。
  2. 設定測驗名稱、作答介面、作答時間、是否立即開放、是否允許自行重考,按「📤 發佈」。有班級沒發成功(例如已有同名測驗)會列出原因。
  3. 也可以在班級裡的「📝 測驗」分頁,從「試卷來源」選試卷庫的試卷;或選「上傳新的題組檔」,預設會同時存入試卷庫。
作答介面說明
Blockly 或 Scratch學生開始時自選,作答中可以切換(各介面的積木各自保留)。
只用 Blockly/只用 Scratch/只用 Python/只用 C++限定介面,不能切換。「只用 C++」由伺服器用 C++ 規則評分,成績記在 C++ 路線。
都可以學生開始時從 Blockly、Scratch、Python、C++ 四種中選。

測驗的防作弊選項

3. 學生作答時

4. 看成績與管理

5. 和其他老師分享試卷(分享碼)

  1. 在試卷旁按「🔗 分享」→「產生分享碼」,會得到一組 8 碼分享碼(例如 QX7K-29PM)。可以選擇有效期限(不限、1/7/30 天)和使用次數上限。
  2. 把分享碼傳給其他老師,不限學校。對方在自己的「📚 我的試卷庫」→「🔑 分享碼」輸入,就會複製一份到他的試卷庫,可以直接發佈到他的班級。
  3. 你看得到「加入過的老師」(學校、姓名、時間);隨時可以「停止分享」或「重新產生」,舊的分享碼立刻失效。

測驗成績也會出現在其他分頁

測驗的作答會以題組名稱「【測驗】測驗名稱」出現在「題目分析」「個別學生」和匯出的 CSV 裡。

PART H · 分析與報告

知識點分析與學習報告

🧠 知識點

班級頁「🧠 知識點」分頁依題目說明裡的「標籤:迴圈・累加累乘」統計:每個知識點的題數、作答人數、通過率(綠≥80%、黃≥50%、紅<50%)與平均次數,通過率最低的排最上面,方便決定上課要加強什麼。下方「熱力圖」是學生 × 知識點,一眼看出誰卡在哪裡。「個別學生」分頁也會列出該生的強項與建議加強的知識點。

標籤從哪來

出題時在題目說明第一行寫「標籤:S1・迴圈・累加累乘」(題庫編輯器的知識點標籤)。S1 這類階段代碼不計入。只統計這項功能上線後的作答紀錄。

🖨 學習報告

PART I · 備份

備份與還原

  1. 下載完整備份:班級裡「⤓ 匯出」分頁 →「💾 下載完整備份」。一個 .json 檔,包含班級設定、所有作答紀錄與程式、學生雲端進度(遊戲幣、獎牌、寵物、學習地圖)、班級測驗,以及這台電腦上的座號姓名對照。
  2. 還原:班級列表頁「⤒ 從備份還原班級」選備份檔,會建立一個新班級(新的班級代碼)。學生用新代碼+原座號+原密碼登入即可;還原的測驗預設是關閉的。

每年 1、6、7 月,教師管理首頁會提醒「30 天內沒有下載過完整備份」的班級,點一下就到下載頁;可以按「7 天內不再提醒」。系統也會自動清理過舊的資料(已處理超過半年的學生回報、失效的邀請碼與分享碼),學生作答和班級不會被清掉。

⚠ 學期結束建議

先下載完整備份,存到隨身碟或雲端硬碟,再刪除班級,釋放雲端空間。備份檔包含學生作答與密碼雜湊,請妥善保管。

PART J · 防作弊

防作弊機制與限制

機制擋什麼限制
匯入/貼上偵測直接貼上或匯入別人的程式就通過。只看「自己打的字/拖的積木」比例,不是百分之百準確。
寫死答案偵測程式直接印出測資答案。把答案拆開算(如 print(50*101))偵測不到;只檢查 2 位數以上的數字答案。C++ 檢查 cout/printf 的輸出。
伺服器評分(班級測驗)隱藏測資的答案只在伺服器,學生拿不到,也無法自己捏造分數。測驗要連網。
加密題庫(.enc)學生直接瀏覽 GitHub 等公開位置看到答案。平常練習與作業在瀏覽器評分,懂技術的學生仍可能取得測資;重要考試請用班級測驗。
座位卡、關閉加入冒用別人的座號。學生把密碼告訴別人就擋不住。
參考解答「🔒 僅教師」學生直接看解答。「通過後才開放」只在瀏覽器判斷;要確實擋住請用「僅教師」。

建議

標記是提醒,不是定罪。看到「匯入/貼上」或「寫死答案」,點開程式看一下,再找學生聊聊。

PART K · 排解

常見問題

學生說已經評分了,老師端卻看不到
確認學生左下角顯示「🙋 班級 座號」而且是「☁️ 已同步」。如果顯示「待上傳」,通常是網路不穩,連線後會自動補傳;顯示「請重新登入」代表座位被重設過。老師端每分鐘自動更新,也可以按「🔄 重新整理」。
學生忘記 4 位數密碼
在「座位與加入」按該座號的「重設密碼」,學生重新加入並設定新密碼,作答紀錄會保留。如果已「關閉加入」,要先暫時開放。
學生掃 QR code 後顯示「這台電腦目前登入的是別的班級」
這台電腦還登入著別班(或別的座號)的學生。請學生先按「登出」,再重新掃描或打開老師的連結登入。
有人佔了別人的座號
對該座位按「重設密碼」,請正確的學生重新加入,然後「關閉加入」。常有這種情形的班級可以改用座位卡模式。
協同老師看不到學生姓名
姓名只存在各自的電腦。請班主在「座位與加入」按「⤓ 匯出對照表」,協同老師在同一處「⤒ 匯入對照表」。
學生說看不到參考解答
先看班級的「📖 參考解答開放方式」:預設「通過後才開放」,學生要把這題評分到滿分才看得到;「僅教師」則完全不開放。另外,參考解答只在 Blockly/Scratch、而且用題庫目錄(或預設題庫出的作業)載入時才有,Python、C++ 介面沒有參考解答分頁。
C++ 介面打開很久,或顯示「編譯器尚未就緒」
第一次要下載約 19 MB 的編譯器,全班同時下載會比較慢。建議課前先在每台電腦開一次 C++ 介面讓瀏覽器快取;載入失敗可按工具列「🔄 載入編譯器」重試。
學生的 C++ 程式在 Dev-C++ 能跑,這裡卻不行
這裡不支援 try/throw、thread、讀寫檔案;每筆測資執行超過 3 秒會被停止。編譯錯誤會附中文提示(💡),可以請學生先看提示。
學生看不到班級測驗
確認:學生已登入這個班級、測驗是「開放中」。學生端清單約 20 秒更新一次,可以請學生重新整理首頁。
測驗中學生按評分出現「評分失敗」
測驗由伺服器評分,需要連網。請學生確認網路後再按一次評分;分數不會因為失敗被記成 0。
學生說畫面跳出「離開畫面」或被記次數
測驗中切換分頁、開其他視窗、縮小瀏覽器都會記一次。電腦跳出系統通知也可能被記到,所以這只是提醒,請參考次數多寡再判斷。
學生交卷後還想再寫
在測驗成績表按該生的「重考」,或對整份測驗「允許重考」。重考會重新計時,成績取最高分。
輸入分享碼說「不正確、已過期或次數已滿」
請分享的老師打開該試卷的「🔗 分享」確認分享碼還有效;過期或次數用完時,按「重新產生」再給你新的分享碼。
上傳試卷時說「找不到題目」
請用題庫編輯器組卷匯出的 .txt 或 .txt.enc。手寫的檔案每一題都要用「題目:」開頭,檔案用 UTF-8 存檔。
出現「今天全班的上傳量已滿」
為了公平使用免費額度,每班每天有上傳上限。學生的紀錄會先存在電腦裡,隔天自動補傳;常遇到請洽管理員。
換了一台電腦,座號姓名不見了
姓名只存在原本那台電腦。到原電腦「座位與加入」匯出對照表,再到新電腦匯入;或從完整備份還原。