top of page

我發誓,我從來沒有想過自己會在週末早晨和兩個小孩一起在客廳地板上排列著一堆彩色卡片,試圖「除錯」一個「人類程式」。


但當你有兩個對科技充滿好奇的孩子,而且他們剛剛聽說「編程」是未來最重要的技能時,事情就會朝著你完全沒有預料到的方向發展,就像我嘗試安裝的那些「簡單組裝」的家具一樣。


「爸爸,什麼是程式設計?」大兒子在一個平常的週六早晨問道,眼睛盯著我的筆記型電腦,彷彿它是某種神秘的魔法裝置。


「電腦怎麼知道該做什麼?」小兒子緊接著問,「它有大腦嗎?」


就在我準備用「嗯,這個嘛...」這種經典的父親迴避技巧時,我突然意識到這是一個絕佳的機會,可以將SPARK引導式學習模型應用到程式思維的啟蒙中。


畢竟,比起解釋為什麼爸爸的程式設計能力僅限於複製貼上Stack Overflow的代碼,教導孩子們理解程式思維的基礎要有意義得多。


See(觀察與引導)

「今天,」我用我最神秘的聲音宣布,「我們要學習如何像電腦一樣思考,但不會像電腦一樣當機。」

孩子們的眼睛立刻亮了起來,那種興奮的表情通常只出現在「冰淇淋之夜」或「爸爸試圖使用新的智能家居設備」這類特殊場合。


我拿出一疊彩色卡片和一些馬克筆。「在我們開始使用電腦之前,」我解釋道,「我們需要理解程式是如何工作的。程式基本上就是一系列指令,告訴電腦該做什麼。」


為了展示這個概念,我決定從一個簡單的「人類程式」開始。我在卡片上寫下一系列指令:1. 站起來2. 向前走三步3. 轉身向右4. 向前走兩步5. 舉起雙手6. 說「我找到寶藏了!」


我請小兒子按照這些指令一步一步執行。當他精確地遵循每一步,最終在沙發旁舉起雙手宣布「我找到寶藏了!」時,大兒子笑得前仰後合。


「看,」我解釋道,「你剛剛執行了一個程式。你就像一台電腦,按照指令一步一步行動。」

「但我不是電腦,」小兒子抗議道,「我有自己的想法!」


「沒錯,」我回答,「這就是人類和電腦的區別。電腦只能按照程式指令行動,而人類可以思考、創造和做出選擇。」


這個解釋似乎讓他們滿意了,尤其是當我補充說,正是人類的創造力使我們能夠編寫程式,讓電腦為我們工作時。


Prompt(提示與方向)

看到孩子們對程式概念產生了興趣,我決定引導他們思考更深入的問題:「如果我們要創建一個機器人來幫助我們完成家務,我們需要給它什麼樣的指令?」


我拿出一張大紙,在中間畫了一個簡單的機器人(看起來更像是一個帶著天線的方盒子,但孩子們很有禮貌地沒有指出這一點),然後在周圍寫下了幾個引導性問題:

  • 機器人需要知道什麼才能找到物品?

  • 如何告訴機器人區分不同的物品?

  • 如果有障礙物,機器人應該怎麼做?


大兒子立刻提出了一個想法:「我們需要告訴機器人每個物品的樣子和位置!」

小兒子則興奮地說:「如果有障礙物,它應該繞過去,而不是撞上去!」


這些想法正是我希望聽到的。我解釋說,這就是程式設計的核心——預見可能的情況,並提供相應的指令。


「在程式中,」我說,「我們使用一些特殊的結構來處理不同的情況。比如'如果...那麼...'語句。」


為了演示這個概念,我們創建了一個更複雜的「人類程式」,這次加入了條件判斷:

  1. 走到廚房

  2. 如果冰箱門是關的,那麼打開它

  3. 如果有牛奶,拿出來

  4. 如果沒有牛奶,說「我們需要買牛奶」

  5. 關上冰箱門


我們輪流扮演「人類電腦」,執行這個程式。有趣的是,當大兒子執行到第3步時,他故意說「冰箱裡沒有牛奶」,然後跳到第4步,說「我們需要買牛奶」。這表明他已經理解了條件判斷的概念。


AI Assistant & Ask(AI助手與提問)

在我們的程式思維探索過程中,孩子們提出了越來越多的問題,有些甚至讓我這個自認為懂一點程式設計的父親也感到困惑。這時,我決定向AI助手求助。


孩子們開始思考他們想知道的問題:「電腦如何理解人類的語言?」「為什麼有些程式會出錯?」「如何讓機器人學習新事物?」「什麼是演算法?」


我們一起將這些問題輸入AI助手,然後觀察它如何回答。當AI解釋電腦通過特殊的翻譯程式(編譯器和解釋器)將人類語言轉換為機器語言時,孩子們點頭表示理解;當它談到程式錯誤(bug)通常是由於程式設計師的邏輯錯誤或遺漏導致時,大兒子恍然大悟。


但最有趣的部分是當AI解釋演算法時。它將演算法比喻為食譜——一系列明確的步驟,如果正確遵循,將產生預期的結果。


「所以,烤蛋糕的食譜就像一個演算法?」大兒子問道。

「沒錯,」我回答,「只是電腦的'食譜'需要更加精確,因為電腦不能像人類一樣做出判斷或調整。」


小兒子思考了一會兒,然後說:「那麼,如果食譜說'加鹽適量',電腦會不知道該加多少,對嗎?」

這個觀察讓我驚訝不已。「完全正確!」我讚嘆道,「這就是為什麼程式設計需要非常精確。我們不能告訴電腦'走一小段距離',我們需要說'走5步'或'走10厘米'。」


Reflect(反思與統整)

在探索了程式思維的基本概念後,我們坐下來整理我們學到的內容。我拿出一張大紙,在中間畫了一個電腦圖標(這次我的藝術水平有所提高,至少孩子們能認出這是一台電腦,而不是一個奇怪的微波爐)。


「讓我們來整理一下我們今天學到的關於程式思維的知識,」我建議道。

我們開始在紙上記錄關鍵點:程式是一系列指令;條件判斷允許程式根據不同情況做出不同反應;演算法是解決問題的步驟;程式需要精確和明確。


孩子們輪流分享他們最感興趣的發現。大兒子對條件判斷和邏輯特別著迷,他解釋說這就像做決定一樣;小兒子則對「除錯」的概念感到好奇,尤其是當我解釋說找出程式中的錯誤就像偵探工作一樣時。


「程式設計就像告訴一個非常聰明但字面理解的朋友該做什麼,」大兒子總結道,「你必須非常清楚,否則他們會做錯事。」

這可能是我聽過的對程式設計最簡潔的描述了。


Know(知識內化與應用)

為了將我們的程式思維知識付諸實踐,我提議創建一個「真實世界的程式」。我解釋說,在使用電腦之前,我們可以通過設計和執行「人類程式」來練習程式思維。


我們決定創建一個「早餐機器人程式」,詳細描述如何準備一頓簡單的早餐。孩子們熱情地參與了這個項目,仔細思考每一個步驟和可能的情況。


大兒子負責設計主要流程,包括取出麵包、放入烤麵包機、設定時間等步驟;小兒子則專注於「例外處理」,如「如果麵包烤焦了怎麼辦」或「如果牛奶喝完了怎麼辦」。


最令人驚訝的是,他們開始理解程式設計中的一些高級概念,如「重複」(對每片麵包重複相同的步驟)和「函數」(將「倒牛奶」定義為一系列可重複使用的步驟)。


當我們的「早餐機器人程式」完成後,我們決定實際執行它。我扮演「機器人」,嚴格按照孩子們寫的指令行動。這導致了一些有趣的情況,比如當指令說「拿起牛奶」但沒有指定用哪隻手時,我故意用已經拿著麵包的手去拿牛奶,導致麵包掉落。


這些「bug」引發了一陣笑聲,但也教會了孩子們一個重要的教訓:在程式設計中,細節和精確度至關重要。他們立即開始修改他們的「程式」,使指令更加明確和詳細。

💬帥爸金句:程式不只是電腦的語言,它是一種解決問題的思維方式;當孩子學會將複雜任務分解為簡單步驟,他們不只是在學習編程,而是在培養面對任何挑戰的能力。

💡知識點
  1. 程式思維是將複雜問題分解為更小、更易管理的部分,並為每個部分設計解決方案的能力。

  2. 演算法是解決問題的一系列明確步驟,就像是電腦遵循的「食譜」。

  3. 條件判斷(如「如果...那麼...」語句)允許程式根據不同情況做出不同反應,增加了程式的靈活性。

  4. 除錯是程式設計過程中的重要部分,涉及找出並修復程式中的錯誤或不一致。

  5. SPARK學習模型通過實際操作和類比,幫助孩子建立對抽象程式概念的具體理解,無需使用電腦也能培養程式思維。


在我們的程式思維探險結束後,我注意到一個有趣的變化:孩子們開始用不同的眼光看待日常任務。他們開始將複雜的活動分解為一系列步驟,並思考可能出現的不同情況。大兒子甚至開始為家庭活動創建「流程圖」,從準備野餐到整理玩具,每個任務都被分解為清晰的步驟。


「爸爸,」有一天晚上大兒子突然問道,「生活中的每件事都可以變成一個程式嗎?」

這個問題讓我思考。


「很多事情可以,」我回答,「但有些事情,比如創造藝術或表達情感,可能太複雜或太主觀,無法完全用程式來描述。這就是為什麼人類仍然比電腦更擅長某些事情。」


他似乎對這個回答很滿意,但我能看出他的腦海中正在形成更多問題。我想,這可能就是教育的真諦——不是填鴨式地灌輸知識,而是激發孩子們提出更深層次的問題,讓他們自己去探索答案。


至於我,我只希望孩子們的程式思維熱情不會導致他們過度「最佳化」家庭生活的每個方面。因為說實話,有時候爸爸只想隨性地做事,而不是遵循一個精確到秒的時間表。


但話說回來,如果這是培養他們邏輯思維和問題解決能力的代價,那麼遵循幾個「人類程式」也是值得的。


一句話說錯,全場失控?不再重複吼叫、崩潰、一句對的話,孩子就願意聽。

一張表教你 10 句關鍵語言 → 馬上改善親子互動


👉加入官方LINE輸入「教養語言」免費領取【10句教養語言轉譯表】




延伸資源:


🎧 Podcast 收聽全集|每天用 20 分鐘讀完一本書的力量


👉 https://reurl.cc/rEAK54



📺 YouTube 頻道|收看影片版 Podcast


👉 https://www.youtube.com/@ppvsread

程式思維啟蒙

程式思維啟蒙
藍色抽象背景
加白邊.png

世界文化探險家

情緒管理小高手

雲書苑

雲書苑教育科技有限公司

🏠 地址 | 台北市中山區長春路20號3F

✉️ 信箱 | talk@ppvs.org

☎️ 電話 | (02) 2823 - 0833

AI教育快與慢 AI親子共學

  • 官方網站
  • Facebook
  • Line
  • Youtube
bottom of page