這是上下學期共用的資訊科技學習平台,以流程圖任務、觀念挑戰、逐步提示與作品檢核串接學生的學習過程,讓教師能同時觀察概念理解與實作成果。
index.html依日期自動導向 115 學年度的當期學生入口:8 月至隔年 1 月為上學期,2 月至 7 月為下學期。teacher.html依日期開啟當期教師後台;各學期中的teacher.html只是帶入學期範圍的轉接網址,實際後台只有一份。firebase-config.js是唯一 Firebase 設定檔;所有學期頁面均引用它。shared/portal.js是唯一的學生登入與入口網版型;shared/teacher.html是唯一的教師後台版型。terms/115-1和terms/115-2僅放該學期教材、任務設定(term-config.js)與圖片。
本專案的互動設計特色,是把「閱讀概念、作出決策、理解回饋、表示流程、完成作品」串成可操作的學習路徑。介面中的每一步都有對應的思考任務,學生的選擇與作品也能成為教師調整教學的依據。
| 互動介面 | 學生需要進行的思考 | 對理解與教學的設計目的 |
|---|---|---|
| 上學期的流程步驟排序 | 依本關程式邏輯安排事件、處理與執行順序,再檢查排列 | 讓學生在操作 Scratch 前先整理演算法,辨認「步驟內容正確,但順序錯誤」的問題。 |
| 下學期的「流程圖教練」 | 先完成三題學習重點確認,再進行四輪、每輪三個方案的決策;比較起點、方向、次數、事件與條件等安排 | 把容易混淆的程式概念變成具體選擇,透過方案回饋辨認哪些差異改變結果、哪些差異影響核心任務成立。教練採預先設計的對話與規則。 |
| 流程圖參考文件與 Mermaid 表示 | 將輸入、輸出、處理、判斷及起訖等概念,對照本關的程式結構;通關後查看 Mermaid code 並繪圖 | 支持學生在文字描述、流程圖與 Scratch 程式之間建立對應。Mermaid 的主流程依各單元預先設計的程式結構呈現,另保留本次教練選擇供回看。 |
| 觀念挑戰與逐步解鎖提示 | 先回答本單元觀念題,再取得解題提示並回到作品實作 | 在取得範例前提供一次自我檢查,讓提示有明確的使用時機;答錯後可重試,通關證明與集章提供可見的階段目標。 |
| 分步浮動視窗與共用版型 | 每次專注於目前的閱讀、確認或決策活動,依明確按鈕前往下一步 | 控制同一畫面的資訊量;共用的名稱、版面與導覽位置,讓學生跨學期使用時可沿用操作經驗。 |
| 全班任務儀表板、作業檢核與作答分析 | 學生提交截圖或影片;教師查看作品、選定採認附件,結合作答紀錄判斷理解情形 | 空心與實心狀態區分「已有作品」與「已核定」,讓教師掌握需要支援或尚待檢核的學生;首次答對率與選項分布可協助找出全班共同的迷思概念。 |
例如,下學期學生在流程圖教練中選擇角色的起點、方向與重複方式後,會看到該安排的回饋,再對照流程圖與實際程式。這個過程的教學重點是讓學生說明「這個安排會造成什麼結果」,並在實作中檢查自己的推論。上學期則先以流程排序建立循序觀念,再銜接較多決策的任務。
上述內容是介面的教學設計目的。是否實際改善理解,仍需結合作答前後表現、錯誤選項的變化、學生對流程的解釋與作品檢核結果觀察;完成任務數與使用時間可作為參考,不能單獨代表學生已理解概念。
rosters/{studentId}:共用名冊。users/{uid}.profile:共用學生身分。users/{uid}.terms.{termId}:該學期任務、證書與成績。users/{uid}.terms.{termId}.attendance.{YYYY-MM-DD}:學生當日登入時間;教師可依日期查詢出席。users/{uid}.terms.{termId}.usage:本學期有效使用秒數與每次上課紀錄。登入會建立紀錄;頁面可見時每 2 分鐘累積,離開或關閉頁面則以最後活動時間結束該次紀錄。users/{uid}.activeSession:目前有效的跨裝置學生登入識別;新裝置登入時會更新此資料。- 學生登入僅保留在目前瀏覽器頁籤的工作階段;關閉頁籤後重新開啟入口網,必須再次輸入驗證碼。
users/{uid}.teacherProgress.{termId}:該學期教師核定資料。users/{uid}.teacherProgress.{termId}.taskCompletions:運算思維與程式設計由教師檢核 Classroom 附件後,依指定單元寫入的完成紀錄;核定時保存採認的附件連結,completedAt使用該附件的 Drive 建立時間(無資料時退回 Classroom 作業更新時間),reviewedAt保留教師核定日期。學生入口只能讀取,不能自行勾選或修改。users/{uid}.teacherProgress.{termId}.taskHistory:每次附件檢核的歷史事件,供教師端依週回看 32 項任務的成長曲線;曲線以completedAt(附件上傳日期)計算。- Notion 整理直接沿用
taskCompletions的單元與採認附件,不再使用獨立的 Classroom 任務對照設定;舊teacherSettings/notionSync資料保留但不再讀寫,不需重設資料庫。 quizAnswerKeys/{questionId}:教師專用的題目答案金鑰。正確選項與流程排序解答不放在學生端網頁,避免從網頁原始碼直接取得答案。quizAttempts/{uid}/events/{attemptId}:學生每次作答的不可修改紀錄。Firestore Rules 會依私密答案金鑰判定正誤,供教師端的「題目作答分析」查看作答人數、首次答對率、答對率、選項分布與平均作答時間。
「題目作答分析」可選擇各班或「全年級」(701–711 班),讀取本學期逐題紀錄。全年級合併相同題號,統計作答人數、次數、首次答對率、總答對率、選項分布與平均作答秒數;比率依實際學生/作答計算,不取各班百分比平均。學生繼續作答後會即時更新,切換範圍會停止原有讀取。載入中、讀取失敗與確實沒有紀錄會分開顯示,讀取失敗時可按「重新讀取作答紀錄」。既有逐題紀錄可直接分析,不需重作測驗;只有通關證書、沒有逐題紀錄的舊資料,無法還原選項分布或首次答對率。
部署前請將根目錄的 firestore.rules 發佈至 Firebase,並以本目錄作為網站部署根目錄。首次啟用題目保護時,教師也要登入 shared/quiz-key-import.html,匯入本機保管的私密題庫金鑰檔;該檔案不可推送至 GitHub。
下一個學年度只需新增新的學期內容資料夾,並將 firebase-config.js 的 academicYearId 更新為新的學年度。
本系統目前仍存在登入驗證風險,適合作為教材、上課進度與教師輔助檢核使用;不建議將平台自動記錄或顯示的結果直接作為正式評量成績。題目保護可避免由網頁原始碼直接取得正解,但作答分析仍應作為教學診斷使用;正式成績應由教師依作業、測驗與人工覆核結果判定。
- 同一瀏覽器:同一時間只能使用一個學號;同學號可開啟多個課程分頁。若改以不同學號登入,系統會提示先關閉原學生的所有課程分頁。
- 不同裝置或瀏覽器:同一學號在新裝置登入後,原裝置會在連線時收到登入識別更新,自動回到入口並顯示「此帳號已在其他裝置登入」。離線中的原裝置會在恢復連線後退出。
- 個人暫存資料:流程圖、Scratch 解鎖與補充單元開啟紀錄會依學生分開儲存,不會因同一台電腦曾使用其他學號而混用。
教師後台的「作業檢核」可依班級讀取 Google Classroom 課程、指定作業與學生附件,開啟作品後由教師核定通關或標示補件。讀取 Classroom 資料時不會更動原始作業;系統已內建連線網址。
- 以教師帳號開啟正式教師入口
teacher.html,登入後進入「作業檢核」。 - 選擇班級,按「讀取對應課程」,再指定本節課作業。Classroom 作業命名可參考「流程圖指定單元」的完整編號與名稱,例如
2026/09/23 任務一:2-2-3 動畫實作。選擇作業後,系統會自動對應「2-2-3 動畫實作」;日期與任務前綴不影響辨識。名稱不符或包含多個單元時,須手動確認流程圖單元後才能檢核,避免通關紀錄寫入錯誤單元。此功能不會修改 Classroom 原始作業名稱或已保存的歷史紀錄。 - 系統將 PNG 圖片與 Google 繪圖(雲端硬碟檔案或
docs.google.com/drawings/d/...連結)列為運算思維附件,MP4 列為程式設計附件;教師開啟作品後選定一件採認,再核定通關。同一作業有多件附件時不會自動挑選;Google 繪圖會開啟原始連結,不會自動轉存為 PNG。
學生須將作品加入 Classroom 作業附件;僅貼在私人留言中的連結不屬於作業附件,不會被此功能讀取。
Classroom 學生帳號會以 qfm15xxxxx@mail.qfm.kh.edu.tw 格式對應平台學號;不符合此格式的 Classroom 成員會顯示為「未對應」,便於教師檢查名冊。
教師端的「Notion 整理」有獨立班級切換,名冊匯出與同步均以此處選定的班級為準,不會更動或跟隨「作業檢核」的目前班級。分類、單元與採認附件直接沿用作業檢核紀錄,不必再次選擇課程、作業或儲存對照。每位學生可整理四類共 32 項學習展示卡:
- 資訊生活 8 項:依本學期既有測驗集章紀錄產生證書 PNG,不需重作測驗。
- 演算流程 8 項:依既有流程圖完成紀錄產生證書 PNG;上學期須完成排序,下學期須完成 Mermaid code 產生,僅開啟教練或完成討論不算集章。
- 運算思維 8 項、程式設計 8 項:直接讀取該學生、本學期、指定單元的教師採認附件,不重讀 Classroom 的全部附件或另配對作業;教師在檢核時保存課程/作業識別與採認檔案,新紀錄也保存作業名稱。未核可、需要補件或缺少完整採認資訊者保留空白卡,不匯入作品連結。
上下學期的程式設計頁面均有「流程圖集章牆」,可查看已集章數、單元、通關時間及通關得分(有紀錄時),並下載證書 PNG。資訊生活證書也可查看/下載 PNG。共同證書版型由 shared/learning-certificates.js 產生,供學生查看與教師同步使用。
教師可同步指定任務,或按「同步本班全部 32 項」,每次分批處理 4 位學生;可在目前批次完成後停止,之後再次同步更新原卡。同步由教師按鈕啟動,不是在學生通關當下自動上傳。CSV 作品索引也包含完整 32 項、通關時間、得分、正確率及作答秒數(有紀錄時)。
證書 PNG 經教師限定的 Apps Script 直接上傳至 Notion,附在作品卡的「作品附件」、正文與封面,不另建公開學生圖片網址,也不需新增 Google Drive 寫入權限。未變更的證書沿用既有圖片,更新通關資料或學生姓名後再同步會刷新證書;原有 Classroom 作品連結仍受 Google Drive 權限控制。系統會自動補齊 Notion 的「證書索引」、「通關得分」、「正確率」、「作答秒數」欄位;金鑰仍只保存於 Apps Script 指令碼屬性,不存入網站或 Firebase。
本功能須更新並重新部署 shared/google-classroom.gs。舊版核可紀錄若未保存採認附件,需回「作業檢核」重新選定並核可。重新同步會更新系統產生的附件區塊,不保留未採認的作品連結;通關紀錄移除後,對應的系統證書圖片會移到 Notion 垃圾桶,作品卡保留。教師自行補充的內容應放在自動管理區塊以外。完整欄位、作品牆展示與操作方式見 Notion 學習作品整理。