學習目標
- I can send a number into a function.
- I can write a function that uses its input.
- I can send a variable as the input.
不插電暖身
「點餐機」:廚師只會一道菜的做法(函式),客人喊「2 份!」「5 份!」。做法要改嗎?改的是什麼?
重點觀念
- 第 3 關:分辨「改輸入」和「改函式」。
- 第 8 關:右轉 3 次 = 左轉。
- 第 12 關:大小不同的漩渦,固定次數會撞牆。
給完成第二階段(Code Builders)的學生,適合國小四、五年級或進度快的三年級。這一階段用積木把一般程式語言的核心觀念完整走一遍:參數、比較與布林邏輯、多個變數、串列、演算法效率、回傳值與遞迴、隨機與平行程式,最後做出一個完整的遊戲。全部都用下拉選單,不需要打字。
第二階段和第三階段合起來,涵蓋一般程式語言(Python、JavaScript)入門會教的觀念。右欄是學生第一次學到這個觀念的地方。
| 觀念 | 積木長什麼樣子 | 在哪裡學 |
|---|---|---|
| 順序、迴圈、條件 | 前進、重複 N 次、重複直到 🏁、如果/否則 | 100 關、第二階段 Bug Hunt |
| 函式(定義、呼叫) | 🧩 定義、執行函式 | 第二階段 Function Factory |
| 變數(一個) | 🔢 計數器設為/改變/說出 | 第二階段 Counting Robots |
| 事件、平行、廣播 | 👆 當被點擊、📣 廣播、📩 當收到 | 第二階段 Story Lab、產品工坊 |
| 參數 | 執行 走 輸入 🎛️ 3、重複 🎛️ 輸入 次 | 🎛️ 單元 1 函式參數 |
| 比較運算 | 如果 👣 步數 ≥ 3、重複直到 ⭐ 分數 > 5 | ⚖️ 單元 2 比較與邏輯 |
| 布林邏輯 | 當…時重複、如果 不是、而且/或者、巢狀如果 | ⚖️ 單元 2 比較與邏輯 |
| 多個變數與狀態 | 📦 寶石數 設為 👣 步數、0/1 開關、交換變數 | 🎒 單元 3 多個變數 |
| 串列(陣列) | 對每個 📦 項目、加進串列、📏 串列長度 | 📦 單元 4 串列 |
| 常見演算法 | 加總、計數、找最大值、搜尋、找位置 | 🎒 單元 3、📦 單元 4 |
| 演算法效率 | 電池限制步數、比較兩種規則 | 🧪 單元 5 演算法比賽 |
| 回傳值 | ↩️ 回傳、📦 答案 設為 ↩️ 函式 | 🌀 單元 6 函式大師 |
| 遞迴 | 函式用「輸入 − 1」呼叫自己 | 🌀 單元 6 函式大師 |
| 隨機、計時、遊戲狀態 | 🎲 隨機、機率、❤️ 生命、⏱ 時間、🛑 全部停止 | 🎮 單元 7 遊戲工作室 |
| 週 | 單元 | 主要內容 | CSTA |
|---|---|---|---|
| 第 1 週 | 🎛️ 函式參數 1–6 | 不插電「點餐機」。輸入是送進函式的數字;同一個函式送不同數字;修正數字;自己寫「重複 輸入 次」。 | 1B-AP-11 |
| 第 2 週 | 🎛️ 函式參數 7–12 | 數字規律、右轉 3 次 = 左轉、轉角函式、把計數器當輸入、魔王關。 | 1B-AP-11, 1B-AP-09 |
| 第 3 週 | ⚖️ 比較與邏輯 1–6 | 不插電「身高門」。變數取名字、= 和 ≥、小於、> 3 和 ≥ 3 的差別、用變數決定方向。 | 1B-AP-10 |
| 第 4 週 | ⚖️ 比較與邏輯 7–12 | 當…時重複、如果不是、或者、而且、如果裡面的如果、迷宮規則魔王關。 | 1B-AP-10, 1B-AP-15 |
| 第 5 週 | 🎒 多個變數 1–6 | 不插電「兩個盒子」。同時數兩種東西、放錯盒子、每個盒子都要起點、用變數改變變數、把變數送進函式。 | 1B-AP-09 |
| 第 6 週 | 🎒 多個變數 7–11 | 複製變數存起來、0/1 開關、找最大值、交換兩個變數、寶石報告。 | 1B-AP-09, 1B-AP-08 |
| 第 7 週 | 📦 串列 1–6 | 不插電「排隊的盒子」。對每個項目、項目當輸入、加總、數符合條件的、做出串列、別忘了最後一個。 | 1B-AP-09 |
| 第 8 週 | 📦 串列 7–12 | 最大值、串列帶著函式、迴圈做出串列、搜尋 7、找第幾個、寶藏調查。 | 1B-AP-09, 1B-AP-08 |
| 第 9 週 | 🧪 演算法比賽 1–6 | 兩條路都到得了、換個順序問、每種規則都有贏的地方、找到就停、不用再數、省電尋寶。 | 1B-AP-08 |
| 第 10 週 | 🌀 函式大師 1–5 | 會回答的函式、別忘了回傳、變兩倍機器、提早回傳、呼叫自己的函式。 | 1B-AP-11 |
| 第 11 週 | 🌀 函式大師 6–9 | 越來越小的漩渦、遞迴倒數、之前還是之後、漩渦寶藏報告。 | 1B-AP-11 |
| 第 12 週 | 🎮 遊戲工作室 v0.1–v0.4 | 規則與起始值、隨機移動、得分、會扣生命的陷阱。 | 1B-AP-09, 1B-AP-10 |
| 第 13 週 | 🎮 遊戲工作室 v0.5–v1.0 | 遊戲結束、和遊戲同時跑的計時器、幸運加分、贏的條件;請同學試玩。 | 1B-AP-10, 1B-AP-13 |
| 第 14 週 | 🚀 期末專題:遊戲企劃 | 寫規則(怎麼贏、怎麼輸、變數有哪些)、畫畫面、列出 v0.1 到 v1.0。 | 1B-AP-11, 1B-AP-13 |
| 第 15 週 | 🚀 期末專題:✨ 我的遊戲 | 兩人一組製作;交換試玩;改編同學的遊戲並標示原作者。 | 1B-AP-12, 1B-AP-14, 1B-AP-16 |
| 第 16 週 | 🚀 遊戲發表會 | 上台展示:用了哪些變數、比較和隨機;試玩後改了什麼、為什麼。 | 1B-AP-17 |
「點餐機」:廚師只會一道菜的做法(函式),客人喊「2 份!」「5 份!」。做法要改嗎?改的是什麼?
「身高門」:比 120 公分高才能玩,剛好 120 可以嗎?再加一條「而且要有大人陪」。
兩個紙盒、兩杯果汁:怎麼交換兩杯果汁?(需要第三個空杯子=第 10 關。)
「排隊的盒子」:5 位學生各拿一張數字卡排成一排,老師依序點每個人,全班一起加總或找最大的。
「俄羅斯娃娃」:每打開一個,裡面有一個更小的,直到最小那個打不開(輸入 = 0 就停)。