# 數據分析特別課程|四週帶課說明 這四週接在 Lesson 18 後面,使用 Lesson 19–22。學生每人完成自己的題目、程式與報告,四週都使用同一個 week19 工作區。四週結束後可以回到原來的專題,繼續開發原有功能。 ## 學生投影片 每週一份可編輯 PowerPoint。說明、例題、練習與解答分頁,投影時依順序帶課;遇到練習先停下來,學生作答後才翻解答。講者備註包含教學提醒、時間安排與來源。 | 週次 | 課題 | 頁數 | 投影片 | | --- | --- | ---: | --- | | Lesson 19 | 資料分析 I:公開資料與問題 | 24 | [第一週](slides/data/Lesson19_資料偵探提出好問題_學生版修訂.pptx) | | Lesson 20 | 資料分析 II:資料整理 | 23 | [第二週](slides/data/Lesson20_先檢查再相信數字_學生版修訂.pptx) | | Lesson 21 | 資料分析 III:比較與圖表 | 24 | [第三週](slides/data/Lesson21_找差異讓圖表說清楚_學生版修訂.pptx) | | Lesson 22 | 資料分析 IV:分析報告 | 21 | [第四週](slides/data/Lesson22_分享你的資料發現_學生版修訂.pptx) | 教師提供的參考稿用於課程版面及教學節奏,沒有沿用電腦科學基礎課的內容。學生頁不放整堂課的流程表,時間安排在本文件與講者備註。 ## 課前準備 - 開啟課堂系統的 week19 專案,確認 main.py、REPORT.md、DATA_SOURCE.md 與 data/students_by_county.csv 都在。 - 專案只使用 Python 內建模組;課堂圖表先使用 Console 文字長條圖。 - 示範用 CSV 已附在專案,不需要每位學生現場連網下載。 - 第一週第 5–6 頁會示範官方來源、CSV 下載按鈕、原始檔名與專案位置。 - 若學生已用舊版起始程式建立工作區,先備份學生的修改,再補上新版 main.py 裡的 get_count()。不要直接覆蓋學生程式。第三週的跨年比較會用到此函式。 ## 資料與範例答案 資料提供者為教育部統計處,資料集名稱為「各級學校縣市別學生人數」。 - [資料集頁面](https://data.gov.tw/dataset/40121) - [原始 CSV](https://stats.moe.gov.tw/files/opendata/edu_B_1_4.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 人 | ## 題目選擇 全班共用一份示範資料,每位學生自己選問題。基本題完成後可以換縣市、學年度或教育階段;不必每人找不同的資料集。 基本題: 1. 114 學年度,哪個縣市的國小學生最多? 2. 選一個縣市,104 和 114 學年度的國小學生相差幾人? 3. 114 學年度,選一個縣市,國小和國中學生相差幾人? 4. 換一個教育階段,比較同一學年度的人數排名。 選做題: 5. 104 到 114 學年度,哪個縣市的國小學生增加最多? 6. 選一個縣市,比較不同學年度的國中人數,找出最多和最少的一年。 7. 選一個縣市,計算國小學生人數的變化百分比。 8. 取同一縣市的多個學年度,檢查期間的變化,避免只憑端點說每年都增減。 自訂題目要能指出欄位與比較條件。如果題目問原因,可把它保留為後續問題,先完成這份資料能回答的人數比較。學生要換其他資料集時,確認資料是公開 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 卻忘記同步範例程式與教師流程。