前陣子,傑寶麻麻推送了一篇文章:《春節讓孩子邊玩邊學編程?請收下這份親測好玩實用的工具清單 》,裡面推薦了三個適合孩子從遊戲中學習編程概念的工具,這篇文章獲得了800多次收藏。
今天,傑寶麻麻要介紹我的一位朋友——天文達人馬褂(微信號:馬褂愛天文)。馬褂喜歡天文,也喜歡帶娃,更喜歡帶娃學習天文。
昨天,馬褂在朋友圈上傳了他跟六歲的兒子包包製作的“太陽系八大行星運行模擬”,看起來是不是很酷?
馬褂一直在教包包編程,頗有心得,所以,傑寶麻麻邀請他分享下帶娃學編程的經驗。
我是馬褂,我有一個正在上幼兒園、好奇心爆棚的兒子叫包包。
我平時很注意培養包包對科學的興趣。在包包早教階段,我們倆一起學習科學的過程中,積累了一套方法論,這些方法也用到了最近開始的學習Scratch編程的過程中。
首先,先簡單介紹一下什麼是Scratch?
它是一款由麻省理工大學設計開發的少兒編程工具,它也是一種全新的程序設計語言,孩子們用它可以很容易地創造交互式故事情節、動畫、遊戲等。Scratch的官方網站是:https://scratch.mit.edu/,如果上網不方便,也可以下載離線版本。
Scratch同樣是通過圖形化的模塊組合實現,特別為8到16歲孩子設計,提供在線和離線版本。當然,雖然包包只有6歲,但是隻要有興趣,這個年紀也能開始學Scratch。
剛開始,我從最簡單的操作講起,哪怕只是讓Scratch中的小萌物小貓在屏幕上來回滑,都能讓包包哏哏樂半天。然後我會演示一下,給貓的動作加上點小花招,讓他自己摸索。
讓包包熟悉了幾次後,我就買了兩本書,裡面有些實例做練習,比如做個音樂鍵盤、跨欄遊戲之類的。我們一起做完後,我就扔給他自己看、自己玩,看不懂的再來問我,我們一起研究怎麼解決。
這個過程中,包包慢慢對Scratch各個模塊的指令都熟悉起來,甚至比我還熟,後面再給他講別的知識,就不用再為基本操作而費神了。
等包包對照書練習了一些實例後,我再進一步把他日常生活中感興趣的東西拉進來,比如:幼兒園排練繪本劇,就帶他用Scratch拍一個小電影;喜歡天文,就帶他做天體運行模型等等,這樣他就會覺得特別有趣,不枯燥。
除了書,我還用編程遊戲作為輔助,比如學習國際象棋,從棋盤上的格子座標系,促進了解程序裡屏幕上的座標系;玩編程烏龜的遊戲,學循環、子程序等編程概念等。
製作八大行星運行模擬的想法來自包包,他看到書上有個“教小螞蟻沿著路線爬”的案例,想把它改成畫行星軌道,讓行星自己去爬。
不過,實例裡的螞蟻爬得有點粗糙,還有會串到別的軌道上,效果不太好。我建議他改成直接用屏幕座標位置的方式來讓行星移動。
但是這個屏幕座標他搞不定,我就給他寫了兩個三角函數,教他預設好公轉週期、角速度和軌道半徑。
軌道半徑是虛擬的,角速度根據公轉週期來,然後讓包包去查書,把八大行星的公轉週期自己查出來,一個一個填進去。畫軌道線、記錄轉圈數這些簡單的事,也讓包包自己做。