第三階段課程:Code Inventors 💡

給完成第二階段(Code Builders)的學生,適合國小四、五年級或進度快的三年級。這一階段用積木把一般程式語言的核心觀念完整走一遍:參數、比較與布林邏輯、多個變數、串列、演算法效率、回傳值與遞迴、隨機與平行程式,最後做出一個完整的遊戲。全部都用下拉選單,不需要打字。

1. 程式觀念地圖

第二階段和第三階段合起來,涵蓋一般程式語言(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 遊戲工作室

2. 16 週總覽

週單元主要內容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

3. 單元細節

🎛️

單元 1:函式參數(第 1–2 週,12 關)

「執行 走 輸入 🎛️ 3」把 3 送進函式,函式裡的「重複 🎛️ 輸入 次」就重複 3 次。

開始 ➜

學習目標

  • 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 關:大小不同的漩渦,固定次數會撞牆。
⚖️

單元 2:比較與邏輯(第 3–4 週,12 關)

變數有名字了;條件可以比大小,也可以用「而且/或者/不是」組合。

開始 ➜

學習目標

  • I can compare numbers with =, >, <, ≥ and ≤.
  • I can use AND, OR and NOT.
  • I can find a bug at the edge (> or ≥).

不插電暖身

「身高門」:比 120 公分高才能玩,剛好 120 可以嗎?再加一條「而且要有大人陪」。

重點觀念

  • 第 3 關:分數 0、2、4、6 永遠不會「= 5」,要用「≥」。
  • 第 5 關:「> 3」不包含 3。
  • 第 9、10 關:同一張地圖,「或者」和「而且」數出不同答案。
🎒

單元 3:多個變數(第 5–6 週,11 關)

每個方塊都要選它改的是哪個盒子;變數可以複製、互相加、當開關、記最大值、交換。

開始 ➜

學習目標

  • I can use two variables for two different things.
  • I can copy one variable into another.
  • I can swap two variables with a helper.

不插電暖身

兩個紙盒、兩杯果汁:怎麼交換兩杯果汁?(需要第三個空杯子=第 10 關。)

重點觀念

  • 第 2 關:選錯下拉選單=放錯盒子。
  • 第 7 關:先複製,數字才不會被蓋掉。
  • 第 10 關:「甲 = 乙、乙 = 甲」會弄丟一個數字。
📦

單元 4:串列(第 7–8 週,12 關)

一個盒子依照順序裝很多數字。地圖下方會顯示 📦 [3, 2, 4]。

開始 ➜

學習目標

  • I can do something for each item in a list.
  • I can add items to a list.
  • I can sum, count, search and find the biggest item.

不插電暖身

「排隊的盒子」:5 位學生各拿一張數字卡排成一排,老師依序點每個人,全班一起加總或找最大的。

重點觀念

  • 第 6 關:最後一排沒有轉角,最容易漏掉(邊界問題)。
  • 第 10 關:搜尋用 0/1 盒子記「有沒有」。
  • 第 11 關:記住「第幾個」,不只是「是多少」。
🧪

單元 5:演算法比賽(第 9 週,6 關)

電池只夠走幾步:同一個問題,用不同規則走,步數差很多。

開始 ➜

學習目標

  • I can compare two algorithms that solve the same problem.
  • I can explain why one is better.

重點觀念

  • 第 1–3 關:右手貼牆、先直走、左手貼牆,各自在一張地圖最快,沒有永遠最好的規則。
  • 第 4 關:找到就停(搜尋提早結束)。
🌀

單元 6:函式大師(第 10–11 週,9 關)

函式可以把答案「↩️ 回傳」;函式也可以呼叫自己(遞迴)。

開始 ➜

學習目標

  • I can write a function that reports an answer.
  • I can explain how a function can call itself and still stop.

不插電暖身

「俄羅斯娃娃」:每打開一個,裡面有一個更小的,直到最小那個打不開(輸入 = 0 就停)。

重點觀念

  • 第 4 關:回傳會立刻結束函式。
  • 第 5 關:送「輸入」會停不下來,要送「輸入 − 1」。
  • 第 7、8 關:在呼叫之前或之後做事,順序會反過來。
🎮

單元 7:遊戲工作室「抓小龍豪華版」(第 12–13 週,8 個版本)

在 Story Lab 的「🎮 遊戲」路線,每一版接著自己上一版做:分數、生命、時間三個變數,加上隨機和遊戲結束。

開始 ➜

8 個版本

  1. v0.1 規則與起始值
  2. v0.2 小龍隨機跑
  3. v0.3 點小龍得分
  4. v0.4 機器人陷阱扣生命
  5. v0.5 生命 ≤ 0 遊戲結束
  6. v0.6 同時跑的計時器
  7. v0.7 🎲 幸運加分
  8. v1.0 分數 ≥ 10 獲勝

重點觀念

  • v0.6:用廣播讓計時器和遊戲「同時」進行。
  • 🛑 全部停止之後,要重新按執行才能再玩。
🚀

單元 8:期末專題「我的遊戲」(第 14–16 週)

企劃 → 製作 → 交換試玩 → 改編並標示原作者 → 發表。

開始 ➜

頁面上的檢查表

  • 一開始說明規則
  • 至少 2 個遊戲變數
  • 有隨機的東西
  • 用比較寫規則
  • 遊戲有結束的方式
  • 玩家可以點東西

評量規準(每項 1–3 分)

  • 變數:每個變數都有清楚的用途。
  • 規則:用比較決定輸贏。
  • 迭代:試玩後至少改一個地方,並說明原因。
  • 標示出處:改編別人的作品時寫出原作者。