Part 1. 我家的AI時代親子程式教育
海馬的故事被媒體報導後,許多家長最常問我的問題是:「海馬這麼早學會寫程式,是不是跟爸爸是工程師有關?」
身為工程師,的確會比較清楚電腦和程式可以做到哪些事,當孩子遇到問題時,也比較容易即時提供協助。但是回顧海馬這幾年來的學習歷程,真正影響他走上自主學習這條路的,並不是我教會了他多少程式語法,而是我們在日常生活中,如何陪著他一步步累積好奇心、成就感和自信心。
在 AI 時代,孩子學習程式的方式,已經和過去完全不同。以往學習程式遇到問題,只能詢問身邊會寫程式的人或老師;現在卻可以直接問 AI。
因此,他們不一定要先背熟所有語法,也不需要等到基礎全部學會,才能開始撰寫程式。只要心中有一個想要完成的點子,就能夠一邊嘗試、一邊提問,在解決問題的過程中,一邊學習。
但是,學習的門檻變低,並不代表家長的陪伴不再重要。
相反地,我們如何創造環境、引發興趣、陪著孩子面對挫折,以及如何忍住不對他的作品下指導棋,往往比選擇哪一套學習工具更加重要。
孩子需要的不是一位隨時提供答案的老師,而是一個願意傾聽、陪他探索、相信他做得到,並且在適當的時刻為他鼓掌的家長。
這一部分,我想從海馬的學習歷程開始,分享我們如何在遊戲、生活與一次次嘗試中,陪著孩子慢慢走向自主學習。
▎第1 章 回顧海馬的「程式」冒險──從玩遊戲到自己做出App
海馬學習電腦的起點,可以追溯到那段全世界都被按下暫停鍵的疫情期間。在那之前,我們家原則上是個盡可能遠離 3C產品的家庭。然而,疫情帶來的環境劇變,迫使我們不得不正面迎接數位化的衝擊,遠距教學、家長與導師透過 LINE 進行線上的溝通、透過網路繳交作業。曾幾何時,每天超過四小時的螢幕使用時間,竟迅速成為了生活的新常態。
在這樣的大環境下,我們意識到,單純的圍堵策略已經不再適用,與其消極地禁止,不如積極地引導。所以我們將策略調整為「學習與 3C 共存,並建立健康的使用習慣」。我們不斷跟孩子強調,每用眼25 分鐘,就一定要休息5 到10 分鐘。因為視力一旦受損往往是不可逆的。既然長時間使用 3C 無法避免,那我們就從最根本的健康習慣著手,學習與它和平共處。
疫情期間,週末無法外出,長時間面對電腦、網頁遊戲、短影音,如何將孩子們的注意力從被動娛樂中拉回,成為我們家當時面臨的一大挑戰。在那個時空背景下,我決定自己動手,為他們規劃專屬的「海家電腦課」,每兩週一次,在週末的下午,用一小時的時間,帶他們探索被動娛樂之外的電腦世界。而這些當時為了抓住孩子注意力的教材,後來也成為我們線上課程的素材,逐一錄製成影片,分享給更多家庭。
從「動手做」與「視覺化」
開始的感官探索式學習
在規劃第一堂電腦課時,我花了一點時間,試圖走進孩子的腦中世界,觀察什麼樣的東西能吸引他們的目光。答案其實很簡單,不外乎就是那些「會動的」、「沒見過的」,而且「最好是好玩的」東西。
在疫情那段足不出戶的時期,家裡的空間就這麼大,要變出什麼新花樣來滿足孩子的好奇心,難道除了打開平板和手機,就沒有別的選擇了嗎?就在我苦惱之際,一個念頭閃過:「我小時候,不也把壞掉的錄音機、隨身聽拆得七零八落,只為了一探究竟裡面長什麼樣子嗎?」
以前我們的電腦都是自己組裝的,現在孩子們對電腦的認知都是一體成型的,想當然也不曉得電腦的內部長什麼樣子。
好吧!那我們的第一堂課,就先「打開電腦」吧!
當時海馬才六歲,當他看我拿著筆電,說要上電腦課時,理所當然地以為,是要打開電腦,教他們如何操作。沒想到,我將筆電翻了過來,背面朝上,拿起螺絲起子,真的「打開」了電腦,只是我打開的是筆電的背蓋,而不是螢幕。
我到現在還清晰記得,當背蓋被掀開的那一刻,他們臉上驚喜的表情。看見那些平常隱藏在機殼內的黑色、綠色的電路板,眼睛瞬間發亮,像是踏進了一個陌生又新奇的世界。
那個下午,我們沒有接觸任何螢幕,就指著那台被打開的筆電,逐一介紹什麼是主機板、負責散熱的風扇、儲存資料的記憶體、存放資料的固態硬碟、電腦的大腦 CPU。孩子的小手小心翼翼觸摸著冰冷的電腦組件,提出各種天馬行空的問題,整個沉浸在好奇與探索的樂趣中,一個小時很快就過去了。
這次成功的經驗讓我確信,要讓孩子們對一個新領域產生興趣,就必須透過多元的感官去刺激他們的大腦。接下來幾堂課,我循著同樣的模式,繼續尋找能激發他們好奇心的教材。
我拿來一把機械式鍵盤,一顆一顆拔下鍵帽,讓他們親眼看看鍵帽底下的樣貌,跟他們解說為什麼按鍵按下去會傳送訊息給電腦;帶著他們用電腦上網,然後突然關掉數據機電源,讓他們親身體驗「網路斷線」的感覺,理解網路並非憑空而來。
當然,我們家週末的電腦課也並非每一次都那麼成功。我曾經興致勃勃地準備了一堂關於「二進位表示法」的課程,試圖讓孩子們理解電腦運作的底層邏輯。
一開場,我就神祕地問他們,知不知道電腦其實只看得懂0跟1。接著,我就開始解釋,電腦裡的所有東西、文字、照片、音樂,全都是由0 和1 這兩個數字組成的。我還拿了好幾張 A4紙,教他們二進位表示法的數字如何相加。還記得當時海馬對我說:「我的腦袋快燒掉了。」
那堂課的效果顯然不佳,雖然經過一番奮鬥,當下似乎理解了,但記憶是短暫的,過了一陣子再次詢問,早就已經忘得一乾二淨。這也讓我再次驗證,引導孩子的學習,必須找到一個能夠同時滿足「動手做」與「視覺化」的媒介。
這也是為什麼,在他們記憶中留下最深刻印象的,永遠是我們上的第一堂課,那個我們一起拆電腦的下午。記住的不只是電腦組件的名詞,而是親身體驗的過程。
動手拆解、親眼看見、親手觸摸,這些來自不同感官的刺,共同在大腦烙印下深深的記憶。之後的拆鍵盤、關掉數據機電源也是如此,都是為了讓他們將電腦螢幕上發生的事情,與現實世界中的物品產生具體的連結。
就這樣,我們上了好幾堂「動手做」的電腦課。直到有一天,我發現一款任天堂 Switch 遊戲《附帶導航!一做就上手 第一次的遊戲程式設計》。它完美契合了我的教學理念,是絕佳的教材,用遊戲的方式,讓孩子們親手設計自己的遊戲,它需要透過搖桿來遊玩(觸覺),擁有豐富多彩的畫面(視覺),以及動感的聲光效果(聽覺)。最重要的是,它很好玩,能將枯燥的學習內容,包裝成一場充滿樂趣的冒險,自然而然學習程式背後的邏輯。
從此之後,這款遊戲就成了我們家週末電腦課的固定教材。雖然課程結束時,孩子們依然不曉得程式是什麼,但我心裡非常清楚,這趟旅程已經讓他們開始建立「邏輯思維」與「設計能力」的基礎。
引導孩子將「遊戲樂趣」
轉移到「程式挑戰」
如何將孩子對「玩遊戲」的樂趣,巧妙地轉移到對「程式挑戰」的動機?這條路徑沒有捷徑,它更像是一場需要耐心與策略的「長期引導」。
最一開始,我們陪伴著孩子一起玩 Switch 遊戲《附帶導航!一做就上手 第一次的遊戲程式設計》。我之所以如此推崇這款遊戲,是因為它的每一個關卡設計,都巧妙地融入了程式設計的思維。在每一次引導他們闖關的過程中,我除了是玩伴,也同時是個「解說員」。我會補充說明遊戲背後的原理,解釋「為什麼這樣做,角色就會有那樣的反應」。雖然遊戲本身的 NPC也解說得非常清楚,但我可以進一步提供生活上的實例來比喻,讓抽象的邏輯變得更具體。這樣的引導,也讓他們日後使用這款遊戲的自由創作模式時,有更多發揮的空間。
過幾個月的遊玩與訓練,孩子們對於程式的基本邏輯都有了初步的體會。疫情結束後,海馬的主要遊戲娛樂轉移到了Minecra¬ft,也就是俗稱的「麥塊」上,這也是學校開設的社團課程之一,同樣是一款蘊含著邏輯思維的遊戲。
當海馬第一次跟我提及學校有Minecra¬¬ft社團時,我知道這款遊戲的潛力遠不止於蓋房子,它甚至可以在遊戲內部撰寫程式。所以我二話不說,立刻幫他報名。沒想到他一報名就是兩年,也在這門課上,結交到幾個同樣對電腦和遊戲有著濃厚興趣的好朋友,為他未來的學習之路找到了志同道合的學伴。
在這兩年的時間裡,我們採取了一種「若有似無」的引導策略。我們會在海馬興高采烈地跟我分享麥塊樂趣時,不經意地向他提及,許多厲害的麥塊 YouTuber 都會透過下指令或寫程式,來創造更多有趣的玩法。我的目的是想在他心中種下一顆種子,讓他覺得「下指令」和「寫程式」這兩件事很酷,距離他很近,而且是一件非常厲害的技能。
這份對遊戲的熱情,在海馬的持續探索中不斷延伸,他開始模仿喜歡的 YouTuber,學習那些影片中的各種指令。當他第一次成功地透過輸入一串指令,在遊戲中瞬間顯示座標時,那種遊戲樂趣的心境就開始悄悄轉變了。他不再只是一個普通的玩家,而是一個掌握了特殊技能的「很酷的玩家」。
而我還是一樣,維持著一貫的引導節奏,偶爾跟海馬提及:「你設計的那個自動化農場機關很棒耶!用程式來完成好像可以做得更複雜,你要不要問問社團老師怎麼才能辦得到?」就這樣,他沉浸在麥塊的世界裡,透過親手設計一個個自動化機關的過程,持續鍛鍊自己的邏輯思維。最終,他在課程的期末發表中,真的在自己的設計裡,寫下了一小段程式,雖然很簡單,但卻滿足了他在心愛的麥塊世界裡「寫程式」的成就感。
這個引導的過程,聽起來似乎很簡單,但它卻是漫長且需要耐心的。我們足足花了將近三年的時間,不斷地在遊戲的情境中,提示「下指令」和「寫程式」的可能性,然後放手讓他自己去摸索。在孩子還沒有升學壓力的小學階段,我們能做的最好的事,就是為他準備好一個能夠誘發興趣的環境,適時地提醒方向,但絕不強行介入。我們只是靜靜地觀察、等待他自己產生那份「我想要更進一步」的好奇心。
轉變的契機:
找不到好用的手錶記帳 App
從一開始懵懵懂懂地拆解電腦,到後來透過遊戲,在心中埋下對程式邏輯的好奇,這個興趣的醞釀期,足足經過了三年。
而那個讓海馬真正想要「動手寫程式」的契機,發生在一個非常具體的時刻,也就是當他想解決一個身邊遇到的問題,並且知道這個問題可以用「程式」來解決時。
很多時候,我們成年人之所以不考慮用程式來解決問題,並不是因為程式太難,而是因為我們根本不曉得程式可以做到什麼。如果我們的知識庫裡,從未將「程式」與「解決生活問題」這兩件事連結起來,那麼我們自然不會想到要使用它。
因此,在這三年的時間裡,我們最常做的事情,就是不斷地建立這個連結。在孩子使用電腦時,我會告訴他,螢幕上的計算機、記事本,都是工程師用程式碼一行一行寫出來的。在他玩麥塊的時候,我也會讓他知道,這個充滿創造和樂趣的遊戲世界,同樣也是由程式碼所構成的。
當孩子認知到,程式與他日常接觸到的事物之間,有著緊密的關聯後,他就會逐漸對「程式能辦到的事」有一個初步的輪廓。一旦孩子知道了程式是一種強大的解決問題的工具,當某一天,他意識到自己眼前的某個困擾,正好可以被這個工具解決時,那個決定性的學習契機,就會自然而然地到來。
這個契機,發生在海馬就讀小學三年級時,我們全家到泰國旅遊。以前旅遊的花費都是我負責管理,但那一次,我決定做個小小的改變。我給了他們一人一千泰銖的零用錢,並告訴他們「這次旅遊中,你們想買什麼都可以自己付錢,但每天晚上都要記帳。」
一開始,海馬很認真地使用他的隨身小筆記來記錄花費。後來,他看姊姊海星是用手機 App 在記帳,覺得很方便,也想跟進。但他沒有自己的手機,只有一支 Apple Watch。於是他下載了好幾個能記帳的 App,但每一個都用得不順手。不是新增的花費無法刪除,就是記錯的金額沒辦法修改。似乎沒有任何一個開發者,是專門為「只有手錶」的孩子,設計一款真正好用的記帳 App。還記得那天,我們是在一家便利商店門口,海馬抱怨著那些 App 有多難用。我隨口說了一句:「如果你覺得這些 App 都不好用,那你自己寫一個啊!」
他愣了一下,抬起頭看著我說:「可以耶!那我要自己做一個!爸爸,你要教我!」就是這個瞬間。當現實生活中遇到的問題,與他腦中已有的知識產生連結時,一個前所未有的強烈動機就此誕生。他決定要親自動手,用程式來解決自己的問題。而我,也從沒預料過他會給我這樣的回答。
「海馬開發 App」專案,
正式啟動!
當海馬下定決心,要自己開發一個記帳 App,甚至還興高采烈地訂下一個月後要完成的目標時,我心裡的第一個念頭其實是,對於一個完全沒寫過程式的小學生來說,一個月要完成這項任務實在太難了。但是我並沒有說出口,更沒有澆他冷水。
我知道,倉促地將海馬推向枯燥的語法教學,只會迅速磨損這份熱情。相反地,我想藉著這個難得的機會,將這次的「App開發」,視為一個完整的「專案計畫」。希望透過引導的方式,能讓他體驗到一個專案從發想到完成的整個過程。這樣一來,即使最終程式沒有成功寫出來,在這個過程中所學到的規劃、設計與執行能力,也將會是很寶貴的收穫。
當然,這些都是在我腦中的盤算,並沒有告訴他。我默默地在心中,為他訂下了幾個循序漸進的階段:
1. 需求分析:只用筆和紙,寫下所有他想像中,這個 App應該要有的操作功能。
2. 介面設計:畫出 App 每一個畫面的草稿,思考點擊哪個按鈕會跳到哪一個畫面,並用箭頭和線將流程串連起來。
3. 範例練習:下載蘋果官方網站提供的 App 程式範例,對照設計好的手稿,從模仿開始理解一個 App 的基本結構。4. 程式語言學習:閱讀《精通 Python》前十章,並親手練習書中範例程式。
5. 使用 AI 寫程式:這是在當時的原始計畫中沒有的步驟。如果重新整理這段學習歷程時,我認為AI 已經成為不可忽略的一環,因此將它補列進來。
6. 記錄與分享:鼓勵海馬將過程以文章的形式記錄下來。
前兩個階段是最有趣、也是最沒有壓力的。就在海馬提出要自己開發記帳 App 的那天,我告訴他,第一步就是把理想中App 的功能一一列出來。像他最在意的「編輯」與「刪除」功能,就一定要寫上去。越詳細越好,想到什麼就寫什麼。於是他拿出小筆記本,花了一整個下午寫滿一頁。隔天興奮地拿給我看,我看了看覺得沒問題,就笑著說:「很好,剩下的回國再繼續吧,先好好玩。」
回國後,海馬立刻問我下一步該做什麼。我拿了幾張 A4 白紙給他,說:「你要設計的是手錶的 App,它會有好幾個畫面。
像新增花費時,要有輸入金額的畫面;想看記錄時,又是另一個畫面。把你能想到的畫面都畫出來,點了哪個按鈕會跳到哪個畫面,再用箭頭把它連起來。」
到這裡為止,都還沒碰到「寫程式」件事。這階段做的,不過是小學生最拿手的事情,用筆、紙和圖像表達自己的想法。就這樣,又過了一週,海馬完成了他的第一份手稿,已經迫不及待想真正動手寫程式了。
海馬的故事被媒體報導後,許多家長最常問我的問題是:「海馬這麼早學會寫程式,是不是跟爸爸是工程師有關?」
身為工程師,的確會比較清楚電腦和程式可以做到哪些事,當孩子遇到問題時,也比較容易即時提供協助。但是回顧海馬這幾年來的學習歷程,真正影響他走上自主學習這條路的,並不是我教會了他多少程式語法,而是我們在日常生活中,如何陪著他一步步累積好奇心、成就感和自信心。
在 AI 時代,孩子學習程式的方式,已經和過去完全不同。以往學習程式遇到問題,只能詢問身邊會寫程式的人或老師;現在卻可以直接問 AI。
因此,他們不一定要先背熟所有語法,也不需要等到基礎全部學會,才能開始撰寫程式。只要心中有一個想要完成的點子,就能夠一邊嘗試、一邊提問,在解決問題的過程中,一邊學習。
但是,學習的門檻變低,並不代表家長的陪伴不再重要。
相反地,我們如何創造環境、引發興趣、陪著孩子面對挫折,以及如何忍住不對他的作品下指導棋,往往比選擇哪一套學習工具更加重要。
孩子需要的不是一位隨時提供答案的老師,而是一個願意傾聽、陪他探索、相信他做得到,並且在適當的時刻為他鼓掌的家長。
這一部分,我想從海馬的學習歷程開始,分享我們如何在遊戲、生活與一次次嘗試中,陪著孩子慢慢走向自主學習。
▎第1 章 回顧海馬的「程式」冒險──從玩遊戲到自己做出App
海馬學習電腦的起點,可以追溯到那段全世界都被按下暫停鍵的疫情期間。在那之前,我們家原則上是個盡可能遠離 3C產品的家庭。然而,疫情帶來的環境劇變,迫使我們不得不正面迎接數位化的衝擊,遠距教學、家長與導師透過 LINE 進行線上的溝通、透過網路繳交作業。曾幾何時,每天超過四小時的螢幕使用時間,竟迅速成為了生活的新常態。
在這樣的大環境下,我們意識到,單純的圍堵策略已經不再適用,與其消極地禁止,不如積極地引導。所以我們將策略調整為「學習與 3C 共存,並建立健康的使用習慣」。我們不斷跟孩子強調,每用眼25 分鐘,就一定要休息5 到10 分鐘。因為視力一旦受損往往是不可逆的。既然長時間使用 3C 無法避免,那我們就從最根本的健康習慣著手,學習與它和平共處。
疫情期間,週末無法外出,長時間面對電腦、網頁遊戲、短影音,如何將孩子們的注意力從被動娛樂中拉回,成為我們家當時面臨的一大挑戰。在那個時空背景下,我決定自己動手,為他們規劃專屬的「海家電腦課」,每兩週一次,在週末的下午,用一小時的時間,帶他們探索被動娛樂之外的電腦世界。而這些當時為了抓住孩子注意力的教材,後來也成為我們線上課程的素材,逐一錄製成影片,分享給更多家庭。
從「動手做」與「視覺化」
開始的感官探索式學習
在規劃第一堂電腦課時,我花了一點時間,試圖走進孩子的腦中世界,觀察什麼樣的東西能吸引他們的目光。答案其實很簡單,不外乎就是那些「會動的」、「沒見過的」,而且「最好是好玩的」東西。
在疫情那段足不出戶的時期,家裡的空間就這麼大,要變出什麼新花樣來滿足孩子的好奇心,難道除了打開平板和手機,就沒有別的選擇了嗎?就在我苦惱之際,一個念頭閃過:「我小時候,不也把壞掉的錄音機、隨身聽拆得七零八落,只為了一探究竟裡面長什麼樣子嗎?」
以前我們的電腦都是自己組裝的,現在孩子們對電腦的認知都是一體成型的,想當然也不曉得電腦的內部長什麼樣子。
好吧!那我們的第一堂課,就先「打開電腦」吧!
當時海馬才六歲,當他看我拿著筆電,說要上電腦課時,理所當然地以為,是要打開電腦,教他們如何操作。沒想到,我將筆電翻了過來,背面朝上,拿起螺絲起子,真的「打開」了電腦,只是我打開的是筆電的背蓋,而不是螢幕。
我到現在還清晰記得,當背蓋被掀開的那一刻,他們臉上驚喜的表情。看見那些平常隱藏在機殼內的黑色、綠色的電路板,眼睛瞬間發亮,像是踏進了一個陌生又新奇的世界。
那個下午,我們沒有接觸任何螢幕,就指著那台被打開的筆電,逐一介紹什麼是主機板、負責散熱的風扇、儲存資料的記憶體、存放資料的固態硬碟、電腦的大腦 CPU。孩子的小手小心翼翼觸摸著冰冷的電腦組件,提出各種天馬行空的問題,整個沉浸在好奇與探索的樂趣中,一個小時很快就過去了。
這次成功的經驗讓我確信,要讓孩子們對一個新領域產生興趣,就必須透過多元的感官去刺激他們的大腦。接下來幾堂課,我循著同樣的模式,繼續尋找能激發他們好奇心的教材。
我拿來一把機械式鍵盤,一顆一顆拔下鍵帽,讓他們親眼看看鍵帽底下的樣貌,跟他們解說為什麼按鍵按下去會傳送訊息給電腦;帶著他們用電腦上網,然後突然關掉數據機電源,讓他們親身體驗「網路斷線」的感覺,理解網路並非憑空而來。
當然,我們家週末的電腦課也並非每一次都那麼成功。我曾經興致勃勃地準備了一堂關於「二進位表示法」的課程,試圖讓孩子們理解電腦運作的底層邏輯。
一開場,我就神祕地問他們,知不知道電腦其實只看得懂0跟1。接著,我就開始解釋,電腦裡的所有東西、文字、照片、音樂,全都是由0 和1 這兩個數字組成的。我還拿了好幾張 A4紙,教他們二進位表示法的數字如何相加。還記得當時海馬對我說:「我的腦袋快燒掉了。」
那堂課的效果顯然不佳,雖然經過一番奮鬥,當下似乎理解了,但記憶是短暫的,過了一陣子再次詢問,早就已經忘得一乾二淨。這也讓我再次驗證,引導孩子的學習,必須找到一個能夠同時滿足「動手做」與「視覺化」的媒介。
這也是為什麼,在他們記憶中留下最深刻印象的,永遠是我們上的第一堂課,那個我們一起拆電腦的下午。記住的不只是電腦組件的名詞,而是親身體驗的過程。
動手拆解、親眼看見、親手觸摸,這些來自不同感官的刺,共同在大腦烙印下深深的記憶。之後的拆鍵盤、關掉數據機電源也是如此,都是為了讓他們將電腦螢幕上發生的事情,與現實世界中的物品產生具體的連結。
就這樣,我們上了好幾堂「動手做」的電腦課。直到有一天,我發現一款任天堂 Switch 遊戲《附帶導航!一做就上手 第一次的遊戲程式設計》。它完美契合了我的教學理念,是絕佳的教材,用遊戲的方式,讓孩子們親手設計自己的遊戲,它需要透過搖桿來遊玩(觸覺),擁有豐富多彩的畫面(視覺),以及動感的聲光效果(聽覺)。最重要的是,它很好玩,能將枯燥的學習內容,包裝成一場充滿樂趣的冒險,自然而然學習程式背後的邏輯。
從此之後,這款遊戲就成了我們家週末電腦課的固定教材。雖然課程結束時,孩子們依然不曉得程式是什麼,但我心裡非常清楚,這趟旅程已經讓他們開始建立「邏輯思維」與「設計能力」的基礎。
引導孩子將「遊戲樂趣」
轉移到「程式挑戰」
如何將孩子對「玩遊戲」的樂趣,巧妙地轉移到對「程式挑戰」的動機?這條路徑沒有捷徑,它更像是一場需要耐心與策略的「長期引導」。
最一開始,我們陪伴著孩子一起玩 Switch 遊戲《附帶導航!一做就上手 第一次的遊戲程式設計》。我之所以如此推崇這款遊戲,是因為它的每一個關卡設計,都巧妙地融入了程式設計的思維。在每一次引導他們闖關的過程中,我除了是玩伴,也同時是個「解說員」。我會補充說明遊戲背後的原理,解釋「為什麼這樣做,角色就會有那樣的反應」。雖然遊戲本身的 NPC也解說得非常清楚,但我可以進一步提供生活上的實例來比喻,讓抽象的邏輯變得更具體。這樣的引導,也讓他們日後使用這款遊戲的自由創作模式時,有更多發揮的空間。
過幾個月的遊玩與訓練,孩子們對於程式的基本邏輯都有了初步的體會。疫情結束後,海馬的主要遊戲娛樂轉移到了Minecra¬ft,也就是俗稱的「麥塊」上,這也是學校開設的社團課程之一,同樣是一款蘊含著邏輯思維的遊戲。
當海馬第一次跟我提及學校有Minecra¬¬ft社團時,我知道這款遊戲的潛力遠不止於蓋房子,它甚至可以在遊戲內部撰寫程式。所以我二話不說,立刻幫他報名。沒想到他一報名就是兩年,也在這門課上,結交到幾個同樣對電腦和遊戲有著濃厚興趣的好朋友,為他未來的學習之路找到了志同道合的學伴。
在這兩年的時間裡,我們採取了一種「若有似無」的引導策略。我們會在海馬興高采烈地跟我分享麥塊樂趣時,不經意地向他提及,許多厲害的麥塊 YouTuber 都會透過下指令或寫程式,來創造更多有趣的玩法。我的目的是想在他心中種下一顆種子,讓他覺得「下指令」和「寫程式」這兩件事很酷,距離他很近,而且是一件非常厲害的技能。
這份對遊戲的熱情,在海馬的持續探索中不斷延伸,他開始模仿喜歡的 YouTuber,學習那些影片中的各種指令。當他第一次成功地透過輸入一串指令,在遊戲中瞬間顯示座標時,那種遊戲樂趣的心境就開始悄悄轉變了。他不再只是一個普通的玩家,而是一個掌握了特殊技能的「很酷的玩家」。
而我還是一樣,維持著一貫的引導節奏,偶爾跟海馬提及:「你設計的那個自動化農場機關很棒耶!用程式來完成好像可以做得更複雜,你要不要問問社團老師怎麼才能辦得到?」就這樣,他沉浸在麥塊的世界裡,透過親手設計一個個自動化機關的過程,持續鍛鍊自己的邏輯思維。最終,他在課程的期末發表中,真的在自己的設計裡,寫下了一小段程式,雖然很簡單,但卻滿足了他在心愛的麥塊世界裡「寫程式」的成就感。
這個引導的過程,聽起來似乎很簡單,但它卻是漫長且需要耐心的。我們足足花了將近三年的時間,不斷地在遊戲的情境中,提示「下指令」和「寫程式」的可能性,然後放手讓他自己去摸索。在孩子還沒有升學壓力的小學階段,我們能做的最好的事,就是為他準備好一個能夠誘發興趣的環境,適時地提醒方向,但絕不強行介入。我們只是靜靜地觀察、等待他自己產生那份「我想要更進一步」的好奇心。
轉變的契機:
找不到好用的手錶記帳 App
從一開始懵懵懂懂地拆解電腦,到後來透過遊戲,在心中埋下對程式邏輯的好奇,這個興趣的醞釀期,足足經過了三年。
而那個讓海馬真正想要「動手寫程式」的契機,發生在一個非常具體的時刻,也就是當他想解決一個身邊遇到的問題,並且知道這個問題可以用「程式」來解決時。
很多時候,我們成年人之所以不考慮用程式來解決問題,並不是因為程式太難,而是因為我們根本不曉得程式可以做到什麼。如果我們的知識庫裡,從未將「程式」與「解決生活問題」這兩件事連結起來,那麼我們自然不會想到要使用它。
因此,在這三年的時間裡,我們最常做的事情,就是不斷地建立這個連結。在孩子使用電腦時,我會告訴他,螢幕上的計算機、記事本,都是工程師用程式碼一行一行寫出來的。在他玩麥塊的時候,我也會讓他知道,這個充滿創造和樂趣的遊戲世界,同樣也是由程式碼所構成的。
當孩子認知到,程式與他日常接觸到的事物之間,有著緊密的關聯後,他就會逐漸對「程式能辦到的事」有一個初步的輪廓。一旦孩子知道了程式是一種強大的解決問題的工具,當某一天,他意識到自己眼前的某個困擾,正好可以被這個工具解決時,那個決定性的學習契機,就會自然而然地到來。
這個契機,發生在海馬就讀小學三年級時,我們全家到泰國旅遊。以前旅遊的花費都是我負責管理,但那一次,我決定做個小小的改變。我給了他們一人一千泰銖的零用錢,並告訴他們「這次旅遊中,你們想買什麼都可以自己付錢,但每天晚上都要記帳。」
一開始,海馬很認真地使用他的隨身小筆記來記錄花費。後來,他看姊姊海星是用手機 App 在記帳,覺得很方便,也想跟進。但他沒有自己的手機,只有一支 Apple Watch。於是他下載了好幾個能記帳的 App,但每一個都用得不順手。不是新增的花費無法刪除,就是記錯的金額沒辦法修改。似乎沒有任何一個開發者,是專門為「只有手錶」的孩子,設計一款真正好用的記帳 App。還記得那天,我們是在一家便利商店門口,海馬抱怨著那些 App 有多難用。我隨口說了一句:「如果你覺得這些 App 都不好用,那你自己寫一個啊!」
他愣了一下,抬起頭看著我說:「可以耶!那我要自己做一個!爸爸,你要教我!」就是這個瞬間。當現實生活中遇到的問題,與他腦中已有的知識產生連結時,一個前所未有的強烈動機就此誕生。他決定要親自動手,用程式來解決自己的問題。而我,也從沒預料過他會給我這樣的回答。
「海馬開發 App」專案,
正式啟動!
當海馬下定決心,要自己開發一個記帳 App,甚至還興高采烈地訂下一個月後要完成的目標時,我心裡的第一個念頭其實是,對於一個完全沒寫過程式的小學生來說,一個月要完成這項任務實在太難了。但是我並沒有說出口,更沒有澆他冷水。
我知道,倉促地將海馬推向枯燥的語法教學,只會迅速磨損這份熱情。相反地,我想藉著這個難得的機會,將這次的「App開發」,視為一個完整的「專案計畫」。希望透過引導的方式,能讓他體驗到一個專案從發想到完成的整個過程。這樣一來,即使最終程式沒有成功寫出來,在這個過程中所學到的規劃、設計與執行能力,也將會是很寶貴的收穫。
當然,這些都是在我腦中的盤算,並沒有告訴他。我默默地在心中,為他訂下了幾個循序漸進的階段:
1. 需求分析:只用筆和紙,寫下所有他想像中,這個 App應該要有的操作功能。
2. 介面設計:畫出 App 每一個畫面的草稿,思考點擊哪個按鈕會跳到哪一個畫面,並用箭頭和線將流程串連起來。
3. 範例練習:下載蘋果官方網站提供的 App 程式範例,對照設計好的手稿,從模仿開始理解一個 App 的基本結構。4. 程式語言學習:閱讀《精通 Python》前十章,並親手練習書中範例程式。
5. 使用 AI 寫程式:這是在當時的原始計畫中沒有的步驟。如果重新整理這段學習歷程時,我認為AI 已經成為不可忽略的一環,因此將它補列進來。
6. 記錄與分享:鼓勵海馬將過程以文章的形式記錄下來。
前兩個階段是最有趣、也是最沒有壓力的。就在海馬提出要自己開發記帳 App 的那天,我告訴他,第一步就是把理想中App 的功能一一列出來。像他最在意的「編輯」與「刪除」功能,就一定要寫上去。越詳細越好,想到什麼就寫什麼。於是他拿出小筆記本,花了一整個下午寫滿一頁。隔天興奮地拿給我看,我看了看覺得沒問題,就笑著說:「很好,剩下的回國再繼續吧,先好好玩。」
回國後,海馬立刻問我下一步該做什麼。我拿了幾張 A4 白紙給他,說:「你要設計的是手錶的 App,它會有好幾個畫面。
像新增花費時,要有輸入金額的畫面;想看記錄時,又是另一個畫面。把你能想到的畫面都畫出來,點了哪個按鈕會跳到哪個畫面,再用箭頭把它連起來。」
到這裡為止,都還沒碰到「寫程式」件事。這階段做的,不過是小學生最拿手的事情,用筆、紙和圖像表達自己的想法。就這樣,又過了一週,海馬完成了他的第一份手稿,已經迫不及待想真正動手寫程式了。