矽谷爸爸的思維訓練課:玩「桌遊」 也能教孩子程式設計

矽谷爸爸的思維訓練課:玩「桌遊」 也能教孩子程式設計
Photo Credit: Depositphotos

我們想讓你知道的是

程式設計一般都要用電腦來執行,可是對於幼兒來說長時間使用電腦並不合適,那怎麼辦呢?於是很多學校就將程式設計的理念融入「戶外活動」中,這些活動我們在家也可以陪孩子一起玩。

文:憨爸(趙昊翔)

循序漸進,
培養孩子的程式設計思維

自從前美國總統歐巴馬要把程式設計納入中小學的教學體系後,美國程式設計教學低齡化的趨勢非常明顯,現在有越來越多關於程式設計的書籍、玩具、App都開始針對二歲的兒童設計。我看了很多美國主流的兒童程式設計啟蒙圖書後發現,如果想讓孩子學習程式設計,首先就要從培養孩子結構化程式設計的思維開始。

結構化程式設計

程式設計看起來很深奧,實際上並不複雜,說穿了,就是你用程式語言寫一段話,指揮電腦去做一件事情。說話有前後之分,程式語言也是一樣,例如你對電腦說:「你好。」「我是一位媽媽。」「請你放一段音樂。」

這三句話其實就是你對電腦下的一系列指令,透過這些指令,電腦知道:

「你在跟我打招呼。」

「你是一位母親。」

「你需要我放音樂。」然後電腦就會按照你的指示,放一段音樂。

你對電腦說的那段話,就是結構化程式,它是按順序依次執行的,只不過電腦所理解的語言不是我們平時說話的語言。而電腦能理解的語言,我們稱之為程式設計語言。所以,教孩子學程式設計,有兩個重點:一是結構化程式設計,二是程式設計語言。

程式設計語言有很多種,例如:Scratch、Python、Java、C/C++等都是很主流的程式設計語言,而且兒童也能夠學習。每種語言都有自己的格式和語法,學起來並不難。難就難在程式設計思維,也就是結構化程式設計思維上。

例如說話,不管是中文還是英文都沒關係,關鍵是你知道說什麼。而結構化程式設計思維就是你想要表達的東西。

如何訓練結構化程式設計思維

現在主流的程式啟蒙教育,訓練的就是兒童結構化程式設計思維的能力。這種思維在孩子二歲時就可以開始教,運用卡通、桌遊、機器人等方式教孩子一步步學會下指令給電腦。以《Minecraft 我的世界》(編註)這個遊戲為例,這個遊戲是想辦法設下指令讓主角達到目的地,遊戲中有一個介面是下達指令給小人的地方,總共有三個指令可以選擇, 分別是: 向前走一格(Move Forward)、左轉(Turn Left)、右轉(Turn Right)

我們所需要做的就是在這個介面裡幫小人定義好行進的步驟,最後點一下「運行」(RUN),小人就能按照我們給他的指令行走,如果走到目的地就表示成功,如果沒有走到就表示失敗。

如果我們給小人下的指令是往前面走三格,因此一共是三個「向前走一格」的指令,最後運行的時候,小人就會按照我們設置的指令往前走了。

看起來很簡單對不對?實際問題會比這個複雜很多,有時候我們需要用到條件語句,例如走到某個位置要做某個動作;有時候還會用到迴圈語句,也就是重複某個動作多少遍;還有時候我們會用到函數,把一組動作包含在一個固有的函數裡。

關於程式設計書籍,有一套Code Babies專門是給兒童程式設計啟蒙的,我已經將這套書引進到國內,並擔任了本書的翻譯,中譯名為《寶寶的程式設計》(中國科學技術大學出版社)。這套幼兒程式設計書籍對開啟孩子程式設計思維很有幫助。

關於程式設計機器人,有幾款都不錯。例如Dash Robot,這款是學習程式設計的,有專門的App提供程式設計介面。還有費雪的Code-A-Pillar,這款是透過給毛毛蟲身體安裝不同的行動模組,以下達行動指令,以及Learning Resource的Robot Mouse。其實,程式設計並不難,只要父母適當引導,相信每個孩子都會愛上程式設計。

編註:《Minecraft 我的世界》是微軟與Code.org共同開發的一套程式教學遊戲,專為六歲以上的兒童設計,讓小玩家可以透過玩遊戲來學習程式編寫技巧,培養程式編寫的技能。


玩「桌遊」
也能教孩子程式設計

美國人玩的桌遊有一個特色就是具「開放性」,只要你願意,就能想出各式各樣有創意的玩法。我曾和憨憨在一起玩過很多訓練程式設計的小遊戲,例如一款叫做「機器龜」(Robot Turtles)的桌遊。

如何訓練孩子的程式設計思維

很多人會好奇程式設計不都是用電腦進行的嗎?和桌遊有什麼關係?分享一個美國小學在訓練程式設計的案例,這個訓練是用一款遊戲《Minecraft 我的世界》來進行。目的是把遊戲中的小人移到綿羊的格子裡。孩子需要利用程式設計來實現,程式設計框裡有三個指令,分別是前進、左轉和右轉。孩子在程式設計框中將指令設置好後,電腦就會自動按照你設定的程式來移動小人。

這個練習就是訓練孩子的程式設計思維。明白了這一點,那麼玩「機器龜」這款桌遊你就能理解了。「機器龜」就是教孩子設置行動指令,讓烏龜找到珠寶,而且不需要使用電腦。

「機器龜」的標準型玩法

玩法是將珠寶卡放在中心位置,將冰城堡、木城堡、木箱子隨意放在地圖上,孩子的工作就是根據烏龜所在的位置,每次出一張行動指令卡,例如前進、左轉或者右轉。如果烏龜面臨冰城堡擋住去路時,可以出一張雷射卡,將冰城堡融化。最後移到珠寶處便獲勝。

「機器龜」的競爭型玩法

除了說明書中介紹的基本玩法,我們還可以稍做延伸。我跟憨憨玩的時候會跟他一起設置關卡,例如我分給每個孩子一個冰城堡、一個木箱子、一個木城堡,然後讓每個小朋友為對方設計地圖,人為設置路障。

這裡就有很多技巧,舉個例子,如果烏龜到珠寶所在地的直線路程中沒有任何障礙,那麼它到珠寶所在地的路程一定是最短的,花費時間也最少。但是如果你在烏龜到珠寶所在地的直線路程上設置一個冰城堡,那麼孩子就需要用一張雷射卡將其融化,然後才能行走,步驟就會多一步。而如果你在烏龜到珠寶所在地的直線路程上設置一個木城堡,那麼孩子就需要繞路行走,就多了好幾步。最後取得珠寶用的步驟最少者為勝。

這個玩法其實考驗了孩子兩個方面的技巧:一是給對方設置障礙的技巧,二是破解別人設置的障礙的技巧。這個過程不僅學習了程式設計的技巧,還需要計算最佳路徑,這就比第一種玩法難了不少。

「機器烏龜」的過關型玩法

這個玩法是我和憨憨設計的,就是將珠寶放在任何位置,然後在烏龜到珠寶的直線路程中間設置很多障礙,讓孩子試著用透過卡牌的指令到達珠寶所在地。

在這一過程中,到達珠寶所在地有很多路徑,我們需要孩子找出最短路徑,也就是說所用的指令要最少。這就像我們設計程式的時候都需要最優的演算法。程式寫得越少,那麼這個程式執行的速度就越快。這一款桌遊就是需要不斷訓練孩子解決問題,以及優化設計的能力。


將程式理念融入戶外活動,
陪孩子一起玩

許多讀者會問,他們完全不懂程式設計,要怎麼教孩子呢?寶寶才兩三歲,也可以開始程式設計啟蒙嗎?程式設計現在有多熱門?看看美國就知道了,有一條新政策是程式設計已被納入美國的幼稚園到高中的教育體系,為此政府特批了四十億美元的基金支持這一項計畫。

美國有一些幼稚園、小學也已經開始在平日的教學中向孩子傳授程式設計的常識。程式設計一般都要用電腦來執行,可是對於幼兒來說長時間使用電腦並不合適,那怎麼辦呢?於是很多學校就將程式設計的理念融入「戶外活動」中,這些活動我們在家也可以陪孩子一起玩。

最基本的程式模式有三類: 順序執行、條件語句、迴圈語句。

順序執行就是將命令一條條地依次去做,直到執行完,程式也就結束了,這個很好理解。而很多孩子最迷惘的就是在條件語句上,條件語句的格式是 「if …… else ……」,電腦入門的時候都會先接觸這個。而這個概念也非常考驗孩子的邏輯思維能力,理解了它就表示已經跨入了程式設計的大門。

if  判斷條件:結果 1  else:結果 2

什麼是條件語句呢?舉例來說,我們需要電腦放一首歌,如果我在鍵盤輸入的是A,那麼放的是黃致列的歌;如果不是A,放的就是李玟的歌。這段話如果用程式設計來表示,就能寫成下面這樣:

if  鍵盤輸入A:放黃致列的歌  else:放李玟的歌

這個「if ……else ……」就是程式設計必用的條件語句。話又說回來,這個句子大人一看就明白,可是孩子們要怎麼理解呢?美國老師為此設計出了一個很棒的遊戲。

這個遊戲平時在家或者一群小朋友玩耍的時候都可以玩。遊戲開始的時候,首先要選擇一個小朋友(假設名字叫A)作為參照物,別的小朋友就會根據A的指示來做動作。

第一關:複製動作

我們在紙上寫下程式。if A做一個動作:大家都要做同樣的動作。

也就是說,如果A做什麼動作,別的孩子都要跟著做同樣的動作,如果誰做錯了那就是誰輸了。透過這一步,教會了孩子一個最基本的概念:程式設計中的條件語句—如果發生了什麼條件,那麼就會產生相應的結果。

第二關:動作相反

然後程式改成了這樣。if A做一個動作(蹲下或者跳起):大家要做相反的動作(跳起或者蹲下)。

也就是說,如果A蹲下,那麼別人就要跳起來;而如果A跳起來,那麼別人就要蹲下。檢查這個過程看誰搞混了。這一關的難度在於,孩子看到的和需要做的是完全相反的事情。透過這一步孩子可以慢慢理解,在條件語句中條件和結果可以不一樣。例如例子裡的條件是A跳起,但結果是別的孩子要蹲下。

第三關:反之情況

繼續修改程式,加入了一個else。if A舉右手:大家都要舉右手

else:大家都要抬右腳。

也就是說,如果A舉右手,那麼別人都要舉右手;而如果A沒有舉右手(他在做別的動作),那麼別人都要抬右腳。這個就有點難度了。大家可以一起比賽,做錯的人就出局,看看誰是最後的冠軍。

透過這一步,孩子理解了整個條件語句的概念,如果出現了某個條件,產生相應的結果;但如果沒有發生那個條件,就會產生別的結果。

第四關:開始程式設計

到了最後一關,可以讓孩子開始程式設計了。我們讓孩子自己制定遊戲,用「if ……else ……」的格式把遊戲規則寫下來,要求就是給出一個條件和兩個結果。如果達到某個條件,就會產生第一個結果;而如果沒有達到條件,就會產生另外一個結果。範本如下。

if ______:__________ else:______

透過這一步,孩子就可以根據自己的想法編寫喜歡的程式了。

書籍介紹

本文摘錄自《矽谷爸爸的超強孩子思維訓練課:48個日常就能做的思維刻意練習,讓孩子調動全感官,成就無敵腦力!》,采實文化出版

*透過以上連結購書,《關鍵評論網》由此所得將全數捐贈兒福聯盟

作者:憨爸(趙昊翔)

給孩子答案,不如鍛鍊孩子的「思維能力」
矽谷理工爸為孩子量身打造
48個讓孩子腦力飆升、激發潛能的思維小練習
調動孩子全感官,成就無敵腦力!

  • 擁有微信公眾號十萬粉絲「憨爸在美國」的親子思維訓練法
  • 理工科學霸、矽谷工程師爸爸分享的獨家教育方案
  • 讓孩子在思考中激發興趣、在趣味中啟發智慧、在系統中拓展潛能
  • 從數理思維訓練到腦力開發,從數學、科學啟蒙到創造力、想像力培養,從學習習慣、時間管理到學習方法,奇思妙想,腦洞大開,幫助孩子養成理性思維習慣。

「思維力」是孩子解決未來各種問題的能力

「思維能力」是孩子學習語言、數學、藝術、科學等全面發展的根基。只要父母在生活充分留心細節,問對的問題,就能引導孩子動腦筋並加以思考,不斷加深對外界事物的認知。

作者憨爸是一位在矽谷工作的工程師,本書是憨爸長期觀察美式教育結合自身育兒經驗,透過各種簡單的自製教具及邏輯表格,幫助鍛鍊孩子的思維能力,啟發內在創造力,方法實用不說教,此思維訓練課被十萬多名父母長期追讀及使用,也得到了專業思維訓練專家的高度推崇。

本書特色

  1. 互動式思維訓練,跟孩子一起在玩樂中學習:不只是單方面的思維練習,父母也可以因此開啟自己的思維訓練,書中提到的問題也許父母想都沒想過,重新和孩子一起增進專注力、觀察力與邏輯力。
  2. 精選英文書單及表格,父母可隨時活用:憨爸認為繪本是「共讀」才能達到成效,也就是孩子與父母都能閱讀,書中推薦許多英文書單,能讓親子一同享受閱讀的樂趣,做為孩子英語啟蒙的第一步。
  3. 融合美國小學老師的教養理念,打破既定的思維教養:首度公開美國老師常用的上課思維及方法,將抽象的邏輯思考加以教材化,提供各種能訓練思維的表格及遊戲,方法親民實用。
getImage
Photo Credit: 采實文化出版

責任編輯:翁世航
核稿編輯:潘柏翰


Tags: