資訊內(nèi)容
文科生媽媽:和孩子一起用Scratch從頭學(xué)編程,原來這么有趣!
今年暑假,我和孩子在家百無聊賴。作為全職文科生媽媽的我,突發(fā)奇想,決定和孩子一起通過游戲的方式學(xué)編程!

本文由花友@兔小麗發(fā)布于小花生寫作計劃
很多人聽到編程兩個字,都不明覺厲,腦海中浮現(xiàn)出這樣一個畫面。

沒錯,我家就有這樣一個程序員,我怎么會不知道編程是什么樣呢?
雖然我是個文科生,但我還是決定和孩子一起探索一下這個陌生的領(lǐng)域,畢竟我們生活在西雅圖這個IT重鎮(zhèn),馬路上隨便碰到個人,一半以上概率是碼農(nóng),不學(xué)點(diǎn)技能都沒法在此地抬頭了。
這次,我沒有去看什么HTML, C++,Python之類的“鳥語”,而是選擇了目前兒童編程學(xué)習(xí)領(lǐng)域普及度最高的?Scratch?作為入門工具。
為什么決定用Scratch的呢?
其實(shí)我是靠搜索結(jié)果推斷出來的。我在谷歌、亞馬遜、當(dāng)?shù)貓D書館系統(tǒng)網(wǎng)站分別搜索了一圈兒童編程的關(guān)鍵詞,出來的結(jié)果有80%以上都提到這個叫做Scratch的神奇網(wǎng)站,那么我們就不妨試一試吧,反正是免費(fèi)的,不會吃什么虧上什么當(dāng)。
為什么沒有選樂高機(jī)器人呢?
貴啊,樂高的機(jī)器人動輒幾千,沒有專業(yè)老師和教案很難立刻上手,要學(xué)先得買各種套裝、零配件,我還是不太敢一步就入坑太深。而且在真正的工作領(lǐng)域中,樂高編程和實(shí)際的代碼編程的語言并不是很像,Scratch則更為類似些,只是把它簡化了。
那么,為什么要讓孩子學(xué)編程呢?
其實(shí)不是讓孩子學(xué),是我自己想學(xué),所以整個過程是?我和孩子一起學(xué)編程,而不是我教孩子編程。
孩子在看我學(xué)的過程中,他也學(xué)到了些東西,不是100%立刻自己就精通了,而是他終于明白了,噢!編程原來可以做這些事情,我也可以挑一些簡單的小任務(wù)來做,雖然還需要媽媽幫忙。
小孩子在學(xué)習(xí)的過程中,從最初并不了解編程是神馬,到看我學(xué)得特別興致勃勃,他也有了非常濃厚的興趣,變成了他每天早晨催著我學(xué)一個新游戲給他玩,再到最后和我一起出謀劃策,我想我的啟蒙的目的就達(dá)到了。
具體怎么學(xué)的呢?
接下來給大家介紹下我們學(xué)習(xí)時的最簡參考資料和步驟,希望能給大家一些參考。
Step 1:首先,登錄scratch的官方網(wǎng)站(https://scratch.mit.edu/)點(diǎn)擊右上方 Join Scratch,注冊一個賬號,這樣你每次編程的項目就都會保存下來,可以發(fā)布,也可以存在本地不公開出來。

Step 2:第二步,去網(wǎng)上隨便搜本關(guān)于scratch編寫游戲的操作性比較強(qiáng)的指導(dǎo)書,關(guān)鍵詞可以包括 scratch + child / kid / game 等等,比如我們就是在圖書館隨便搜到一本2017年新出版的新書?Code Your Own Games,里面包括了20個有非常具體步驟和解釋、界面演示的游戲編程項目。
建議書最好是2016、2017年新出版的,這樣里面的操作界面和步驟和實(shí)際是同步的,不會過時或者不管用了。

相信我,現(xiàn)在市面上能找到的scratch的書真的很豐富,不必發(fā)愁找不到,因?yàn)槲抑暗恼{(diào)研顯示,這個MIT研發(fā)的小軟件真的很popular。
在美國的書店里,我看到關(guān)于兒童編程的書架就有滿滿兩個,作為新世紀(jì)的super skill,在米國,很多學(xué)校都有這樣的興趣課,計算機(jī)真的已經(jīng)從娃娃抓起了。
這些是近期我從圖書館借過的部分Scratch編程書:

Step 3:注冊了賬號、有了書,第三步就是擼起袖子開始學(xué)了。
我們的節(jié)奏是一天一個小游戲。
從第一天學(xué)最簡單的人物創(chuàng)建、背景創(chuàng)建、基本動作如開始、前進(jìn)、聲音、觸發(fā)按鈕開始,每個小游戲都會增加一些新的功能進(jìn)來,慢慢從第二第三階段,引入了條件句 if then,如果這只小貓碰到了蘋果,那么它就會喵喵叫,如果這只小貓過了馬路,那么它就能的一分.
后來又加入了循環(huán),游戲情節(jié)也越來越復(fù)雜,比如設(shè)置了多個變量,不同變量之間會互相影響賦值,增加了多個玩家同時操作的功能,趣味性一步步在提高。
看我說的這么熱鬧,其實(shí)如果你一天只學(xué)一樣新技能的話,壓力一點(diǎn)也不大。
我家的4歲娃最初是看熱鬧吃瓜群眾一枚,等我寫完看到效果就嗷嗷叫,覺得好神奇。
漸漸地,他開始吵著自己來操作已經(jīng)完工的游戲,自己按鍵盤上下左右鍵來控制人物、小汽車、飛機(jī)、小魚前進(jìn)、彈跳。
后來,他開始給我提設(shè)計方面的修改意見,比如要求把飛機(jī)涂成藍(lán)色,把墻涂成磚紅色,小草要幾顆,賽道設(shè)計成幾道彎,漸漸成了我的小助手,開始承擔(dān)給特效配音的工作,比如說Game Over。有時候游戲按著書上說的寫出來,死活出不來效果,他還勸我,媽媽別著急,試試重啟電腦吧!
以下是我們的一些小作品:
我們的第一個游戲:Hungary Cat
小貓可以隨著鼠標(biāo)移動,隨意畫幾個蘋果,碰到蘋果時,小貓就會喵喵叫,蘋果就自動消失了。

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

第10個游戲:Flappy Fish
不停按空格控制小魚跳跳跳,不要掉下來,也不要撞到柱子上面,裝上柱子或者掉下來就Game Over了,分?jǐn)?shù)是每經(jīng)過一個柱子+1。

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

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

第15個游戲:Catch the Pizzas
天上會隨意掉Pizza,小貓在地上來回走,碰到一個Pizza就加一分,Pizza掉在地上就減一條life,游戲結(jié)束會告訴你總分。

第16個游戲:Rocket Blaster
火箭可以平行發(fā)射子彈,打飛來的隕石,如果打中隕石會消失得1分,如果火箭撞上隕石,那么Game Over。方向鍵可以控制火箭上下移動躲開隕石。

最后分享幾個我認(rèn)為,和孩子一起學(xué)編程要把握的幾個原則:
1、循序漸進(jìn),不要一口吃一個胖子
每個游戲都會引入一些新的功能,最開始很容易打雞血,想一口氣做好幾個。但是一天做太多個,容易基礎(chǔ)掌握的不牢固,不如一天做一個就好,按著書本做成功之后,可以和孩子討論下,怎么改進(jìn)成有自己風(fēng)格的原創(chuàng)作品,而不是照著書會做,沒了書兩眼一抹黑了。
我和娃是堅持了整整20天,做完了一本書的20個游戲,可以說掌握了scratch這個軟件的80%精髓,今后自己想寫點(diǎn)自己原創(chuàng)的小游戲,靠學(xué)過的這些技能基本上就可以通吃了。
但是很多人也就堅持個兩三天,結(jié)局就是好像沒有學(xué)過一樣,只知道皮毛,體驗(yàn)不到真正的樂趣。
2、給孩子參與的機(jī)會,不要怕他把你的電腦碰壞
很多爸爸媽媽覺得,孩子太小,摸你的電腦很容易造成致命的損失,比如數(shù)據(jù)全沒了,進(jìn)水了,鍵盤失靈了,屏幕砸碎了之類的。其實(shí)并沒有那么可怕,讓孩子摸摸你的鍵盤,他會很興奮,也會很有成就感。因?yàn)榘戳思^,小貓就走動起來,而原地蹦高,看到了編程的神奇之處——給它指令,讓電腦聽你的話。
3、要多炫耀多曬,自信是成功之母
每次做出來一個小游戲,都不妨錄個像,發(fā)到朋友圈、親友群里,增加孩子的自信,讓孩子覺得自己好厲害的感覺,你自己也會因此覺得很有成就感,明天還有動力和孩子繼續(xù)挑戰(zhàn)高難度,做個更好玩的項目。
4、放飛你的想象
曾經(jīng)覺得自己不可能會寫編程,曾經(jīng)覺得4歲小孩怎么可能懂編程,這些偏見都不應(yīng)該禁錮你,放飛你的想象力,只要每天都嘗試去做一點(diǎn)點(diǎn),從自己感興趣的部分,到挑戰(zhàn)一些難一點(diǎn)的概念和功能,你和你的小孩都會創(chuàng)造奇跡。
如果真的你沒看懂,卡殼做不出來,不妨放下幾天,換個別的項目,也許過幾天就有思路了,抗打擊、有耐心和毅力也是一名優(yōu)秀程序員的必備素養(yǎng)。

聲明:本文章由網(wǎng)友投稿作為教育分享用途,如有侵權(quán)原作者可通過郵件及時和我們聯(lián)系刪除
