steveyehtw commited on
Commit
ca96e4f
·
verified ·
1 Parent(s): 72d0a17

Update classroom week20

Browse files
classroom_data/course.json CHANGED
@@ -1,24 +1,463 @@
1
- {"course_id":"2026Fall","title":"2026 Fall 進階專題","demo_class":"2026Fall進階專題日午","weeks":[
2
- {"id":"week01","lesson":1,"title":"任務管理器開發挑戰","project":"能力診斷","output":"文字版任務管理器","template":true},
3
- {"id":"week02","lesson":2,"title":"消失的校徽","project":"校園謎案調查局","output":"探索地點與收集線索的文字案件","workspace_id":"week02","template":true},
4
- {"id":"week03","lesson":3,"title":"線索會改變世界","project":"校園謎案調查局","output":"在原案件加入條件解鎖、證詞變化與多結局","workspace_id":"week02","template":false},
5
- {"id":"week04","lesson":4,"title":"案件體驗升級","project":"校園謎案調查局","output":"在原案件完成互動、提示、測試與修正","workspace_id":"week02","template":false},
6
- {"id":"week05","lesson":5,"title":"案件發布日","project":"校園謎案調查局","output":"原創短案件與線上展示","template":false},
7
- {"id":"week06","lesson":6,"title":"領養一顆神祕蛋","project":"電子寵物進化實驗室","output":"可餵食、玩耍、休息的寵物原型","template":false},
8
- {"id":"week07","lesson":7,"title":"寵物真的活起來","project":"電子寵物進化實驗室","output":"class 與 object 寵物","template":false},
9
- {"id":"week08","lesson":8,"title":"你的選擇決定牠的進化","project":"電子寵物進化實驗室","output":"三條進化路線","template":false},
10
- {"id":"week09","lesson":9,"title":"寵物小屋與圖鑑","project":"電子寵物進化實驗室","output":"動畫、存檔與圖鑑","template":false},
11
- {"id":"week10","lesson":10,"title":"進化博覽會","project":"電子寵物進化實驗室","output":"可重新遊玩的完成版","template":false},
12
- {"id":"week11","lesson":11,"title":"用亂數畫出第一件作品","project":"生成藝術玩具箱","output":"亂數生成畫面","template":false},
13
- {"id":"week12","lesson":12,"title":"對稱、重複與規則之美","project":"生成藝術玩具箱","output":"萬花筒或魔法陣","template":false},
14
- {"id":"week13","lesson":13,"title":"讓作品動起來","project":"生成藝術玩具箱","output":"粒子與軌跡動畫","template":false},
15
- {"id":"week14","lesson":14,"title":"做成一台真的藝術機器","project":"生成藝術玩具箱","output":"參數、seed 與圖片匯出","template":false},
16
- {"id":"week15","lesson":15,"title":"班級數位藝廊","project":"生成藝術玩具箱","output":"系列作品與線上展示","template":false},
17
- {"id":"week16","lesson":16,"title":"Director's Cut 重製計畫","project":"精選作品重製","output":"選題與改進承諾","template":false},
18
- {"id":"week17","lesson":17,"title":"Release Candidate","project":"精選作品重製","output":"通過驗收的上架版","template":false},
19
- {"id":"week18","lesson":18,"title":"Demo Day","project":"精選作品重製","output":"線上作品、展示稿與回顧","template":false},
20
- {"id":"week19","lesson":19,"title":"資料分析 I:公開資料與問題","project":"公開資料分析","output":"從公開資料選定自己的問題,能執行查詢並指出答案在哪個欄位。","workspace_id":"week19","template":true,"guide":{"goal":"從公開資料選定自己的問題,能執行查詢並指出答案在哪個欄位。","source_title":"教育部統計處|各級學校縣市別學生人數","source_url":"https://data.gov.tw/dataset/40121","source_note":"四週使用同一份課堂 CSV:104–114 學年度、22 個縣市、242 筆資料、15 個欄位。檔案已附在 week19 專案。","flow":[{"time":"0–20 分","title":"公開資料","body":"看三筆實際學生人數紀錄,確認年份、縣市與人數欄位。"},{"time":"20–40 分","title":"下載與 CSV","body":"到官方頁面看 CSV 下載位置,確認課堂檔案在 data/students_by_county.csv,讀懂標題列。"},{"time":"40–50 分","title":"選一個問題","body":"各自選定縣市、學年度與教育階段,寫下要比較什麼。"},{"time":"50–60 分","title":"休息","body":"保存目前內容,休息 10 分鐘。"},{"time":"60–80 分","title":"讀取並執行","body":"看 load_rows() 的用途,執行 main.py,核對讀入 242 筆資料與範例人數。"},{"time":"80–95 分","title":"修改條件","body":"改查 114 學年度國中人數,核對前 3 名,再換成自己的條件。"},{"time":"95–105 分","title":"AI 與欄位","body":"請 AI 指出題目所需欄位,到 CSV 檢查它是否存在。"},{"time":"105–120 分","title":"保存個人進度","body":"把題目、來源與一個核對過的數字寫進 REPORT.md,存檔並提交。"}],"checklist":["問題寫明年份、縣市或教育階段","資料名稱與官方網址已記錄","main.py 可以執行","至少在 CSV 找到一筆輸出的人數"],"ai_checkpoint":"把自己的題目和 CSV 欄位名稱交給 AI,請它指出所需欄位,再到原始表格確認。","submission":"問題寫明年份、縣市或教育階段、資料名稱與官方網址已記錄、main.py 可以執行、至少在 CSV 找到一筆輸出的人數","ai_note":"每人各自完成。允許使用外部 AI,保留實際使用與核對紀錄;沒有使用就如實註明。","question_bank":[{"group":"起步題","text":"114 學年度,哪些縣市的國小學生人數最多?"},{"group":"起步題","text":"選一個縣市,104 到 114 學年度的國小學生人數是增加還是減少?"},{"group":"起步題","text":"104 到 114 學年度,哪個縣市的國小學生人數變化最多?"},{"group":"起步題","text":"114 學年度,選一個縣市,國小和國中學生人數差多少?"},{"group":"挑戰題","text":"選一個縣市,哪兩個學年度的國中學生人數最多和最少?"},{"group":"挑戰題","text":"114 學年度,哪個縣市的高中普通科學生人數最多?"},{"group":"挑戰題","text":"104 到 114 學年度,哪個縣市的大專校院校本部學生人數變化比例最大?"},{"group":"挑戰題","text":"114 學年度,哪個縣市的幼兒園與國小學生人數差距最大?"}],"question_rules":["先挑一個數值欄,再加上一個學年度、縣市或教育階段作為比較條件。","問「多少、哪個較多、差多少、如何變化」;不要讓這張表替你猜原因或預測未來。","自訂資料使用公開、彙總的 CSV,留下來源、時間範圍、欄位和單位,不匯入個人資料。"]}},
21
- {"id":"week20","lesson":20,"title":"資料分析 II:資料整理","project":"公開資料分析","output":"讀懂數字轉換與未知值的處理,實際核對三筆資料。","workspace_id":"week19","template":false,"guide":{"goal":"讀懂數字轉換與未知值的處理,實際核對三筆資料。","source_title":"教育部統計處|各級學校縣市別學生人數","source_url":"https://data.gov.tw/dataset/40121","source_note":"四週使用同一份課堂 CSV:104–114 學年度、22 個縣市、242 筆資料、15 個欄位。檔案已附在 week19 專案。","flow":[{"time":"0–25 分","title":"文字與數字","body":"重跑上週程式,練習文字相加、int()、strip() 與 replace()。"},{"time":"25–45 分","title":"0 與未知","body":"比較 0、空字串與破折號,讀懂 parse_count() 的判斷。"},{"time":"45–50 分","title":"測試輸入","body":"每人測試五種輸入,寫下回傳結果。"},{"time":"50–60 分","title":"休息","body":"保存目前內容,休息 10 分鐘。"},{"time":"60–75 分","title":"筆數與重複","body":"核對 242 筆、15 個欄位,分清不同學年度與真正重複的紀錄。"},{"time":"75–95 分","title":"核對三筆","body":"各自到 CSV 找到三筆查詢結果,記下年份、縣市、欄位和人數。"},{"time":"95–105 分","title":"解釋錯誤","body":"請 AI 解釋 int() 的轉換錯誤,用自己的程式測試一個例子。"},{"time":"105–120 分","title":"整理紀錄","body":"完成資料處理與核對紀錄,重新執行並提交進度;負值檢查為選做題。"}],"checklist":["測試五種字串輸入","沒有把未知值直接改成 0","核對三筆結果並記錄條件","保留原始 CSV,程式可重新執行"],"ai_checkpoint":"請 AI 解釋 int() 遇到空字串的錯誤,自己測試一個例子並記下回傳結果。","submission":"測試五種字串輸入、沒有把未知值直接改成 0、核對三筆結果並記錄條件、保留原始 CSV,程式可重新執行","ai_note":"每人各自完成。允許使用外部 AI,保留實際使用與核對紀錄;沒有使用就如實註明。"}},
22
- {"id":"week21","lesson":21,"title":"資料分析 III:比較與圖表","project":"公開資料分析","output":"用排名、差值或圖表回答自己的問題,說明計算方式。","workspace_id":"week19","template":false,"guide":{"goal":"用排名、差值或圖表回答自己的問題,說明計算方式。","source_title":"教育部統計處|各級學校縣市別學生人數","source_url":"https://data.gov.tw/dataset/40121","source_note":"四週使用同一份課堂 CSV:104–114 學年度、22 個縣市、242 筆資料、15 個欄位。檔案已附在 week19 專案。","flow":[{"time":"0–20 分","title":"人數增減","body":"用兩個原始數字相減,完成新北市示範與臺中市練習。"},{"time":"20–35 分","title":"百分比與排名","body":"說明變化百分比的分母,檢查人數排名;百分比計算可選做。"},{"time":"35–50 分","title":"長條圖","body":"比較表格、圖表和 Console 文字圖,說明標題、單位、來源與從 0 開始的尺度。"},{"time":"50–60 分","title":"休息","body":"保存目前內容,休息 10 分鐘。"},{"time":"60–75 分","title":"程式計算","body":"用 get_count() 取出兩個學年度的人數,再計算差值。"},{"time":"75–90 分","title":"修改自己的條件","body":"把例題的縣市或欄位改成自己的專題條件,核對結果。"},{"time":"90–100 分","title":"解釋數字","body":"分清總數、比例和原因,改寫 AI 加入未證實原因的句子。"},{"time":"100–120 分","title":"個人圖表","body":"完成一張圖或一組數字比��,寫下方法與說明,重新執行並提交。"}],"checklist":["圖表或比較結果回答自己的問題","有原始數字和計算方式","圖表寫明學年度、對象、單位和來源","沒有把人數變化直接寫成原因"],"ai_checkpoint":"檢查 AI 是否把人數變化寫成原因,找出能從 CSV 核對的部分,改掉缺少證據的說法。","submission":"圖表或比較結果回答自己的問題、有原始數字和計算方式、圖表寫明學年度、對象、單位和來源、沒有把人數變化直接寫成原因","ai_note":"每人各自完成。允許使用外部 AI,保留實際使用與核對紀錄;沒有使用就如實註明。"}},
23
- {"id":"week22","lesson":22,"title":"資料分析 IV:分析報告","project":"公開資料分析","output":"完成個人報告,重新執行專案,親自說明一組數字與資料範圍。","workspace_id":"week19","template":false,"guide":{"goal":"完成個人報告,重新執行專案,親自說明一組數字與資料範圍。","source_title":"教育部統計處|各級學校縣市別學生人數","source_url":"https://data.gov.tw/dataset/40121","source_note":"四週使用同一份課堂 CSV:104–114 學年度、22 個縣市、242 筆資料、15 個欄位。檔案已附在 week19 專案。","flow":[{"time":"0–15 分","title":"完整報告範例","body":"看一份完整短報告,對照自己的 REPORT.md。"},{"time":"15–30 分","title":"報告各段","body":"寫清問題、來源、方法、數字與解釋,練習修正文句。"},{"time":"30–50 分","title":"重新執行","body":"每人重新打開專案,處理路徑、欄位或條件問題,核對報告數字。"},{"time":"50–60 分","title":"休息","body":"保存目前內容,休息 10 分鐘。"},{"time":"60–65 分","title":"AI 使用紀錄","body":"記錄一件實際使用與核對的事;未使用者如實填寫。"},{"time":"65–85 分","title":"個人報告","body":"各自補完來源、方法、結果和資料還不能回答的事。"},{"time":"85–90 分","title":"準備分享","body":"挑一張圖或一組數字,準備個人說明。"},{"time":"90–115 分","title":"個人分享","body":"每人介紹問題、方法與答案,回答一個問題;依人數調整分享長度。"},{"time":"115–120 分","title":"提交專題","body":"存檔,確認報告和程式一致,提交目前版本。"}],"checklist":["REPORT.md 有問題、來源、方法與結果","程式可重跑,數字與報告一致","資料檔案與 DATA_SOURCE.md 都在","能親自說明數字與一段相關程式","AI 紀錄如實填寫;未使用也可以"],"ai_checkpoint":"檢查 AI 潤飾是否加入原文沒有的原因,保留確定的年份、對象和數字。","submission":"REPORT.md 有問題、來源、方法與結果、程式可重跑,數字與報告一致、資料檔案與 DATA_SOURCE.md 都在、能親自說明數字與一段相關程式、AI 紀錄如實填寫;未使用也可以","ai_note":"每人各自完成。允許使用外部 AI,保留實際使用與核對紀錄;沒有使用就如實註明。"}}
24
- ]}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "course_id": "2026Fall",
3
+ "title": "2026 Fall 進階專題",
4
+ "demo_class": "2026Fall進階專題日午",
5
+ "weeks": [
6
+ {
7
+ "id": "week01",
8
+ "lesson": 1,
9
+ "title": "任務管理器開發挑戰",
10
+ "project": "能力診斷",
11
+ "output": "文字版任務管理器",
12
+ "template": true
13
+ },
14
+ {
15
+ "id": "week02",
16
+ "lesson": 2,
17
+ "title": "消失的校徽",
18
+ "project": "校園謎案調查局",
19
+ "output": "探索地點與收集線索的文字案件",
20
+ "workspace_id": "week02",
21
+ "template": true
22
+ },
23
+ {
24
+ "id": "week03",
25
+ "lesson": 3,
26
+ "title": "線索會改變世界",
27
+ "project": "校園謎案調查局",
28
+ "output": "在原案件加入條件解鎖、證詞變化與多結局",
29
+ "workspace_id": "week02",
30
+ "template": false
31
+ },
32
+ {
33
+ "id": "week04",
34
+ "lesson": 4,
35
+ "title": "案件體驗升級",
36
+ "project": "校園謎案調查局",
37
+ "output": "在原案件完成互動、提示、測試與修正",
38
+ "workspace_id": "week02",
39
+ "template": false
40
+ },
41
+ {
42
+ "id": "week05",
43
+ "lesson": 5,
44
+ "title": "案件發布日",
45
+ "project": "校園謎案調查局",
46
+ "output": "原創短案件與線上展示",
47
+ "template": false
48
+ },
49
+ {
50
+ "id": "week06",
51
+ "lesson": 6,
52
+ "title": "領養一顆神祕蛋",
53
+ "project": "電子寵物進化實驗室",
54
+ "output": "可餵食、玩耍、休息的寵物原型",
55
+ "template": false
56
+ },
57
+ {
58
+ "id": "week07",
59
+ "lesson": 7,
60
+ "title": "寵物真的活起來",
61
+ "project": "電子寵物進化實驗室",
62
+ "output": "class 與 object 寵物",
63
+ "template": false
64
+ },
65
+ {
66
+ "id": "week08",
67
+ "lesson": 8,
68
+ "title": "你的選擇決定牠的進化",
69
+ "project": "電子寵物進化實驗室",
70
+ "output": "三條進化路線",
71
+ "template": false
72
+ },
73
+ {
74
+ "id": "week09",
75
+ "lesson": 9,
76
+ "title": "寵物小屋與圖鑑",
77
+ "project": "電子寵物進化實驗室",
78
+ "output": "動畫、存檔與圖鑑",
79
+ "template": false
80
+ },
81
+ {
82
+ "id": "week10",
83
+ "lesson": 10,
84
+ "title": "進化博覽會",
85
+ "project": "電子寵物進化實驗室",
86
+ "output": "可重新遊玩的完成版",
87
+ "template": false
88
+ },
89
+ {
90
+ "id": "week11",
91
+ "lesson": 11,
92
+ "title": "用亂數畫出第一件作品",
93
+ "project": "生成藝術玩具箱",
94
+ "output": "亂數生成畫面",
95
+ "template": false
96
+ },
97
+ {
98
+ "id": "week12",
99
+ "lesson": 12,
100
+ "title": "對稱、重複與規則之美",
101
+ "project": "生成藝術玩具箱",
102
+ "output": "萬花筒或魔法陣",
103
+ "template": false
104
+ },
105
+ {
106
+ "id": "week13",
107
+ "lesson": 13,
108
+ "title": "讓作品動起來",
109
+ "project": "生成藝術玩具箱",
110
+ "output": "粒子與軌跡動畫",
111
+ "template": false
112
+ },
113
+ {
114
+ "id": "week14",
115
+ "lesson": 14,
116
+ "title": "做成一台真的藝術機器",
117
+ "project": "生成藝術玩具箱",
118
+ "output": "參數、seed 與圖片匯出",
119
+ "template": false
120
+ },
121
+ {
122
+ "id": "week15",
123
+ "lesson": 15,
124
+ "title": "班級數位藝廊",
125
+ "project": "生成藝術玩具箱",
126
+ "output": "系列作品與線上展示",
127
+ "template": false
128
+ },
129
+ {
130
+ "id": "week16",
131
+ "lesson": 16,
132
+ "title": "Director's Cut 重製計畫",
133
+ "project": "精選作品重製",
134
+ "output": "選題與改進承諾",
135
+ "template": false
136
+ },
137
+ {
138
+ "id": "week17",
139
+ "lesson": 17,
140
+ "title": "Release Candidate",
141
+ "project": "精選作品重製",
142
+ "output": "通過驗收的上架版",
143
+ "template": false
144
+ },
145
+ {
146
+ "id": "week18",
147
+ "lesson": 18,
148
+ "title": "Demo Day",
149
+ "project": "精選作品重製",
150
+ "output": "線上作品、展示稿與回顧",
151
+ "template": false
152
+ },
153
+ {
154
+ "id": "week19",
155
+ "lesson": 19,
156
+ "title": "資料分析 I:公開資料與問題",
157
+ "project": "公開資料分析",
158
+ "output": "從公開資料選定自己的問題,能執行查詢並指出答案在哪個欄位。",
159
+ "workspace_id": "week19",
160
+ "template": true,
161
+ "guide": {
162
+ "goal": "從公開資料選定自己的問題,能執行查詢並指出答案在哪個欄位。",
163
+ "source_title": "教育部統計處|各級學校縣市別學生人數",
164
+ "source_url": "https://data.gov.tw/dataset/40121",
165
+ "source_note": "四週使用同一份課堂 CSV:104–114 學年度、22 個縣市、242 筆資料、15 個欄位。檔案已附在 week19 專案。",
166
+ "flow": [
167
+ {
168
+ "time": "0–20 分",
169
+ "title": "公開資料",
170
+ "body": "看三筆實際學生人數紀錄,確認年份、縣市與人數欄位。"
171
+ },
172
+ {
173
+ "time": "20–40 分",
174
+ "title": "下載與 CSV",
175
+ "body": "到官方頁面看 CSV 下載位置,確認課堂檔案在 data/students_by_county.csv,讀懂標題列。"
176
+ },
177
+ {
178
+ "time": "40–50 分",
179
+ "title": "選一個問題",
180
+ "body": "各自選定縣市、學年度與教育階段,寫下要比較什麼。"
181
+ },
182
+ {
183
+ "time": "50–60 分",
184
+ "title": "休息",
185
+ "body": "保存目前內容,休息 10 分鐘。"
186
+ },
187
+ {
188
+ "time": "60–80 分",
189
+ "title": "讀取並執行",
190
+ "body": "看 load_rows() 的用途,執行 main.py,核對讀入 242 筆資料與範例人數。"
191
+ },
192
+ {
193
+ "time": "80–95 分",
194
+ "title": "修改條件",
195
+ "body": "改查 114 學年度國中人數,核對前 3 名,再換成自己的條件。"
196
+ },
197
+ {
198
+ "time": "95–105 分",
199
+ "title": "AI 與欄位",
200
+ "body": "請 AI 指出題目所需欄位,到 CSV 檢查它是否存在。"
201
+ },
202
+ {
203
+ "time": "105–120 分",
204
+ "title": "保存個人進度",
205
+ "body": "把題目、來源與一個核對過的數字寫進 REPORT.md,存檔並提交。"
206
+ }
207
+ ],
208
+ "checklist": [
209
+ "問題寫明年份、縣市或教育階段",
210
+ "資料名稱與官方網址已記錄",
211
+ "main.py 可以執行",
212
+ "至少在 CSV 找到一筆輸出的人數"
213
+ ],
214
+ "ai_checkpoint": "把自己的題目和 CSV 欄位名稱交給 AI,請它指出所需欄位,再到原始表格確認。",
215
+ "submission": "問題寫明年份、縣市或教育階段、資料名稱與官方網址已記錄、main.py 可以執行、至少在 CSV 找到一筆輸出的人數",
216
+ "ai_note": "每人各自完成。允許使用外部 AI,保留實際使用與核對紀錄;沒有使用就如實註明。",
217
+ "question_bank": [
218
+ {
219
+ "group": "起步題",
220
+ "text": "114 學年度,哪些縣市的國小學生人數最多?"
221
+ },
222
+ {
223
+ "group": "起步題",
224
+ "text": "選一個縣市,104 到 114 學年度的國小學生人數是增加還是減少?"
225
+ },
226
+ {
227
+ "group": "起步題",
228
+ "text": "104 到 114 學年度,哪個縣市的國小學生人數變化最多?"
229
+ },
230
+ {
231
+ "group": "起步題",
232
+ "text": "114 學年度,選一個縣市,國小和國中學生人數差多少?"
233
+ },
234
+ {
235
+ "group": "挑戰題",
236
+ "text": "選一個縣市,哪兩個學年度的國中學生人數最多和最少?"
237
+ },
238
+ {
239
+ "group": "挑戰題",
240
+ "text": "114 學年度,哪個縣市的高中普通科學生人數最多?"
241
+ },
242
+ {
243
+ "group": "挑戰題",
244
+ "text": "104 到 114 學年度,哪個縣市的大專校院校本部學生人數變化比例最大?"
245
+ },
246
+ {
247
+ "group": "挑戰題",
248
+ "text": "114 學年度,哪個縣市的幼兒園與國小學生人數差距最大?"
249
+ }
250
+ ],
251
+ "question_rules": [
252
+ "先挑一個數值欄,再加上一個學年度、縣市或教育階段作為比較條件。",
253
+ "問「多少、哪個較多、差多少、如何變化」;不要讓這張表替你猜原因或預測未來。",
254
+ "自訂資料使用公開、彙總的 CSV,留下來源、時間範圍、欄位和單位,不匯入個人資料。"
255
+ ]
256
+ }
257
+ },
258
+ {
259
+ "id": "week20",
260
+ "lesson": 20,
261
+ "title": "資料分析 II:資料整理",
262
+ "project": "公開資料分析",
263
+ "output": "讀懂數字轉換與未知值的處理,實際核對三筆資料。",
264
+ "workspace_id": "week19",
265
+ "template": true,
266
+ "guide": {
267
+ "goal": "讀懂數字轉換與未知值的處理,實際核對三筆資料。",
268
+ "source_title": "教育部統計處|各級學校縣市別學生人數",
269
+ "source_url": "https://data.gov.tw/dataset/40121",
270
+ "source_note": "四週使用同一份課堂 CSV:104–114 學年度、22 個縣市、242 筆資料、15 個欄位。檔案已附在 week19 專案。",
271
+ "flow": [
272
+ {
273
+ "time": "0–25 分",
274
+ "title": "文字與數字",
275
+ "body": "重跑上週程式,練習文字相加、int()、strip() 與 replace()。"
276
+ },
277
+ {
278
+ "time": "25–45 分",
279
+ "title": "0 與未知",
280
+ "body": "比較 0、空字串與破折號,讀懂 parse_count() 的判斷。"
281
+ },
282
+ {
283
+ "time": "45–50 分",
284
+ "title": "測試輸入",
285
+ "body": "每人測試五種輸入,寫下回傳結果。"
286
+ },
287
+ {
288
+ "time": "50–60 分",
289
+ "title": "休息",
290
+ "body": "保存目前內容,休息 10 分鐘。"
291
+ },
292
+ {
293
+ "time": "60–75 分",
294
+ "title": "筆數與重複",
295
+ "body": "核對 242 筆、15 個欄位,分清不同學年度與真正重複的紀錄。"
296
+ },
297
+ {
298
+ "time": "75–95 分",
299
+ "title": "核對三筆",
300
+ "body": "各自到 CSV 找到三筆查詢結果,記下年份、縣市、欄位和人數。"
301
+ },
302
+ {
303
+ "time": "95–105 分",
304
+ "title": "解釋錯誤",
305
+ "body": "請 AI 解釋 int() 的轉換錯誤,用自己的程式測試一個例子。"
306
+ },
307
+ {
308
+ "time": "105–120 分",
309
+ "title": "整理紀錄",
310
+ "body": "完成資料處理與核對紀錄,重新執行並提交進度;負值檢查為選做題。"
311
+ }
312
+ ],
313
+ "checklist": [
314
+ "測試五種字串輸入",
315
+ "沒有把未知值直接改成 0",
316
+ "核對三筆結果並記錄條件",
317
+ "保留原始 CSV,程式可重新執行"
318
+ ],
319
+ "ai_checkpoint": "請 AI 解釋 int() 遇到空字串的錯誤,自己測試一個例子並記下回傳結果。",
320
+ "submission": "測試五種字串輸入、沒有把未知值直接改成 0、核對三筆結果並記錄條件、保留原始 CSV,程式可重新執行",
321
+ "ai_note": "每人各自完成。允許使用外部 AI,保留實際使用與核對紀錄;沒有使用就如實註明。"
322
+ }
323
+ },
324
+ {
325
+ "id": "week21",
326
+ "lesson": 21,
327
+ "title": "資料分析 III:比較與圖表",
328
+ "project": "公開資料分析",
329
+ "output": "用排名、差值或圖表回答自己的問題,說明計算方式。",
330
+ "workspace_id": "week19",
331
+ "template": false,
332
+ "guide": {
333
+ "goal": "用排名、差值或圖表回答自己的問題,說明計算方式。",
334
+ "source_title": "教育部統計處|各級學校縣市別學生人數",
335
+ "source_url": "https://data.gov.tw/dataset/40121",
336
+ "source_note": "四週使用同一份課堂 CSV:104–114 學年度、22 個縣市、242 筆資料、15 個欄位。檔案已附在 week19 專案。",
337
+ "flow": [
338
+ {
339
+ "time": "0–20 分",
340
+ "title": "人數增減",
341
+ "body": "用兩個原始數字相減,完成新北市示範與臺中市練習。"
342
+ },
343
+ {
344
+ "time": "20–35 分",
345
+ "title": "百分比與排名",
346
+ "body": "說明變化百分比的分母,檢查人數排名;百分比計算可選做。"
347
+ },
348
+ {
349
+ "time": "35–50 分",
350
+ "title": "長條圖",
351
+ "body": "比較表格、圖表和 Console 文字圖,說明標題、單位、來源與從 0 開始的尺度。"
352
+ },
353
+ {
354
+ "time": "50–60 分",
355
+ "title": "休息",
356
+ "body": "保存目前內容,休息 10 分鐘。"
357
+ },
358
+ {
359
+ "time": "60–75 分",
360
+ "title": "程式計算",
361
+ "body": "用 get_count() 取出兩個學年度的人數,再計算差值。"
362
+ },
363
+ {
364
+ "time": "75–90 分",
365
+ "title": "修改自己的條件",
366
+ "body": "把例題的縣市或欄位改成自己的專題條件,核對結果。"
367
+ },
368
+ {
369
+ "time": "90–100 分",
370
+ "title": "解釋數字",
371
+ "body": "分清總數、比例和原因,改寫 AI 加入未證實原因的句子。"
372
+ },
373
+ {
374
+ "time": "100–120 分",
375
+ "title": "個人圖表",
376
+ "body": "完成一張圖或一組數字比較,寫下方法與說明,重新執行並提交。"
377
+ }
378
+ ],
379
+ "checklist": [
380
+ "圖表或比較結果回答自己的問題",
381
+ "有原始數字和計算方式",
382
+ "圖表寫明學年度、對象、單位和來源",
383
+ "沒有把人數變化直接寫成原因"
384
+ ],
385
+ "ai_checkpoint": "檢查 AI 是否把人數變化寫成原因,找出能從 CSV 核對的部分,改掉缺少證據的說法。",
386
+ "submission": "圖表或比較結果回答自己的問題、有原始數字和計算方式、圖表寫明學年度、對象、單位和來源、沒有把人數變化直接寫成原因",
387
+ "ai_note": "每人各自完成。允許使用外部 AI,保留實際使用與核對紀錄;沒有使用就如實註明。"
388
+ }
389
+ },
390
+ {
391
+ "id": "week22",
392
+ "lesson": 22,
393
+ "title": "資料分析 IV:分析報告",
394
+ "project": "公開資料分析",
395
+ "output": "完成個人報告,重新執行專案,親自說明一組數字與資料範圍。",
396
+ "workspace_id": "week19",
397
+ "template": false,
398
+ "guide": {
399
+ "goal": "完成個人報告,重新執行專案,親自說明一組數字與資料範圍。",
400
+ "source_title": "教育部統計處|各級學校縣市別學生人數",
401
+ "source_url": "https://data.gov.tw/dataset/40121",
402
+ "source_note": "四週使用同一份課堂 CSV:104–114 學年度、22 個縣市、242 筆資料、15 個欄位。檔案已附在 week19 專案。",
403
+ "flow": [
404
+ {
405
+ "time": "0–15 分",
406
+ "title": "完整報告範例",
407
+ "body": "看一份完整短報告,對照自己的 REPORT.md。"
408
+ },
409
+ {
410
+ "time": "15–30 分",
411
+ "title": "報告各段",
412
+ "body": "寫清問題、來源、方法、數字與解釋,練習修正文句。"
413
+ },
414
+ {
415
+ "time": "30–50 分",
416
+ "title": "重新執行",
417
+ "body": "每人重新打開專案,處理路徑、欄位或條件問題,核對報告數字。"
418
+ },
419
+ {
420
+ "time": "50–60 分",
421
+ "title": "休息",
422
+ "body": "保存目前內容,休息 10 分鐘。"
423
+ },
424
+ {
425
+ "time": "60–65 分",
426
+ "title": "AI 使用紀錄",
427
+ "body": "記錄一件實際使用與核對的事;未使用者如實填寫。"
428
+ },
429
+ {
430
+ "time": "65–85 分",
431
+ "title": "個人報告",
432
+ "body": "各自補完來源、方法、結果和資料還不能回答的事。"
433
+ },
434
+ {
435
+ "time": "85–90 分",
436
+ "title": "準備分享",
437
+ "body": "挑一張圖或一組數字,準備個人說明。"
438
+ },
439
+ {
440
+ "time": "90–115 分",
441
+ "title": "個人分享",
442
+ "body": "每人介紹問題、方法與答案,回答一個問題;依人數調整分享長度。"
443
+ },
444
+ {
445
+ "time": "115–120 分",
446
+ "title": "提交專題",
447
+ "body": "存檔,確認報告和程式一致,提交目前版本。"
448
+ }
449
+ ],
450
+ "checklist": [
451
+ "REPORT.md 有問題、來源、方法與結果",
452
+ "程式可重跑,數字與報告一致",
453
+ "資料檔案與 DATA_SOURCE.md 都在",
454
+ "能親自說明數字與一段相關程式",
455
+ "AI 紀錄如實填寫;未使用也可以"
456
+ ],
457
+ "ai_checkpoint": "檢查 AI 潤飾是否加入原文沒有的原因,保留確定的年份、對象和數字。",
458
+ "submission": "REPORT.md 有問題、來源、方法與結果、程式可重跑,數字與報告一致、資料檔案與 DATA_SOURCE.md 都在、能親自說明數字與一段相關程式、AI 紀錄如實填寫;未使用也可以",
459
+ "ai_note": "每人各自完成。允許使用外部 AI,保留實際使用與核對紀錄;沒有使用就如實註明。"
460
+ }
461
+ }
462
+ ]
463
+ }
classroom_data/templates/week20/data.csv ADDED
@@ -0,0 +1,60 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ "統計期","土地面積[平方公里]","人口數/總計[人]","人口數/男[人]","人口數/女[人]","人口密度[人/平方公里]","性比例[男/百女]"
2
+ "57年底",272.1418,1604543,852704,751839,5896,113.42
3
+ "58年底",272.1418,1712108,927260,784848,6291,118.15
4
+ "59年底",272.1418,1769568,952803,816765,6502,116.66
5
+ "60年底",272.1418,1839641,988747,850894,6760,116.20
6
+ "61年底",272.1418,1909067,1019270,889797,7015,114.55
7
+ "62年底",272.1418,1958396,1040013,918383,7196,113.24
8
+ "63年底",272.1418,2003604,1057951,945653,7362,111.88
9
+ "64年底",272.1418,2043318,1072231,971087,7508,110.42
10
+ "65年底",272.1418,2089288,1093322,995966,7677,109.78
11
+ "66年底",272.1418,2127625,1111266,1016359,7818,109.34
12
+ "67年底",272.1418,2163605,1127034,1036571,7950,108.73
13
+ "68年底",272.1418,2196237,1139966,1056271,8070,107.92
14
+ "69年底",272.1418,2220427,1149660,1070767,8159,107.37
15
+ "70年底",272.1418,2270983,1171206,1099777,8345,106.49
16
+ "71年底",272.1418,2327641,1197594,1130047,8553,105.98
17
+ "72年底",272.1682,2388374,1225675,1162699,8775,105.42
18
+ "73年底",272.1682,2449702,1253640,1196062,9001,104.81
19
+ "74年底",272.1682,2507620,1280553,1227067,9213,104.36
20
+ "75年底",271.7741,2575180,1311895,1263285,9475,103.85
21
+ "76年底",271.7741,2637100,1340224,1296876,9703,103.34
22
+ "77年底",271.7741,2681857,1359935,1321922,9868,102.88
23
+ "78年底",271.7741,2702678,1367476,1335202,9945,102.42
24
+ "79年底",271.7741,2719659,1372234,1347425,10007,101.84
25
+ "80年底",271.7741,2717992,1369556,1348436,10001,101.57
26
+ "81年底",271.7997,2696073,1356914,1339159,9919,101.33
27
+ "82年底",271.7997,2653245,1332206,1321039,9762,100.85
28
+ "83年底",271.7997,2653578,1329612,1323966,9763,100.43
29
+ "84年底",271.7997,2632863,1317406,1315457,9687,100.15
30
+ "85年底",271.7997,2605374,1302249,1303125,9586,99.93
31
+ "86年底",271.7997,2598493,1295637,1302856,9560,99.45
32
+ "87年底",271.7997,2639939,1311789,1328150,9713,98.77
33
+ "88年底",271.7997,2641312,1309434,1331878,9718,98.31
34
+ "89年底",271.7997,2646474,1309308,1337166,9737,97.92
35
+ "90年底",271.7997,2633802,1300179,1333623,9690,97.49
36
+ "91年底",271.7997,2641856,1301458,1340398,9720,97.09
37
+ "92年底",271.7997,2627138,1291742,1335396,9666,96.73
38
+ "93年底",271.7997,2622472,1286303,1336169,9649,96.27
39
+ "94年底",271.7997,2616375,1279513,1336862,9626,95.71
40
+ "95年底",271.7997,2632242,1282691,1349551,9684,95.05
41
+ "96年底",271.7997,2629269,1277556,1351713,9674,94.51
42
+ "97年底",271.7997,2622923,1270948,1351975,9650,94.01
43
+ "98年底",271.7997,2607428,1260450,1346978,9593,93.58
44
+ "99年底",271.7997,2618772,1262554,1356218,9635,93.09
45
+ "100年底",271.7997,2650968,1276343,1374625,9753,92.85
46
+ "101年底",271.7997,2673226,1285361,1387865,9835,92.61
47
+ "102年底",271.7997,2686516,1289945,1396571,9884,92.37
48
+ "103年底",271.7997,2702315,1295636,1406679,9942,92.11
49
+ "104年底",271.7997,2704810,1295462,1409348,9951,91.92
50
+ "105年底",271.7997,2695704,1289510,1406194,9918,91.70
51
+ "106年底",271.7997,2683257,1281917,1401340,9872,91.48
52
+ "107年底",271.7997,2668572,1273375,1395197,9818,91.27
53
+ "108年底",271.7997,2645041,1260049,1384992,9732,90.98
54
+ "109年底",271.7997,2602418,1238618,1363800,9575,90.82
55
+ "110年底",271.7997,2524393,1201966,1322427,9288,90.89
56
+ "111年底",271.7997,2480681,1177022,1303659,9127,90.29
57
+ "112年底",271.7997,2511886,1187064,1324822,9242,89.60
58
+ "113年底",271.7997,2490869,1174537,1316332,9164,89.23
59
+ "114年底",271.7997,2439507,1148819,1290688,8975,89.01
60
+
classroom_data/templates/week20/main.py ADDED
@@ -0,0 +1 @@
 
 
1
+ # Lesson Python 套版