2026年7月27日 星期一

剛好系列-校園排課系統

 

剛好系列-校園排課系統

用AI輔助打造的排課利器,讓排課不再是一件苦差事
純前端架構 | 免安裝 | 免費用 | 自動排課
🚀 立即體驗排課系統點擊後即可在瀏覽器中使用

📖軟體由來

這是我前陣子在測試目前的AI有沒有辦法寫出排課軟體時試寫的作品。身為一個以前當過十幾年教學組長的老師,排課對我來說一直是學期初最頭痛的事情之一。

用我以前當教學組長排了十幾年課的經驗,用我覺得最方便的流程來設計的。不過我在六班小校,所以我測試軟體時,只用六班來排課測試,沒試過大校多班多教師的,有興趣的老師們可以自己再試試看。

整個系統是用 Google 的 Gemini 3.5 Flash 大型語言模型輔助編譯與設計製作的。從介面設計到自動排課演算法,都是在AI的協助下完成的。這也讓我深刻體會到,AI已經不再是科幻電影裡的情節,而是真真切切能幫我們解決實際問題的工具。

核心功能總覽

這套排課系統具備以下特色:

🧠
CSP 自動排課
毫秒間自動計算最佳課表,避開衝堂
📊
引導式五步驟
從設定到排課,流程清晰不迷路
🎯
雙向對照排課
視覺化標示完美時段,一鍵填入
💾
資料備份還原
JSON格式匯入匯出,隨時恢復進度
📥
多元匯出格式
支援 PDF 與 Word 檔案下載
🔒
衝堂防呆機制
教師同節衝堂自動偵測阻擋

🎓排課實戰應用

🏫 小校排課的最佳幫手

對於像我這樣在六班小校服務的老師來說,這套系統真的幫了大忙。以前用 Excel 排課,每次都要手動檢查衝堂,一個不小心就要重來。現在只要照著五個步驟走,系統會自動幫你避開所有衝突。

特別是「雙向對照排課」功能,當自動排課後還有少數課程因為限制條件無法排入時,系統會自動比對班級和教師的時間,用綠色標示出兩邊都是空堂的「完美時段」,點一下就搞定,不用再自己比來比去。

📋 引導式操作流程

系統採用上方橫式分頁標籤,從第一步到第五步一目了然:

  1. 年級與班級設定:設定年級、班級,並可指定不上課時段
  2. 時間框架設定:設定每週天數與節數,以及教師不可排課時段
  3. 課程計畫與配課:設定各科每週節數,建立教師名冊,進行配課
  4. 預排指定時段:將需要固定時段的課程先行排入
  5. 執行自動排課:一鍵啟動演算法,1.5秒內完成全校課表

📤 彈性的匯出選項

排好的課表可以輸出為 PDF 或 Word 格式。如果有其他學校要用的系統可以匯入排課資料的話,老師可以匯出排課資料,自己再請AI把格式調整成你們學校用的系統可以匯入的格式。

系統採用 Landscape (橫式) A4 排版,包含行分割防截斷設計,確保一班一頁,列印不跨頁,品質非常專業。

🔧使用教學:從零開始

🚀 快速開始

  1. 點擊上方「立即體驗排課系統」按鈕,開啟排課系統網頁。
  2. 按照頂部橫式選單的五個步驟依序操作。
  3. 先設定年級與班級,再設定時間框架。
  4. 建立課程計畫與教師名冊,進行配課。
  5. 如有需要,預排指定時段的課程。
  6. 最後點擊「開始自動排課」,系統會自動完成全校課表。

📌 重要提醒

  • 資料備份:系統頂部有備份功能,請務必定期備份,避免瀏覽器關閉或重新整理導致資料遺失。
  • 衝堂防呆:系統會自動偵測教師同節衝堂,並發出警告阻擋指派。
  • 預排優先:預排的課程會被保留,演算法會自動避開這些課程進行排課。
  • 每週節數上限:系統會阻擋超額排入,保護每週授課上限不超支。

🎁 進階功能

  • 課程拆分:可將彈性課程拆分為多個子課程,分別指派給不同教師。
  • 批次指派:可勾選多門課程,一次指派給同一位教師。
  • 關鍵字搜尋:可快速搜尋特定班級、學科或教師。
  • 課表直接調整:排課完成後,可直接點擊課表格子進行微調。

💡技術亮點

這套系統在技術上採用了以下架構:

React 18 Tailwind CSS Lucid Icons html2pdf.js docx.js CSP 演算法 Babel JSX

系統採用單一網頁架構 (Single-File App),所有邏輯、樣式與資料處理皆整合在 index.html 內,下載至本機即可離線使用。這種設計讓部署變得非常簡單,不需要安裝任何軟體,也不需要後端資料庫。

核心的防呆限制性規避演算法 (CSP),能在毫秒間自動計算並填入最佳課表,自動避開班級不上課、教師不可排課及教師同節衝堂,大幅節省了排課時間。

💻開源專案

這套系統的完整程式碼已開源在 GitHub 上,歡迎大家下載使用。如果覺得好用,歡迎幫我按個星號,讓更多人看到這個專案!

⭐ GitHub 專案連結

好用可以幫我按個星號唷!!!

🤝結語

這套排課系統是我用十幾年排課經驗,結合AI輔助開發出來的作品。雖然我只在六班小校測試過,但系統的設計應該能適用於不同規模的學校。有興趣的老師們可以自己試試看。

沒有留言:

張貼留言