?GitChat 團(tuán)隊(duì)在知乎Live上作了《在家里教孩子玩Scratch和學(xué)Python編程》的主題交流痒留。以下是主持人黃威整理的問題精華界弧,記錄下了講師陳世欣和讀者之間關(guān)于兒童學(xué)編程及教育等問題的精彩片段拖吼。
1. 問:小孩子幾歲比較適合開始學(xué)習(xí)編程?或者有沒有一個(gè)時(shí)間表脚牍?什么時(shí)候開始準(zhǔn)備火俄,什么時(shí)間學(xué)什么層次的比較好?
答:一般五歲左右就可以,通過(guò)在線的教學(xué)網(wǎng)站來(lái)學(xué)習(xí)先鱼,啟蒙一下俭正。六歲后就可以開始了,最開始可以通過(guò)改一些動(dòng)畫類的小應(yīng)用如萬(wàn)花筒焙畔,多媒體賀卡等掸读,玩一玩。逐步切入到改編一些孩子喜歡的場(chǎng)景化的小游戲闹蒜。
工業(yè)級(jí)的語(yǔ)言最好還是在十歲之后再學(xué)習(xí)寺枉,如Python,HTML绷落,Javascript都很好學(xué)姥闪。建議在了解熟悉了語(yǔ)言基礎(chǔ)后,還是要以一些基本的算法為核心來(lái)教學(xué)砌烁。
外面的各類機(jī)器人編程筐喳,樂高機(jī)器人等也可以去玩一玩,包括單片機(jī)等等函喉。但我覺得不用花太多時(shí)間避归,這個(gè)其實(shí)并不是編程的核心,一般程序都太簡(jiǎn)單管呵。沒有程序員是通過(guò)學(xué)這些機(jī)器人編程掌握了核心算法的梳毙。作為興趣啟蒙,我覺得很不錯(cuò)捐下。
初中以后如果希望進(jìn)一步發(fā)展账锹,建議去找一些競(jìng)賽類的試題,許多也是考算法的坷襟,包括像Google舉辦的Codejam競(jìng)賽可以在大人指導(dǎo)下進(jìn)行奸柬。
2. 問:怎樣長(zhǎng)期保持小孩子的興趣? 開銷會(huì)有多大婴程?
答:長(zhǎng)期是不容易的廓奕,我覺得可能是階段性的。不要急档叔。啟蒙階段一定要讓孩子覺得是在玩編程桌粉,而不是說(shuō)在做一件成人的工作,如果覺得好玩衙四,他才會(huì)一直做下去铃肯。
等大一點(diǎn)了,可以提些有趣的挑戰(zhàn)題目届搁,這個(gè)時(shí)候他需要有成就感,比如說(shuō)做一本圣經(jīng)電子版的詞頻分析,這個(gè)挑戰(zhàn)聽起來(lái)就很有意思卡睦,或做一個(gè)經(jīng)典密碼的解密程序宴胧。如果孩子有時(shí)候厭倦了,可以暫停表锻,再等一個(gè)合適的契機(jī)重新激發(fā)恕齐。網(wǎng)絡(luò)教育初期可能需要陪伴,否則孩子搞不懂瞬逊,就去玩自己的網(wǎng)絡(luò)游戲去了显歧。
3. 問:國(guó)外現(xiàn)在比較成功的做法是怎么樣的?
答:國(guó)外有很多學(xué)校本來(lái)就有不錯(cuò)的計(jì)算機(jī)課确镊,也用很多在線的課程來(lái)組織學(xué)習(xí)的士骤,也有很多編程夏令營(yíng)班教孩子學(xué)編程,當(dāng)然也有家長(zhǎ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”端三。入門啟蒙時(shí)候可以給孩子一些編程題目去完成舷礼,要比較簡(jiǎn)單的,慢慢引導(dǎo)自己找東西玩郊闯。
5. 問:目前我們的這種方式與樂高機(jī)器人編程的方式有哪些區(qū)別妻献,樂高的費(fèi)用比較貴蛛株,而且需要購(gòu)買他們的產(chǎn)品,我想這也是一種商品促銷的方式育拨,但是樂高本身確實(shí)比較吸引兒童去學(xué)習(xí)谨履,那么我們的這種方式是否可以持續(xù)吸引孩子進(jìn)入或者持續(xù)發(fā)展呢?
答:樂高非常偉大熬丧,但是要把樂高做好需要有大量的積木塊笋粟。而且要見過(guò)很多的積木塊的組合方式,才能做得出好的作品來(lái)析蝴。一般家庭里面沒有那么多空間放大量的樂高害捕,所以就必須借助于教育機(jī)構(gòu)提供大量樂高積木塊兒和指導(dǎo)。
其實(shí)Minecraft屬于一種虛擬樂高積木闷畸,你有無(wú)窮盡的虛擬積木塊可以用尝盼,而且不需要再花錢。但是我覺得雖然Minecraft孩子很喜歡玩腾啥,可是里面沒有邏輯东涡,其實(shí)跟編程差的還是很遠(yuǎn)。更多的是像是一個(gè)創(chuàng)作工具倘待。當(dāng)然疮跑,他們也有編程工具,可以做出更好的作品來(lái)當(dāng)這個(gè)更加專業(yè)凸舵,也是需要有編程基礎(chǔ)的祖娘,美國(guó)這邊有些夏令營(yíng)是教孩子用Minecraft編程的。
6. 問:對(duì)于特別愛玩游戲啊奄,也有一定編程基礎(chǔ)的孩子 怎么引導(dǎo)他們?cè)谶@條路上健康的發(fā)展下去?
答:Scratch在設(shè)計(jì)時(shí)候就是借鑒了樂高的做法渐苏,把代碼變成積木塊,加了邏輯化和事件等形成的菇夸。所以有很多人琼富,一旦迷上了,也是愛不釋手庄新,實(shí)際上比樂高更好玩鞠眉,因?yàn)樗梢詿o(wú)限制地使用更多、更有趣的東西择诈,也可以混合音樂械蹋、圖片,做出一些效果等等羞芍,其實(shí)會(huì)做得更有趣哗戈,還可以直接從網(wǎng)上借鑒別人作品直接做修改。更容易學(xué)習(xí)荷科,樂趣更多唯咬。
可以讓孩子來(lái)學(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),而且反過(guò)來(lái)促進(jìn)他對(duì)游戲的理解和分析能力就更強(qiáng)将鸵。
家長(zhǎng)可以一起跟孩子討論勉盅,能不能模仿設(shè)計(jì)一個(gè)簡(jiǎn)單的小游戲,現(xiàn)在流行的游戲里面有什么地方是特別好顶掉,比如說(shuō)我們家孩子就模仿做過(guò)飛機(jī)大戰(zhàn)的游戲草娜。
實(shí)際上這個(gè)時(shí)候孩子是站在上帝視角,是從一個(gè)游戲設(shè)計(jì)者的視角來(lái)看游戲的時(shí)候痒筒,會(huì)更加有趣宰闰,孩子一旦當(dāng)過(guò)上帝了,甚至?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)的編程很好地做出來(lái)廷粒,才有成就感窘拯。
如果家長(zhǎng)懂計(jì)算機(jī)編程,很容易去互聯(lián)網(wǎng)上找到一些合適的編程相關(guān)的學(xué)習(xí)資源评雌,并根據(jù)孩子的情況制定一些合適的小目標(biāo)树枫,比如說(shuō)在學(xué)Scratch初期的時(shí)候讓孩子掌握基本的動(dòng)畫編程,然后在一起來(lái)尋找一些有趣的游戲編程分析和修改景东。再嘗試提出一個(gè)小的挑戰(zhàn)砂轻,讓孩子自己創(chuàng)作。
8. 問:我家兒子喜歡玩游戲斤吐,但是由于五年級(jí)課緊搔涝,就不許他玩游戲了厨喂,我看他連編程也沒那么感興趣了。我們就很有點(diǎn)擔(dān)心如何平衡學(xué)業(yè)和游戲的關(guān)系庄呈,又如何引導(dǎo)孩子在玩游戲過(guò)程中提高自己的編程技巧?
答:初期的時(shí)候肯定是啟蒙和打基礎(chǔ)蜕煌。啟蒙就是讓孩子喜歡,玩得開心诬留,不斷的通過(guò)各種編程網(wǎng)站斜纪,軟件例子,機(jī)器人文兑、樂高等讓孩子去玩盒刚。
打基礎(chǔ)的時(shí)候呢,就要選擇一些有趣的小游戲绿贞,小動(dòng)畫題目因块,把基礎(chǔ)知識(shí)能夠包容進(jìn)去,在孩子玩的過(guò)程中籍铁,在做這些有趣的小游戲的過(guò)程中涡上,慢慢就學(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. 問:另外一個(gè)計(jì)算機(jī)領(lǐng)域的先驅(qū)Alan Kay的TED中,也是講孩子編程的黔州。1960年代的時(shí)候耍鬓,艾倫·凱參與開發(fā)了圖形用戶界面(GUI)、面向?qū)ο缶幊桃约皞€(gè)人電腦本身流妻。后來(lái)幾十年在各大計(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的話“孩子是我們傳遞給未來(lái)的信息”君躺。但事實(shí)上,孩子就是我們的未來(lái)开缎。這些大牛都在兒童學(xué)計(jì)算機(jī)領(lǐng)域有很深的研究棕叫,你在教自己兒子學(xué)編程的過(guò)程中有學(xué)到哪些未來(lái)的信息?
答:孩子學(xué)的這些簡(jiǎn)單的計(jì)算機(jī)的編程奕删,沒有包含太多的傳遞給未來(lái)的信息俺泣,但是編程提供了一個(gè)很好的思維模式,他們?cè)谟辛私Y(jié)構(gòu)化編程的這么一個(gè)思想之后完残,而他就會(huì)考慮到把很多事情伏钠,按照一個(gè)可復(fù)用的方式,高效率的去組織谨设。自己再去玩游戲熟掂,會(huì)看到很多其他的計(jì)算機(jī)相關(guān)的程序的時(shí)候,更容易理解它里面的本質(zhì)扎拣,而找到它的核心點(diǎn)赴肚。
在學(xué)編程過(guò)程中很多信息,我是讓他們自己通過(guò)互聯(lián)網(wǎng)來(lái)找的二蓝。通過(guò)互聯(lián)網(wǎng)誉券,他們找到了很多信息,既可以玩得更好刊愚,也可以快速的去跟同齡人同類人去溝通踊跟,學(xué)到更多的東西,變得更加開放鸥诽。其實(shí)也是提升了他們自己的能力琴锭,所以我兒子晰甚,數(shù)據(jù)庫(kù)和PHP,都是他自己在網(wǎng)上尋找例子决帖,慢慢去學(xué)習(xí)的厕九。
10. 問:現(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ù)題抽出來(lái)谷羞,用于做編程實(shí)現(xiàn)。
在各個(gè)大學(xué)的數(shù)學(xué)模型大賽里面都有類似的編程題庫(kù)溜徙,當(dāng)然直接參加谷歌的Codejam比賽也是個(gè)很好的方法湃缎,就是難度較高。
11. 問:越小的孩子蠢壹,思維方式和成人差別越大嗓违,很多日常交流已不容易把握孩子的思路,身為已有編程經(jīng)驗(yàn)的父母图贸,如何陪伴孩子接觸程序設(shè)計(jì)蹂季?
答:就跟培養(yǎng)興趣一樣,沒有足夠的投入也難有特別大的興趣家長(zhǎng)只能簡(jiǎn)化自己的思維方式疏日,化身小白花點(diǎn)時(shí)間偿洁,孩子會(huì)卡在一些常規(guī)的初級(jí)錯(cuò)誤上,不能責(zé)罵沟优,要鼓勵(lì)父能,要給方法給孩子看一些其他編程孩子的作品和TED演講。
12. 問:小孩子的網(wǎng)絡(luò)教育效果好嗎净神?需要父母或者老師陪同么何吝?讓孩子學(xué)習(xí)計(jì)算機(jī),怎么能有效預(yù)防孩子遠(yuǎn)離網(wǎng)癮鹃唯,比如一些已經(jīng)很宅的孩子爱榕?
答:網(wǎng)絡(luò)教育初期可能需要陪伴,否則孩子搞不懂坡慌,就去玩自己的網(wǎng)絡(luò)游戲去了黔酥。
曾經(jīng)因?yàn)槲壹依隙低低嬗螒颍覀兘o他兩個(gè)處罰選擇,一個(gè)是跳繩800個(gè)跪者,另一個(gè)是玩游戲24小時(shí)棵帽,條件是不吃飯、不睡覺渣玲、只能喝水和站著玩逗概。手機(jī)pad輪流充電,換著玩忘衍,后來(lái)他堅(jiān)持了21小時(shí)終于崩潰了逾苫,以后不再犯。
遠(yuǎn)離網(wǎng)癮枚钓,只能是家長(zhǎng)對(duì)時(shí)間和行為把控铅搓,定好規(guī)則。
我們還罰過(guò)孩子不上學(xué)搀捷,老二在小學(xué)二年級(jí)時(shí)候調(diào)皮星掰,不愛上學(xué),就讓他一周不上學(xué)嫩舟,在家學(xué)習(xí)和做功課氢烘。后來(lái)他憋不住了,想上學(xué)了至壤,以后就好了。
13. 問:很多機(jī)器人的編程都是模塊化的枢纠,包括Scratch像街,如何引導(dǎo)孩子從模塊化編程到代碼編程?
答:這個(gè)本質(zhì)是相通的晋渺,順序镰绎、循環(huán),條件分支等孩子做多模塊編程后木西,自然看Python這樣的代碼就容易理解畴栖。比如,用Python做什么八千?之前是奧數(shù)驗(yàn)算吗讶,后面是文本處理,或者是研究密碼學(xué)恋捆。
14. 問:奧數(shù)對(duì)學(xué)編程有用嗎照皆?如果讓孩子參加科技創(chuàng)新大賽,大體應(yīng)該掌握的知識(shí)有哪些沸停?北京一些高中收機(jī)器人科技特長(zhǎng)生了膜毁,是玩樂高就可以嗎?還有什么需要孩子掌握才能成為科技特長(zhǎng)生?
答:奧數(shù)培訓(xùn)對(duì)喜歡的孩子來(lái)說(shuō)是非常好玩瘟滨,又能得到進(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è)合適的鉆研出來(lái)犬金,有個(gè)好的思路和研究成果就好了。