File size: 10,294 Bytes
5fbb440
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
# 數據分析特別課程|四週帶課說明

這四週接在 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 卻忘記同步範例程式與教師流程。