Spaces:
Running
Download classroom_data/curriculum/data_analysis_special_course.md from Telearn/Project_Demo: direct link, hf CLI and curl.
- Browser
- Download file 10.3 kB
-
https://huggingface.co/spaces/Telearn/Project_Demo/resolve/main/classroom_data/curriculum/data_analysis_special_course.md
- Command line
-
hf download hf://spaces/Telearn/Project_Demo/classroom_data/curriculum/data_analysis_special_course.md
-
curl -L -o data_analysis_special_course.md https://huggingface.co/spaces/Telearn/Project_Demo/resolve/main/classroom_data/curriculum/data_analysis_special_course.md
數據分析特別課程|四週帶課說明
這四週接在 Lesson 18 後面,使用 Lesson 19–22。學生每人完成自己的題目、程式與報告,四週都使用同一個 week19 工作區。四週結束後可以回到原來的專題,繼續開發原有功能。
學生投影片
每週一份可編輯 PowerPoint。說明、例題、練習與解答分頁,投影時依順序帶課;遇到練習先停下來,學生作答後才翻解答。講者備註包含教學提醒、時間安排與來源。
| 週次 | 課題 | 頁數 | 投影片 |
|---|---|---|---|
| Lesson 19 | 資料分析 I:公開資料與問題 | 24 | 第一週 |
| Lesson 20 | 資料分析 II:資料整理 | 23 | 第二週 |
| Lesson 21 | 資料分析 III:比較與圖表 | 24 | 第三週 |
| Lesson 22 | 資料分析 IV:分析報告 | 21 | 第四週 |
教師提供的參考稿用於課程版面及教學節奏,沒有沿用電腦科學基礎課的內容。學生頁不放整堂課的流程表,時間安排在本文件與講者備註。
課前準備
- 開啟課堂系統的 week19 專案,確認 main.py、REPORT.md、DATA_SOURCE.md 與 data/students_by_county.csv 都在。
- 專案只使用 Python 內建模組;課堂圖表先使用 Console 文字長條圖。
- 示範用 CSV 已附在專案,不需要每位學生現場連網下載。
- 第一週第 5–6 頁會示範官方來源、CSV 下載按鈕、原始檔名與專案位置。
- 若學生已用舊版起始程式建立工作區,先備份學生的修改,再補上新版 main.py 裡的 get_count()。不要直接覆蓋學生程式。第三週的跨年比較會用到此函式。
資料與範例答案
資料提供者為教育部統計處,資料集名稱為「各級學校縣市別學生人數」。
- 資料集頁面
- 原始 CSV
- 課堂檔案:classroom_data/templates/week19/data/students_by_county.csv
- 本課版本有 242 筆資料、15 個欄位,涵蓋 104–114 學年度與 22 個縣市。
- 一列代表一個學年度、一個縣市;同列有不同教育階段的人數。
- 這份附檔沒有空白格,也沒有重複的「學年度+縣市別」組合。第二週的空白、破折號及重複列都是另做的練習例子,不能說成原始資料的錯誤。
- 資料平台會更新,課堂範例以附檔版本為準。不要把更新後下載的檔案和舊範例答案混用。
- 使用資料時保留提供機關與網址,依政府資料開放授權條款第 1 版註明來源。
| 範例 | 答案 |
|---|---|
| 114 學年度國小人數前 3 名 | 新北市 194,670;臺中市 161,332;桃園市 132,964 |
| 114 學年度國中人數前 3 名 | 新北市 96,668;臺中市 82,767;臺北市 68,231 |
| 新北市國小人數,114 減 104 | 194,670 − 201,970 = −7,300 人 |
| 新北市國小人數變化率 | −7,300 ÷ 201,970 × 100% ≈ −3.6% |
| 臺中市國小人數,114 減 104 | 161,332 − 157,272 = 4,060 人 |
題目選擇
全班共用一份示範資料,每位學生自己選問題。基本題完成後可以換縣市、學年度或教育階段;不必每人找不同的資料集。
基本題:
- 114 學年度,哪個縣市的國小學生最多?
- 選一個縣市,104 和 114 學年度的國小學生相差幾人?
- 114 學年度,選一個縣市,國小和國中學生相差幾人?
- 換一個教育階段,比較同一學年度的人數排名。
選做題:
- 104 到 114 學年度,哪個縣市的國小學生增加最多?
- 選一個縣市,比較不同學年度的國中人數,找出最多和最少的一年。
- 選一個縣市,計算國小學生人數的變化百分比。
- 取同一縣市的多個學年度,檢查期間的變化,避免只憑端點說每年都增減。
自訂題目要能指出欄位與比較條件。如果題目問原因,可把它保留為後續問題,先完成這份資料能回答的人數比較。學生要換其他資料集時,確認資料是公開 CSV、有來源、欄位與單位清楚,且能在現有專案讀取;教師同意題目後再換,避免四週都花在找檔案。
第一週:公開資料與問題(120 分鐘)
| 時間 | 投影片 | 帶課安排 |
|---|---|---|
| 0–10 分 | 1–2 | 問「哪個縣市的國小學生最多」,請學生說出答案可能從哪裡來。 |
| 10–20 分 | 3–4 | 用三筆實際紀錄說明學年度、縣市、人數與公開資料。 |
| 20–40 分 | 5–8 | 示範下載頁、CSV 按鈕、檔名與資料夾,再比較原始文字和表格。 |
| 40–50 分 | 9–14 | 完成找欄位的例題,各自選一個基本問題。 |
| 50–60 分 | — | 休息。 |
| 60–80 分 | 15–19 | 解釋資料能回答的範圍,讀取 CSV,執行起始程式並核對人數。 |
| 80–95 分 | 20–22 | 修改學年度與教育階段,完成國中人數排名練習。 |
| 95–105 分 | 23 | 請 AI 指出題目需要的欄位,學生到 CSV 確認。 |
| 105–120 分 | 24 | 寫下個人題目與來源,保存一個已核對的數字,提交進度。 |
來賓分析師可示範自己遇到陌生表格時怎麼確認欄位,以及怎麼把大問題改成能用手上資料計算的問題。不要一開始就要求學生完整理解整份函式。
較慢的學生完成一次排名查詢即可。較快的學生可換條件或做同年度的教育階段比較。
第二週:資料整理(120 分鐘)
| 時間 | 投影片 | 帶課安排 |
|---|---|---|
| 0–10 分 | 1–2 | 各自重新執行上週程式,說明目前條件。 |
| 10–25 分 | 3–7 | 比較文字相加與整數相加,示範 int()、strip()、replace() 及轉換錯誤。 |
| 25–45 分 | 8–11 | 區分 0 與未知,讀懂 parse_count() 的兩部分。 |
| 45–50 分 | 12 | 學生測試五種輸入。 |
| 50–60 分 | — | 休息。 |
| 60–75 分 | 13–18 | 對答案,確認筆數與欄位數,練習辨認重複資料,說明查詢條件。 |
| 75–95 分 | 19–20 | 老師核對一筆,學生自行核對三筆並記錄。 |
| 95–105 分 | 21 | 請 AI 解釋一個錯誤,用程式測試它的說法。 |
| 105–115 分 | 22–23 | 完成整理紀錄;熟練者挑戰負值檢查。 |
| 115–120 分 | 23 | 重新執行、存檔並提交進度。 |
來賓分析師可用自己的資料工作經驗說明:能轉成數字,不一定代表數值合理;資料沒有某個問題,也不需要為了練習而修改原始檔。
基本目標是測試函式及核對三筆,負值檢查不列入最低標準。
第三週:比較與圖表(120 分鐘)
| 時間 | 投影片 | 帶課安排 |
|---|---|---|
| 0–10 分 | 1–2 | 取回學生各自的問題與已核對數字。 |
| 10–20 分 | 3–6 | 完成新北市示範與臺中市增減人數練習。 |
| 20–35 分 | 7–10 | 解釋百分比的分母與人數排名;百分比可只看示範。 |
| 35–50 分 | 11–14 | 比較表格、長條圖與 Console 文字圖,說明標題、單位與從 0 開始。 |
| 50–60 分 | — | 休息。 |
| 60–75 分 | 15–18 | 計算長條長度,示範 get_count() 與跨年相減。 |
| 75–90 分 | 19 | 用程式重算臺中市的例題,再改成自己的條件。 |
| 90–100 分 | 20–21 | 區分總數、比例與原因,修改 AI 過度推論的句子。 |
| 100–115 分 | 22–23 | 各自完成一張圖或一組計算;熟練者查看多個學年度。 |
| 115–120 分 | 24 | 寫下原始數字、計算方式與說明,提交進度。 |
基本學生沿用現成的排名文字圖也能完成。能做跨年差值的學生使用 get_count();百分比與多年度走勢是選做內容。不要要求每個人同時完成排名、差值、比例和趨勢。
第四週:分析報告(120 分鐘)
| 時間 | 投影片 | 帶課安排 |
|---|---|---|
| 0–15 分 | 1–3 | 打開 REPORT.md,看一份完整短報告的例子。 |
| 15–30 分 | 4–9 | 拆開問題、來源、方法、結果與解釋,改寫只看端點卻說「一直增加」的句子。 |
| 30–50 分 | 10–14 | 每人重新執行,處理路徑、欄位或條件問題,核對一個報告數字。 |
| 50–60 分 | — | 休息。 |
| 60–65 分 | 15–16 | 檢查 AI 修改是否加入沒有證據的原因,寫實際使用紀錄。 |
| 65–85 分 | 17 | 各自完成個人報告。 |
| 85–90 分 | 18 | 準備展示一張圖或一組數字。 |
| 90–115 分 | 18–19 | 個人分享與提問。 |
| 115–120 分 | 20 | 確認檔案與結果,正式提交。第 21 頁為後續延伸。 |
8 人以內可每人 2 分鐘分享、1 分鐘提問。超過 8 人,改每人 1 分鐘分享、30 秒提問;若人數超過這段時間能容納的數量,另排展示時段,課內仍逐一抽問數字與程式,不用改成小組報告。
AI 使用與評量
允許使用外部 AI。課堂要求學生能指出自己的資料、說明一段相關程式,並實際核對數字。AI 使用紀錄寫一件具體發生的事即可,不要求抄整段對話;未使用者如實填寫。
最低完成標準:
- 問題能由資料中的欄位回答。
- main.py 可以執行,結果能重新出現。
- REPORT.md 有來源、方法、原始數字與答案。
- 至少核對一組結果;相減時核對兩個原始數字。
- 學生能親自解釋結果,說出資料尚不能回答的一件事。
評量比重可維持問題與範圍 20%、資料整理 20%、計算與核對 25%、圖表與說明 20%、個人分享與 AI 使用紀錄 15%。沒有使用 AI 不扣分,程式碼長度與圖表華麗程度不作為主要評分。
修改教材
學生文字與例題在 tools/lesson_content.mjs。tools/build_slides.mjs 產生可編輯的正文、表格與圖表,背景及下載頁截圖放在 slides/assets。修改後重新輸出,再逐頁檢查;不要只修改 PowerPoint 卻忘記同步範例程式與教師流程。