我是怎么和4歲小孩學(xué)編程的?

2017-9-11 11:03 原創(chuàng) · 圖片11

今年暑假,由于沒(méi)有幼兒園可以送,我和孩子在家百無(wú)聊賴(lài)。賦閑在家的全職媽媽我,突發(fā)奇想,決定和孩子一起玩?zhèn)€游戲——編程!

很多人聽(tīng)到編程兩個(gè)字,都不明覺(jué)厲,腦海中浮現(xiàn)出這樣一個(gè)畫(huà)面。

沒(méi)錯(cuò),我家就有這樣一個(gè)程序員,我怎么會(huì)不知道編程是什么樣呢?

雖然我是孩子的親媽?zhuān)椅沂莻€(gè)文科生,但我還是決定和孩子一起探索一下這個(gè)陌生的領(lǐng)域,畢竟我們生活在西雅圖這個(gè)IT重鎮(zhèn),馬路上隨便碰到個(gè)人,一半以上概率是碼農(nóng),不學(xué)點(diǎn)技能都沒(méi)法在此地抬頭了。

這次,我沒(méi)有去看什么HTML, C++,Python之類(lèi)的“鳥(niǎo)語(yǔ)”,而是選擇了目前兒童編程學(xué)習(xí)領(lǐng)域普及度最高的Scratch作為入門(mén)工具。

為什么決定用Scratch的呢?

其實(shí)我是靠搜索結(jié)果推斷出來(lái)的。我在谷歌、亞馬遜、當(dāng)?shù)貓D書(shū)館系統(tǒng)網(wǎng)站分別搜索了一圈兒童編程的關(guān)鍵詞,出來(lái)的結(jié)果有80%以上都提到這個(gè)叫做Scratch的神奇網(wǎng)站,那么我們就不妨試一試吧,反正是免費(fèi)的,不會(huì)吃什么虧上什么當(dāng)。

為什么沒(méi)有選樂(lè)高呢?

貴啊,樂(lè)高的機(jī)器人動(dòng)輒幾千,沒(méi)有專(zhuān)業(yè)老師和教案很難立刻上手,要學(xué)先得買(mǎi)各種套裝、零配件,我還是不太敢一步就入坑太深。而且在真正的工作領(lǐng)域中,樂(lè)高編程和實(shí)際的代碼編程的語(yǔ)言并不是很像,scratch則更為類(lèi)似些,只是把它簡(jiǎn)化了。

那么為什么要讓孩子學(xué)編程呢?

其實(shí)不是讓孩子學(xué),是我自己想學(xué),所以整個(gè)過(guò)程是 我和孩子一起學(xué)編程,而不是 我教孩子編程。

孩子在看我學(xué)的過(guò)程中,他也學(xué)到了些東西,不是100%立刻自己就精通了,而是他終于明白了,噢!編程原來(lái)可以做這些事情,我也可以挑一些簡(jiǎn)單的小任務(wù)來(lái)做,雖然還需要媽媽幫忙。

小孩子在學(xué)習(xí)的過(guò)程中,從最初并不了解編程是神馬,到看我學(xué)得特別興致勃勃,他也有了非常濃厚的興趣,變成了他每天早晨催著我學(xué)一個(gè)新游戲給他玩,再到最后和我一起出謀劃策,我想我的啟蒙的目的就達(dá)到了。

接下來(lái)給大家介紹下我們學(xué)習(xí)時(shí)的最簡(jiǎn)參考資料和步驟,希望能給大家一些參考。

首先,登錄scratch的官方網(wǎng)站: https://scratch.mit.edu/,點(diǎn)擊右上方Join Scratch,注冊(cè)一個(gè)賬號(hào),這樣你每次編程的項(xiàng)目就都會(huì)保存下來(lái),可以發(fā)布,也可以存在本地不公開(kāi)出來(lái)。

第二步,去網(wǎng)上隨便搜本關(guān)于scratch編寫(xiě)游戲的操作性比較強(qiáng)的指導(dǎo)書(shū),關(guān)鍵詞可以包括scratch+child/kid/game等等,比如我們就是在圖書(shū)館隨便搜到一本2017年新出版的新書(shū)Code Your Own Games,里面包括了20個(gè)有非常具體步驟和解釋、界面演示的游戲編程項(xiàng)目。

建議書(shū)最好是2016、2017年新出版的,這樣里面的操作界面和步驟和實(shí)際是同步的,不會(huì)過(guò)時(shí)或者不管用了。

相信我,現(xiàn)在市面上能找到的scratch的書(shū)真的很豐富,不必發(fā)愁找不到,因?yàn)槲抑暗恼{(diào)研顯示,這個(gè)MIT研發(fā)的小軟件真的很popular。

在美國(guó)的書(shū)店里,我看到關(guān)于兒童編程的書(shū)架就有滿滿兩個(gè),作為新世紀(jì)的super skill,在米國(guó),很多學(xué)校都有這樣的興趣課,計(jì)算機(jī)真的已經(jīng)從娃娃抓起了。

這些是近期我從圖書(shū)館借過(guò)的部分Scratch編程書(shū):

注冊(cè)了賬號(hào)、有了書(shū),第三步就是擼起袖子開(kāi)始學(xué)了。

我們的節(jié)奏是一天一個(gè)小游戲。

從第一天學(xué)最簡(jiǎn)單的人物創(chuàng)建、背景創(chuàng)建、基本動(dòng)作如開(kāi)始、前進(jìn)、聲音、觸發(fā)按鈕開(kāi)始,每個(gè)小游戲都會(huì)增加一些新的功能進(jìn)來(lái),慢慢從第二第三階段,引入了條件句if then,如果這只小貓碰到了蘋(píng)果,那么它就會(huì)喵喵叫,如果這只小貓過(guò)了馬路,那么它就能的一分,后來(lái)又加入了循環(huán),游戲情節(jié)也越來(lái)越復(fù)雜,比如設(shè)置了多個(gè)變量,不同變量之間會(huì)互相影響賦值,增加了多個(gè)玩家同時(shí)操作的功能,趣味性一步步在提高。

看我說(shuō)的這么熱鬧,其實(shí)如果你一天只學(xué)一樣新技能的話,壓力一點(diǎn)也不大。

我家的4歲娃最初是看熱鬧吃瓜群眾一枚,等我寫(xiě)完看到效果就嗷嗷叫,覺(jué)得好神奇。漸漸地,他開(kāi)始吵著自己來(lái)操作已經(jīng)完工的游戲,自己按鍵盤(pán)上下左右鍵來(lái)控制人物、小汽車(chē)、飛機(jī)、小魚(yú)前進(jìn)、彈跳。后來(lái),他開(kāi)始給我提設(shè)計(jì)方面的修改意見(jiàn),比如要求把飛機(jī)涂成藍(lán)色,把墻涂成磚紅色,小草要幾顆,賽道設(shè)計(jì)成幾道彎,漸漸成了我的小助手,開(kāi)始承擔(dān)給特效配音的工作,比如說(shuō)Game Over。有時(shí)候游戲按著書(shū)上說(shuō)的寫(xiě)出來(lái),死活出不來(lái)效果,他還勸我,媽媽別著急,試試重啟電腦吧!

以下是我們的一些小作品:

我們的第一個(gè)游戲:Hungary Cat

小貓可以隨著鼠標(biāo)移動(dòng),隨意畫(huà)幾個(gè)蘋(píng)果,碰到蘋(píng)果時(shí),小貓就會(huì)喵喵叫,蘋(píng)果就自動(dòng)消失了。

第五個(gè)游戲:Tunnel of Gold,自己親手繪制迷宮圖,小貓沿著橙色道路上下左右行走,目標(biāo)是吃掉終點(diǎn)的金子。撞墻的時(shí)候可以自動(dòng)退一步。

第10個(gè)游戲:Flappy Fish

不停按空格控制小魚(yú)跳跳跳,不要掉下來(lái),也不要撞到柱子上面,裝上柱子或者掉下來(lái)就Game Over了,分?jǐn)?shù)是每經(jīng)過(guò)一個(gè)柱子+1。

相信很多人玩過(guò)這個(gè)游戲,控制小魚(yú)一直不撞到那個(gè)柱子,在中間游啊游,這是具體的代碼界面:

控制小魚(yú)的:

控制柱子的:柱子可以移動(dòng)上下位置,增加了難度。

第15個(gè)游戲:Catch the Pizzas

天上會(huì)隨意掉Pizza,小貓?jiān)诘厣蟻?lái)回走,碰到一個(gè)Pizza就加一分,Pizza掉在地上就減一條life,游戲結(jié)束會(huì)告訴你總分。

第16個(gè)游戲:Rocket Blaster

火箭可以平行發(fā)射子彈,打飛來(lái)的隕石,如果打中隕石會(huì)消失得1分,如果火箭撞上隕石,那么Game Over。方向鍵可以控制火箭上下移動(dòng)躲開(kāi)隕石。

最后分享幾個(gè)我認(rèn)為,和孩子一起學(xué)編程要把握的幾個(gè)原則:

1、循序漸進(jìn),不要一口吃一個(gè)胖子

每個(gè)游戲都會(huì)引入一些新的功能,最開(kāi)始很容易打雞血,想一口氣做好幾個(gè)。但是一天做太多個(gè),容易基礎(chǔ)掌握的不牢固,不如一天做一個(gè)就好,按著書(shū)本做成功之后,可以和孩子討論下,怎么改進(jìn)成有自己風(fēng)格的原創(chuàng)作品,而不是照著書(shū)會(huì)做,沒(méi)了書(shū)兩眼一抹黑了。

我和娃是堅(jiān)持了整整20天,做完了一本書(shū)的20個(gè)游戲,可以說(shuō)掌握了scratch這個(gè)軟件的80%精髓,今后自己想寫(xiě)點(diǎn)自己原創(chuàng)的小游戲,靠學(xué)過(guò)的這些技能基本上就可以通吃了。

但是很多人也就堅(jiān)持個(gè)兩三天,結(jié)局就是好像沒(méi)有學(xué)過(guò)一樣,只知道皮毛,體驗(yàn)不到真正的樂(lè)趣。

2、給孩子參與的機(jī)會(huì),不要怕他把你的電腦碰壞

很多爸爸媽媽覺(jué)得,孩子太小,摸你的電腦很容易造成致命的損失,比如數(shù)據(jù)全沒(méi)了,進(jìn)水了,鍵盤(pán)失靈了,屏幕砸碎了之類(lèi)的。其實(shí)并沒(méi)有那么可怕,讓孩子摸摸你的鍵盤(pán),他會(huì)很興奮,也會(huì)很有成就感。因?yàn)榘戳思^,小貓就走動(dòng)起來(lái),而原地蹦高,看到了編程的神奇之處——給它指令,讓電腦聽(tīng)你的話。

3、要多炫耀多曬,自信是成功之母

每次做出來(lái)一個(gè)小游戲,都不妨錄個(gè)像,發(fā)到朋友圈、親友群里,增加孩子的自信,讓孩子覺(jué)得自己好厲害的感覺(jué),你自己也會(huì)因此覺(jué)得很有成就感,明天還有動(dòng)力和孩子繼續(xù)挑戰(zhàn)高難度,做個(gè)更好玩的項(xiàng)目。

4、放飛你的想象

曾經(jīng)覺(jué)得自己不可能會(huì)寫(xiě)編程,曾經(jīng)覺(jué)得4歲小孩怎么可能懂編程,這些偏見(jiàn)都不應(yīng)該禁錮你,放飛你的想象力,只要每天都嘗試去做一點(diǎn)點(diǎn),從自己感興趣的部分,到挑戰(zhàn)一些難一點(diǎn)的概念和功能,你和你的小孩都會(huì)給創(chuàng)造奇跡。

如果真的你沒(méi)看懂,卡殼做不出來(lái),不妨放下幾天,換個(gè)別的項(xiàng)目,也許過(guò)幾天就有思路了,抗打擊、有耐心和毅力也是一名優(yōu)秀程序員的必備素養(yǎng)。

作者:豚豚媽?zhuān)谖餮艌D的全職媽媽


回應(yīng)66 舉報(bào)
贊157
收藏1144
8年前
在國(guó)外的寶寶和國(guó)內(nèi)差別還是很大的,學(xué)的是編程,好厲害。一般寶寶編程一下要多久?會(huì)不會(huì)一直占著電腦???
8年前
學(xué)習(xí)了,一直以為編程起碼要初中才學(xué)的
8年前
厲害了,國(guó)內(nèi)也能上么?
8年前
這個(gè)真的很厲害啊??????
8年前
這個(gè)真是很厲害,說(shuō)得我也心動(dòng)了
8年前
這個(gè)太好了,我要試試,先買(mǎi)本書(shū)
8年前
http://www.kidscode.cn/scratch
中國(guó)官網(wǎng)。你懂的,中文
8年前
love 醬醬 在國(guó)外的寶寶和國(guó)內(nèi)差別還是很大的,學(xué)的是編程,好厲害。一般寶寶編程一下要多久...
一次大概20分鐘吧
8年前
ireneyn 厲害了,國(guó)內(nèi)也能上么?
可以的
8年前
太厲害啦,謝謝分享。要認(rèn)真學(xué)習(xí)哈
更多
發(fā)布

推薦閱讀

兔媽在美國(guó)
兔媽在美國(guó)
2019
2013