作者/分享人:陳世欣 來源:Chat 實(shí)錄
12月05日周一晚8點(diǎn)30分,GitChat團(tuán)隊(duì)迎來了《在家里教孩子玩Scratch和學(xué)Python編程》的主題交流。以下是主持人黃威整理的問題精華贼陶,記錄下了講師陳世欣和讀者之間關(guān)于兒童學(xué)編程及教育等問題的精彩片段。
1 問:小孩子幾歲比較適合開始學(xué)習(xí)編程晃财?或者有沒有一個(gè)時(shí)間表娩鹉?什么時(shí)候開始準(zhǔn)備,什么時(shí)間學(xué)什么層次的比較好元媚?
答:一般五歲左右就可以轧叽,通過在線的教學(xué)網(wǎng)站比如code.org來學(xué)習(xí),啟蒙一下刊棕。六歲后就可以開始了炭晒,最開始可以通過改一些動(dòng)畫類的小應(yīng)用如萬花筒,多媒體賀卡等甥角,玩一玩网严。逐步切入到改編一些孩子喜歡的場(chǎng)景化的小游戲。
工業(yè)級(jí)的語(yǔ)言竟還是在十歲之后再學(xué)習(xí)嗤无,如Python屿笼,Html,Javascript都很好學(xué)翁巍。建議在了解熟悉了語(yǔ)言基礎(chǔ)后驴一,還是要以一些基本的算法為核心來教學(xué)。
外面的各類機(jī)器人編程灶壶,樂高機(jī)器人等也可以去玩一玩肝断,包括單片機(jī)等等。但我覺得不用花太多時(shí)間驰凛,這個(gè)其實(shí)并不是編程的核心胸懈,一般程序都太簡(jiǎn)單。沒有程序員是通過學(xué)這些機(jī)器人編程掌握了核心算法的恰响。作為興趣啟蒙趣钱,我覺得很不錯(cuò)。
初中以后如果希望進(jìn)一步發(fā)展胚宦,建議去找一些競(jìng)賽類的試題首有,許多也是考算法的燕垃,包括像google舉辦的codejam競(jìng)賽可以在大人指導(dǎo)下進(jìn)行。
2 問:怎樣長(zhǎng)期保持小孩子的興趣井联? 開銷會(huì)有多大卜壕?
答:長(zhǎng)期是不容易的,我覺得可能是階段性的烙常。不要急轴捎。啟蒙階段一定要讓孩子覺得是在玩編程,而不是說在做一件成人的工作蚕脏,如果覺得好玩侦副,他才會(huì)一直做下去。
等大一點(diǎn)了驼鞭,可以提些有趣的挑戰(zhàn)題目跃洛,這個(gè)時(shí)候他需要有成就感,比如說做一本圣經(jīng)電子版的詞頻分析终议,這個(gè)挑戰(zhàn)聽起來就很有意思,或做一個(gè)經(jīng)典密碼的解密程序葱蝗。如果孩子有時(shí)候厭倦了穴张,可以暫停,再等一個(gè)合適的契機(jī)重新激發(fā)两曼。網(wǎng)絡(luò)教育初期可能需要陪伴皂甘,否則孩子搞不懂,就去玩自己的網(wǎng)絡(luò)游戲去了悼凑。
如果就學(xué)純軟件的話偿枕,家長(zhǎng)可以用互聯(lián)網(wǎng)上的免費(fèi)教材引導(dǎo),買一些書户辫,然后再花些時(shí)間陪伴渐夸,這樣幾乎是免費(fèi)的如果需要參加外面機(jī)構(gòu)舉辦的一些競(jìng)賽,可能要去上一些專業(yè)點(diǎn)的指導(dǎo)班渔欢,那么會(huì)用高很多墓塌,一般奧林匹克信息學(xué)競(jìng)賽相關(guān)的軟件課程可能會(huì)便宜一些,一年兩三千左右奥额。
如果是機(jī)器人的教學(xué)費(fèi)用苫幢,一年可能要1萬多,還不包括購(gòu)買器材垫挨。 如果你的孩子非常有天賦韩肝,而自己又不怎么懂計(jì)算機(jī)編程,也許還需要去請(qǐng)到外面的大學(xué)生九榔,或者說工程師來教孩子哀峻,F(xiàn)acebook的創(chuàng)始人扎克伯格就是這樣去學(xué)習(xí)的涡相,那這種費(fèi)用就更貴了,可能一個(gè)月就要花三四千谜诫。但我想如果真的要到這樣的地步的時(shí)候漾峡,孩子的成就也可能會(huì)非常可觀喻旷,比如可能做出很好的軟件生逸,那也是值得的。如果不到這樣的水平且预,我建議也不要花這個(gè)錢槽袄。
3 問:國(guó)外現(xiàn)在比較成功的做法是怎么樣的?
答:國(guó)外有很多學(xué)校本來就有不錯(cuò)的計(jì)算機(jī)課锋谐,也用很多在線的課程來組織學(xué)習(xí)的遍尺,也有很多編程夏令營(yíng)班教孩子學(xué)編程,當(dāng)然特別有錢的也會(huì)去選擇一些專業(yè)的培訓(xùn)或者一對(duì)一培訓(xùn)涮拗。
美國(guó)有很多博物館里面組織很多相關(guān)的活動(dòng)乾戏,學(xué)校也組織一些項(xiàng)目,另外還有很多的競(jìng)賽三热。還和大公司比如google鼓择,就提供了學(xué)生一些暑期實(shí)習(xí)機(jī)會(huì),叫summer of code就漾。許多有天賦的孩子呐能,就直接在MIT的Scratch官網(wǎng)甚至是github上面去看代碼,學(xué)代碼抑堡。
4 問:我兒子現(xiàn)在2歲半摆出,喜歡玩手機(jī)和電腦(隨機(jī)打鍵盤),有沒有適合引導(dǎo)更小的孩子學(xué)電腦的軟件或者游戲偎漫?Scratch編程應(yīng)該得會(huì)簡(jiǎn)單的英語(yǔ)以及打字吧,怎么進(jìn)行循序漸進(jìn)的教孩子英語(yǔ)以及用電腦有缆?
答:兩歲半的孩子就讓他玩兒吧,有很多智力類的妒貌,邏輯類的應(yīng)用都可去玩兒通危。程序的核心是邏輯,還是對(duì)邏輯了解的越清晰灌曙,然后有一定的數(shù)學(xué)基礎(chǔ)就越容易做好編程菊碟。
比如可以去玩“”我的世界Minecraft”。Code.org上有些編程的題目在刺,入門啟蒙時(shí)候可以給一些題目去完成逆害,都是比較簡(jiǎn)單的头镊,慢慢引導(dǎo)自己找東西玩。
5 問:目前我們的這種方式與樂高機(jī)器人編程的方式有哪些區(qū)別魄幕,樂高的費(fèi)用比較貴相艇,而且需要購(gòu)買他們的產(chǎn)品,我想這也是一種商品促銷的方式纯陨,但是樂高本身確實(shí)比較吸引兒童去學(xué)習(xí)坛芽,那么我們的這種方式是否可以持續(xù)吸引孩子進(jìn)入或者持續(xù)發(fā)展呢?
答:樂高非常偉大翼抠,但是要把樂高做好需要有大量的積木塊咙轩。而且要見過很多的積木塊的組合方式,才能做得出好的作品來阴颖。一般家庭里面沒有那么多空間放大量的樂高活喊,所以就必須借助于教育機(jī)構(gòu)提供大量樂高積木塊兒和指導(dǎo)。
其實(shí)Minecraft屬于一種虛擬樂高積木量愧,你有無窮盡的虛擬積木塊可以用钾菊,而且不需要再花錢。但是我覺得雖然Minecraft孩子很喜歡玩偎肃,可是里面沒有邏輯煞烫,其實(shí)跟編程差的還是很遠(yuǎn)。更多的是像是一個(gè)創(chuàng)作工具软棺。當(dāng)然,他們也有編程工具尤勋,可以做出更好的作品來當(dāng)這個(gè)更加專業(yè)喘落,也是需要有編程基礎(chǔ)的,美國(guó)這邊有些夏令營(yíng)是教孩子用Minecraft編程的最冰。
6 問:對(duì)于特別愛玩游戲瘦棋,也有一定編程基礎(chǔ)的孩子 怎么引導(dǎo)他們?cè)谶@條路上健康的發(fā)展下去?
答:Scratch在設(shè)計(jì)時(shí)候就是借鑒了樂高的做法,把代碼變成積木塊暖哨,加了邏輯化和事件等形成的。所以有很多人沛慢,一旦迷上了达布,也是愛不釋手,實(shí)際上比樂高更好玩躺苦,因?yàn)樗梢詿o限制地使用更多、更有趣的東西嘀趟,也可以混合音樂愈诚、圖片扰路,做出一些效果等等,其實(shí)會(huì)做得更有趣宫莱,還可以直接從網(wǎng)上借鑒別人作品直接做修改哩罪。更容易學(xué)習(xí)际插,樂趣更多。
可以讓孩子來學(xué)會(huì)改編游戲甚至創(chuàng)作游戲框弛,去理解游戲中設(shè)計(jì)的一些奧秘瑟枫。游戲化機(jī)制實(shí)際上已經(jīng)大量的被使用在互聯(lián)網(wǎng)和日常生活里面了,因?yàn)橛螒蚧O(shè)計(jì)就是借鑒了游戲的很多優(yōu)良的設(shè)計(jì)點(diǎn)僻焚,讓用戶粘性更強(qiáng)膝擂。很多孩子一旦能夠自己創(chuàng)作游戲架馋,他獲得的成就感其實(shí)比玩游戲通關(guān)更強(qiáng),而且反過來促進(jìn)他對(duì)游戲的理解和分析能力就更強(qiáng)铣墨。
家長(zhǎng)可以一起跟孩子討論办绝,能不能模仿設(shè)計(jì)一個(gè)簡(jiǎn)單的小游戲姚淆,現(xiàn)在流行的游戲里面有什么地方是特別好腌逢,比如說我們家孩子就模仿做過飛機(jī)大戰(zhàn)的游戲搏讶。
實(shí)際上這個(gè)時(shí)候孩子是站在上帝視角霍殴,是從一個(gè)游戲設(shè)計(jì)者的視角來看游戲的時(shí)候,會(huì)更加有趣妒蔚,孩子一旦當(dāng)過上帝了月弛,甚至?xí)敢庾錾系鄱皇亲鐾婕摇?/p>
7 問:請(qǐng)問怎么給娃找到各種階段性小目標(biāo),比賽或俱樂部之類的氛圍菜皂?
答:不要放棄有興趣的游戲編程領(lǐng)域厉萝,空的時(shí)候玩一把,調(diào)劑下章母。學(xué)習(xí)肯定是重要的弹渔,特別是五年級(jí)需要升初中溯祸,更加關(guān)鍵,先提高效率吧博杖。
其實(shí)任何大目標(biāo)都要拆解為很多小目標(biāo)剃根,不斷地引導(dǎo)孩子往前走前方,每個(gè)小目標(biāo)都是設(shè)計(jì)得剛好能讓孩子把它給完成。如果孩子一直能夠把階段性目標(biāo)的編程很好地做出來苗傅,才有成就感渣慕。
如果家長(zhǎng)懂計(jì)算機(jī)編程,很容易去互聯(lián)網(wǎng)上找到一些合適的編程相關(guān)的學(xué)習(xí)資源逊桦,并根據(jù)孩子的情況制定一些合適的小目標(biāo)强经,比如說在學(xué)Scratch初期的時(shí)候讓孩子掌握基本的動(dòng)畫編程,然后在一起來尋找一些有趣的游戲編程分析和修改宝穗。再嘗試提出一個(gè)小的挑戰(zhàn)逮矛,讓孩子自己創(chuàng)作转砖。
8 問:我家兒子喜歡玩游戲,但是由于五年級(jí)課緊晋控,就不許他玩游戲了赡译,我看他連編程也沒那么感興趣了蝌焚。我們就很有點(diǎn)擔(dān)心如何平衡學(xué)業(yè)和游戲的關(guān)系誓斥,又如何引導(dǎo)孩子在玩游戲過程中提高自己的編程技巧?
答:初期的時(shí)候肯定是啟蒙和打基礎(chǔ)。啟蒙就是讓孩子喜歡毕谴,玩得開心涝开,不斷的通過各種編程網(wǎng)站,軟件例子惧浴,機(jī)器人衷旅、樂高等讓孩子去玩柿顶。
打基礎(chǔ)的時(shí)候呢操软,就要選擇一些有趣的小游戲,小動(dòng)畫題目家乘,把基礎(chǔ)知識(shí)能夠包容進(jìn)去仁锯,在孩子玩的過程中业崖,在做這些有趣的小游戲的過程中蓄愁,慢慢就學(xué)會(huì)了基礎(chǔ)知識(shí)撮抓。一些編得比較好的教材就有這樣的基礎(chǔ)引導(dǎo)性丹拯。
如果是工業(yè)級(jí)的編程,還需要掌握一些算法顷编,這個(gè)可能會(huì)稍微枯燥一點(diǎn)剑刑。最好能夠把每個(gè)題目施掏,設(shè)想有一個(gè)故事場(chǎng)景七芭,讓它變得很有趣狸驳。
可以選擇參加一些教育機(jī)構(gòu)的各種相關(guān)課程。很多機(jī)構(gòu)愿意提供給孩子插班試聽耙箍,他就跟其他小孩子一起辩昆,對(duì)比,學(xué)習(xí)术辐,就能夠發(fā)現(xiàn)自己能力還不錯(cuò)辉词,有一些自信心较屿。像上海有少年宮或少科站卓练,可以去學(xué)習(xí)襟企。
還有一些科創(chuàng)類的競(jìng)賽顽悼,網(wǎng)上搜索一般都能找到本城市的,科創(chuàng)競(jìng)賽冰评、信息學(xué)的競(jìng)賽等甲雅。也可以找一些志同道合的家長(zhǎng)帶著孩子一起,學(xué)習(xí)一個(gè)下午弛姜,或者參加一些相關(guān)的夏令營(yíng)或冬令營(yíng)廷臼。
有條件的可以到美國(guó)去參加夏令營(yíng)荠商,感覺會(huì)更好结啼。有一些面向?qū)W生或已經(jīng)工作人員的黑客馬拉松等活動(dòng)郊愧,也可以帶孩子去感受一下井佑。
9 問:最近買了Seymour Papert 的書(他是LOGO語(yǔ)言的發(fā)明者)躬翁,里面說“讓孩子對(duì)電腦編程盒发,而不是讓電腦對(duì)孩子編程例嘱,提供一種構(gòu)建環(huán)境,讓孩子其主導(dǎo)作用宁舰,而不是灌輸?shù)慕逃绰眩F(xiàn)在的編程教育都是面向有一定知識(shí)結(jié)構(gòu)的成人,是名副其實(shí)的「電腦教人做事」÷瑁現(xiàn)在市面上腋腮,哪些編程語(yǔ)言或者玩具是符合「讓孩子對(duì)電腦編程」的?
答:以前把編程作為工具壤蚜,作為一種工作的手段即寡。但實(shí)際上,編程是一種信息加工和展示的控制方式袜刷。成人用它來工作,孩子可以用來玩墩蔓,畢竟有很多的動(dòng)畫,很多的圖形或聲音的處理都是很有意思的事情。
也可以把它變成一些互動(dòng)性的膜钓,游戲化的做法。這時(shí)候動(dòng)畫、好玩的聲音圖像的處理司蔬,有趣的游戲就是孩子的應(yīng)用,對(duì)孩子來說計(jì)算機(jī)其實(shí)個(gè)玩具或者創(chuàng)作工具,根本不是做事的工具跛十。不是寫程序而是在玩程序。
目前看來是Scratch就是這樣一個(gè)比較完美的工具,它有一個(gè)龐大的國(guó)際化在線社區(qū)霎苗,全球幾百萬的孩子都在這里分享作品和交流,這些作品的代碼大都是為了玩而不是工作昆淡,那對(duì)孩子來講,他們就是在一起在玩這些代碼,玩計(jì)算機(jī)。
10 問:另外一個(gè)計(jì)算機(jī)領(lǐng)域的先驅(qū)Alan Kay的TED中甘晤,也是講孩子編程的。1960年代的時(shí)候酌伊,艾倫·凱參與開發(fā)了圖形用戶界面(GUI)驴娃、面向?qū)ο缶幊桃约皞€(gè)人電腦本身蔗草。后來幾十年在各大計(jì)算機(jī)公司工作的他則不斷的刷新人們對(duì)工具的認(rèn)識(shí)與看法】醯担現(xiàn)在的艾倫·凱則更希望挖掘出計(jì)算機(jī)革命的深層次意義故觅,他認(rèn)為計(jì)算機(jī)不但可以幫助我們認(rèn)識(shí)人體自身不能認(rèn)識(shí)的世界,還能幫助孩子和大人學(xué)會(huì)思考贯溅,去提問熙含。Alan在視頻結(jié)尾引用Marshall McLuhan的話“孩子是我們傳遞給未來的信息”黔衡。但事實(shí)上,孩子就是我們的未來塘装。這些大牛都在兒童學(xué)計(jì)算機(jī)領(lǐng)域有很深的研究,你在教自己兒子學(xué)編程的過程中有學(xué)到哪些未來的信息?
答:孩子學(xué)的這些簡(jiǎn)單的計(jì)算機(jī)的編程,沒有包含太多的傳遞給未來的信息,但是編程提供了一個(gè)很好的思維模式徙瓶,他們?cè)谟辛私Y(jié)構(gòu)化編程的這么一個(gè)思想之后,而他就會(huì)考慮到把很多事情,按照一個(gè)可復(fù)用的方式,高效率的去組織羡棵。自己再去玩游戲,會(huì)看到很多其他的計(jì)算機(jī)相關(guān)的程序的時(shí)候,更容易理解它里面的本質(zhì)舶胀,而找到它的核心點(diǎn)。
在學(xué)編程過程中很多信息,我是讓他們自己通過互聯(lián)網(wǎng)來找的船万。通過互聯(lián)網(wǎng)舱呻,他們找到了很多信息芥驳,既可以玩得更好兆旬,也可以快速的去跟同齡人同類人去溝通怎栽,學(xué)到更多的東西熏瞄,變得更加開放胡陪。其實(shí)也是提升了他們自己的能力妈经,所以我兒子捧书,數(shù)據(jù)庫(kù)和PHP经瓷,都是他自己在網(wǎng)上尋找例子,慢慢去學(xué)習(xí)的锋恬。
11 問:現(xiàn)在市場(chǎng)上有沒有哪些以Scratch設(shè)計(jì)的課程,但是不是為了教編程,而是以編程為載體,主要教育其他的數(shù)學(xué)和科學(xué)知識(shí)很泊?
答:目前應(yīng)該沒有沾谓,因?yàn)橐獙W(xué)其他的數(shù)學(xué)和科學(xué)知識(shí)的話委造,應(yīng)該還是以Python這樣的效率更高且軟件包更多,類庫(kù)更多的工業(yè)級(jí)高級(jí)語(yǔ)言為主均驶。如果可以的話可以把部分奧數(shù)題抽出來昏兆,用于做編程實(shí)現(xiàn)。
在各個(gè)大學(xué)的數(shù)學(xué)模型大賽里面都有類似的編程題庫(kù)妇穴,當(dāng)然直接參加谷歌的codejam比賽也是個(gè)很好的方法爬虱,就是難度較高。
12 問:越小的孩子伟骨,思維方式和成人差別越大饮潦,很多日常交流已不容易把握孩子的思路,身為已有編程經(jīng)驗(yàn)的父母携狭,如何陪伴孩子接觸程序設(shè)計(jì)继蜡?
答:就跟培養(yǎng)興趣一樣,沒有足夠的投入也難有特別大的興趣家長(zhǎng)只能簡(jiǎn)化自己的思維方式,化身小白花點(diǎn)時(shí)間稀并,孩子會(huì)卡在一些常規(guī)的初級(jí)錯(cuò)誤上仅颇,不能責(zé)罵,要鼓勵(lì)碘举,要給方法給孩子看一些其他編程孩子的作品和TED演講忘瓦。
13 問:小孩子的網(wǎng)絡(luò)教育效果好嗎?需要父母或者老師陪同么引颈?讓孩子學(xué)習(xí)計(jì)算機(jī)耕皮,怎么能有效預(yù)防孩子遠(yuǎn)離網(wǎng)癮,比如一些已經(jīng)很宅的孩子蝙场?
網(wǎng)絡(luò)教育初期可能需要陪伴凌停,否則孩子搞不懂,就去玩自己的網(wǎng)絡(luò)游戲去了售滤。
曾經(jīng)因?yàn)槲壹依隙低低嬗螒蚍D猓覀兘o他兩個(gè)處罰選擇,一個(gè)是跳繩800個(gè)完箩,另一個(gè)是玩游戲24小時(shí)赐俗,條件是不吃飯、不睡覺弊知、只能喝水和站著玩阻逮。手機(jī)pad輪流充電,換著玩吉捶,后來他堅(jiān)持了21小時(shí)終于崩潰了夺鲜,以后不再犯皆尔。
遠(yuǎn)離網(wǎng)癮呐舔,只能是家長(zhǎng)對(duì)時(shí)間和行為把控,定好規(guī)則慷蠕。
我們還罰過孩子不上學(xué)珊拼,老二在小學(xué)二年級(jí)時(shí)候調(diào)皮,不愛上學(xué)流炕,就讓他一周不上學(xué)澎现,在家學(xué)習(xí)和做功課。后來他憋不住了每辟,想上學(xué)了剑辫,以后就好了。
14 問:家長(zhǎng)就是電腦白丁渠欺,怎么幫助孩子去學(xué)編程妹蔽,別說看書,能否給出一個(gè)大概的指導(dǎo)路線?
答:電腦白丁胳岂,可以找懂電腦的人開個(gè)玩編程的清單编整,從code.org開始歉闰,玩Scratch旋炒,慢慢升級(jí)到工業(yè)級(jí)語(yǔ)言。也可以從code.org開始栖疑,學(xué)習(xí)Javascript产园,然后做HTML等網(wǎng)頁(yè)編程汞斧。具體看年齡和孩子的需求。
15 問:很多機(jī)器人的編程都是模塊化的什燕,包括Scratch断箫,如何引導(dǎo)孩子從模塊化編程到代碼編程?
答:這個(gè)本質(zhì)是相通的秋冰,順序仲义、循環(huán),條件分支等孩子做多模塊編程后剑勾,自然看python這樣的代碼就容易理解埃撵。比如,用Python做什么虽另?之前是奧數(shù)驗(yàn)算暂刘,后面是文本處理,或者是研究密碼學(xué)捂刺。
16 問:奧數(shù)對(duì)學(xué)編程有用嗎谣拣?如果讓孩子參加科技創(chuàng)新大賽,大體應(yīng)該掌握的知識(shí)有哪些族展?北京一些高中收機(jī)器人科技特長(zhǎng)生了森缠,是玩樂高就可以嗎?還有什么需要孩子掌握才能成為科技特長(zhǎng)生仪缸?
答:奧數(shù)培訓(xùn)對(duì)喜歡的孩子來說是非常好玩贵涵,又能得到進(jìn)入名校機(jī)會(huì)的捷徑。對(duì)不喜歡的恰画,則是噩夢(mèng)宾茂。
奧數(shù)對(duì)學(xué)習(xí)編程有很大幫助,你看codejam的試題拴还,基本上就是計(jì)算機(jī)奧數(shù)題跨晴。編程很難標(biāo)準(zhǔn)化,一個(gè)程序卡住了片林,不代表他不聰明不努力端盆。
其實(shí)國(guó)家和市里的科技比賽很多根本不考編程树瞭,主要還是思路和論文。搞清楚歷屆獲獎(jiǎng)的主題爱谁,找一個(gè)合適的鉆研出來晒喷,有個(gè)好的思路和研究成果就好了。
再次感謝圖靈访敌,為本場(chǎng)Chat的獲獎(jiǎng)讀者提供了《Scratch編程》和《父與子的編程之旅》等書籍凉敲。