--- title: Project Demo emoji: 🏆 colorFrom: yellow colorTo: indigo sdk: docker pinned: false --- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference ## Python 專案教室 - 學生:`/classroom` - 教師:`/classroom/teacher` - 內容管理:`/admin` - 展示:`/` 內建 2026 Fall Lesson 路線圖。Lesson 2 只匯入一次專案起始套版,Lesson 3~4 共用同一份案件進度;支援多個 Python 檔、ZIP 匯入匯出、即時監看、專案最後正式版與整班發布。 Lesson 19~22 延伸為四週數據分析特別課程,使用公開 CSV、問題選單、資料清理、可重現計算和 Console 文字圖表;帶課流程見 `classroom_data/curriculum/data_analysis_special_course.md`。 課程與名單管理: - 教師先在控制台建立班級與學生名單,可用逗號一次加入多人。 - 學生選班級後自行輸入姓名;只有與後台名單相符才能進入,學生頁不會顯示全班名單。 - 教師可選現有課程,也可用教師密碼建立新課程代碼。新課程會寫回此 Space,因此建立時會觸發一次重新建置。 - 教師可從課程刪除學生及其教室內進度;已經發布到首頁 Demo 的作品不會連帶刪除。 - 班級與學生名單會寫回 Space repository 長期保存;尚未發布的草稿仍保存在 Space 執行期間。 - 內容管理後台的「管理教室」可新增、改名或刪除班級,管理學生名單,並查看或刪除已提交內容。 - 下課前可在「管理教室」按「備份 Lesson 提交」,將目前 Lesson 的正式版寫回 Space repository,避免重新建置後遺失。 - 學生端的保存分三層:「自動同步」更新師生即時可見的工作草稿,但不增加歷史版本;「暫存版本」建立可從舊進度載回的檢查點;「正式提交」凍結一份供老師檢查、整班下載或另行發布的版本。發布只採用正式提交,不會包含暫存。 - 教師個別學生畫面可切換查看目前草稿與最近的正式提交;學生繼續編輯後,草稿會變動,已提交版本保持不變。 - 學生成功呼叫老師後有 5 分鐘冷卻,伺服器會檢查;取消求助或老師標記已回應都不會重置計時。冷卻按同一班級與學生計算,跨 Lesson 共用。 - 工作區重連時,伺服器的空白初始檔不會覆蓋此裝置已有的程式;切換 Lesson 後,舊連線與延遲同步不能寫入新工作區。 - 載入另一份進度、匯入專案或遇到還原衝突時,會保留最多五份不同內容的本機副本,可從「選擇舊進度」中的「此裝置備份」載回。本機副本只存在原瀏覽器,清除網站資料後無法保留。 - 同一位學生在另一個分頁開啟相同工作區後,原分頁會停止自動重連並停止編輯,避免兩個分頁互相覆寫。 - 學生端 Python 會逐段顯示輸出;程式執行到 `input()` 時,Console 才出現輸入列並等待送出。 - 內容管理後台可修改 Lesson 路線與各 Lesson 套版,也可新增、改名、編輯或刪除公開 Demo 專題。所有儲存都會寫回此 Space。 Space Secrets: ```text CLASSROOM_TEACHER_PASSWORD=教師密碼 HF_TOKEN=具有 Telearn/Project_Demo 寫入權限的 token ```