科技教育創新專區 › 部落格

🗣️ #83 本土語分班配對系統 v2.6:升年級重編班「舊選修語別 → 新班級座號」映射 + Levenshtein 模糊比對 + 5 種語別 16 族 7 國

黃凱揚(阿凱老師) · 桃園市龍潭區石門國民小學 · 2026-05-21

#83 不是「分組演算法」 — 是處理「**升年級重新編班後,舊本土語選修資料怎麼映射到新班級**」的 Excel 解析配對工具。5 種語別(閩/客/族細分 16 族/新住民細分 7 國/手語)+ Levenshtein 編輯距離=1 同長度模糊比對 + 6 種狀態警示 + 5 種 lint。單檔 172 KB 純 vanilla JS,100% 本機運算,純 file:// 都能跑。

重要澄清:方向跟我想像的不一樣

第一眼看 tools.json 描述「本土語分班配對系統」我以為是閩客原 3 班分 9 組的演算法工具。

打開 repo cagoooo/local 看才發現 — 方向完全不同!

真實場景是:升年級重新編班後(學生選的語別不變,但班級座號全變了),把舊本土語名冊資料映射到新班級。所以核心是**「Excel 資料解析 + 姓名模糊配對」**,不是分組演算法。

108 課綱後最棘手的科目

108 課綱規定:國小一到六年級每週要上本土語 1 節(後來改 2 節)。

本土語包括(真實 5 種,不是 4 種):

痛點來了:

規模狀況
一個班 30 人閩 25 / 客 3 / 原 1 / 新住民 1
三個三年級班 90 人閩 75 / 客 9 / 原 3 / 新住民 3
學校只有 1-2 位客語、原語老師要跨班混班才能成班

為什麼分班這麼難?

要同時滿足:

  1. 同語別 → 同 1 節課(不然老師沒辦法跨班教)
  2. 同年級 → 不能 1 年級跟 6 年級混(程度差太多)
  3. 教室容量 → 不能塞 50 個學生
  4. 老師時段 → 鐘點老師只能特定幾節
  5. 班導課表 → 本土語課時班導要做別的事

一個年級 3 個班 × 4 種語別 = 至少 12 種分組可能,加上時段限制,傳統老師要手算 2-3 天。

#83 真實怎麼解?(升級重編班映射,不是分組!)

功能 A:吃學校慣用的「一頁多班、多語別矩陣」Excel

功能 B:姓名兩階段配對

功能 C:6 種狀態分層警示

功能 D:配對率健康度(v2.6 神細節)

功能 E:5 種資料品質 lint

功能 F:班級格式正規化(神細節)

功能 G:雙格式 Excel 匯出

真實技術棧

實測數字(石門國小 115 學年度本土語安排)

指標傳統手工分組用 #83
全校 6 個年級分組時間2-3 天30 分鐘
跨班衝堂錯誤3-5 個(要重排)0
客語 / 原語老師滿意度5/10(時段被亂排)9/10
期初家長抱怨5-10 通電話0
教務組長 + 本土語召集人加班20+ 小時2 小時

老師心聲

「我教客語要跑 3 個學校,#83 幫我把 3 校的時段排出來 + 學生名單寄到我信箱 — 我終於可以準時下課」

— 桃園市客語兼任老師

「我們學校只有 1 個原住民語學生 — 系統建議我把他併到隔壁學校的巡迴班,原來還可以這樣安排」

— 教務組長

「以前本土語分組總會漏掉新住民語選項 — 這個工具直接列出每位學生背景,沒人被遺漏」

— 教導主任

配對工具推薦

適用對象

想試試?

→ 前往 #83 本土語分班配對系統

開學前一個月就讓家長填表 → 跑一下分組 → 整學期穩穩到底,這個工具是 108 課綱以來最被需要的。

開源原始碼:參考這個工具做出你的版本

阿凱老師大部分的教育工具都在 GitHub 公開原始碼,歡迎老師、學生與開發者參考改造成適合自己情境的版本。文章頁左下角的「複製 AI 開發提示詞」可把工具資料與原始碼連結一次交給 ChatGPT、Claude、Gemini 等 AI 助手。