和孩子一起在玩樂中學習編程的16個問題

作者/分享人:陳世欣 來源:Chat 實錄

12月05日周一晚8點30分,GitChat團隊迎來了《在家里教孩子玩Scratch和學Python編程》的主題交流。以下是主持人黃威整理的問題精華,記錄下了講師陳世欣和讀者之間關于兒童學編程及教育等問題的精彩片段。

1 問:小孩子幾歲比較適合開始學習編程?或者有沒有一個時間表?什么時候開始準備,什么時間學什么層次的比較好?

答:一般五歲左右就可以,通過在線的教學網站比如code.org來學習,啟蒙一下。六歲后就可以開始了,最開始可以通過改一些動畫類的小應用如萬花筒,多媒體賀卡等,玩一玩。逐步切入到改編一些孩子喜歡的場景化的小游戲。

工業級的語言竟還是在十歲之后再學習,如Python,Html,Javascript都很好學。建議在了解熟悉了語言基礎后,還是要以一些基本的算法為核心來教學。

外面的各類機器人編程,樂高機器人等也可以去玩一玩,包括單片機等等。但我覺得不用花太多時間,這個其實并不是編程的核心,一般程序都太簡單。沒有程序員是通過學這些機器人編程掌握了核心算法的。作為興趣啟蒙,我覺得很不錯。

初中以后如果希望進一步發展,建議去找一些競賽類的試題,許多也是考算法的,包括像google舉辦的codejam競賽可以在大人指導下進行。

2 問:怎樣長期保持小孩子的興趣? 開銷會有多大?

答:長期是不容易的,我覺得可能是階段性的。不要急。啟蒙階段一定要讓孩子覺得是在玩編程,而不是說在做一件成人的工作,如果覺得好玩,他才會一直做下去。

等大一點了,可以提些有趣的挑戰題目,這個時候他需要有成就感,比如說做一本圣經電子版的詞頻分析,這個挑戰聽起來就很有意思,或做一個經典密碼的解密程序。如果孩子有時候厭倦了,可以暫停,再等一個合適的契機重新激發。網絡教育初期可能需要陪伴,否則孩子搞不懂,就去玩自己的網絡游戲去了。

如果就學純軟件的話,家長可以用互聯網上的免費教材引導,買一些書,然后再花些時間陪伴,這樣幾乎是免費的如果需要參加外面機構舉辦的一些競賽,可能要去上一些專業點的指導班,那么會用高很多,一般奧林匹克信息學競賽相關的軟件課程可能會便宜一些,一年兩三千左右。

如果是機器人的教學費用,一年可能要1萬多,還不包括購買器材。 如果你的孩子非常有天賦,而自己又不怎么懂計算機編程,也許還需要去請到外面的大學生,或者說工程師來教孩子,Facebook的創始人扎克伯格就是這樣去學習的,那這種費用就更貴了,可能一個月就要花三四千。但我想如果真的要到這樣的地步的時候,孩子的成就也可能會非常可觀,比如可能做出很好的軟件,那也是值得的。如果不到這樣的水平,我建議也不要花這個錢。

3 問:國外現在比較成功的做法是怎么樣的?

答:國外有很多學校本來就有不錯的計算機課,也用很多在線的課程來組織學習的,也有很多編程夏令營班教孩子學編程,當然特別有錢的也會去選擇一些專業的培訓或者一對一培訓。

美國有很多博物館里面組織很多相關的活動,學校也組織一些項目,另外還有很多的競賽。還和大公司比如google,就提供了學生一些暑期實習機會,叫summer of code。許多有天賦的孩子,就直接在MIT的Scratch官網甚至是github上面去看代碼,學代碼。

4 問:我兒子現在2歲半,喜歡玩手機和電腦(隨機打鍵盤),有沒有適合引導更小的孩子學電腦的軟件或者游戲?Scratch編程應該得會簡單的英語以及打字吧,怎么進行循序漸進的教孩子英語以及用電腦?

答:兩歲半的孩子就讓他玩兒吧,有很多智力類的,邏輯類的應用都可去玩兒。程序的核心是邏輯,還是對邏輯了解的越清晰,然后有一定的數學基礎就越容易做好編程。

比如可以去玩“”我的世界Minecraft”。Code.org上有些編程的題目,入門啟蒙時候可以給一些題目去完成,都是比較簡單的,慢慢引導自己找東西玩。

5 問:目前我們的這種方式與樂高機器人編程的方式有哪些區別,樂高的費用比較貴,而且需要購買他們的產品,我想這也是一種商品促銷的方式,但是樂高本身確實比較吸引兒童去學習,那么我們的這種方式是否可以持續吸引孩子進入或者持續發展呢?

答:樂高非常偉大,但是要把樂高做好需要有大量的積木塊。而且要見過很多的積木塊的組合方式,才能做得出好的作品來。一般家庭里面沒有那么多空間放大量的樂高,所以就必須借助于教育機構提供大量樂高積木塊兒和指導。

其實Minecraft屬于一種虛擬樂高積木,你有無窮盡的虛擬積木塊可以用,而且不需要再花錢。但是我覺得雖然Minecraft孩子很喜歡玩,可是里面沒有邏輯,其實跟編程差的還是很遠。更多的是像是一個創作工具。當然,他們也有編程工具,可以做出更好的作品來當這個更加專業,也是需要有編程基礎的,美國這邊有些夏令營是教孩子用Minecraft編程的。

6 問:對于特別愛玩游戲,也有一定編程基礎的孩子 怎么引導他們在這條路上健康的發展下去?

答:Scratch在設計時候就是借鑒了樂高的做法,把代碼變成積木塊,加了邏輯化和事件等形成的。所以有很多人,一旦迷上了,也是愛不釋手,實際上比樂高更好玩,因為它可以無限制地使用更多、更有趣的東西,也可以混合音樂、圖片,做出一些效果等等,其實會做得更有趣,還可以直接從網上借鑒別人作品直接做修改。更容易學習,樂趣更多。

可以讓孩子來學會改編游戲甚至創作游戲,去理解游戲中設計的一些奧秘。游戲化機制實際上已經大量的被使用在互聯網和日常生活里面了,因為游戲化設計就是借鑒了游戲的很多優良的設計點,讓用戶粘性更強。很多孩子一旦能夠自己創作游戲,他獲得的成就感其實比玩游戲通關更強,而且反過來促進他對游戲的理解和分析能力就更強。

家長可以一起跟孩子討論,能不能模仿設計一個簡單的小游戲,現在流行的游戲里面有什么地方是特別好,比如說我們家孩子就模仿做過飛機大戰的游戲。

實際上這個時候孩子是站在上帝視角,是從一個游戲設計者的視角來看游戲的時候,會更加有趣,孩子一旦當過上帝了,甚至會更愿意做上帝而不是做玩家。

7 問:請問怎么給娃找到各種階段性小目標,比賽或俱樂部之類的氛圍?

答:不要放棄有興趣的游戲編程領域,空的時候玩一把,調劑下。學習肯定是重要的,特別是五年級需要升初中,更加關鍵,先提高效率吧。

其實任何大目標都要拆解為很多小目標,不斷地引導孩子往前走,每個小目標都是設計得剛好能讓孩子把它給完成。如果孩子一直能夠把階段性目標的編程很好地做出來,才有成就感。

如果家長懂計算機編程,很容易去互聯網上找到一些合適的編程相關的學習資源,并根據孩子的情況制定一些合適的小目標,比如說在學Scratch初期的時候讓孩子掌握基本的動畫編程,然后在一起來尋找一些有趣的游戲編程分析和修改。再嘗試提出一個小的挑戰,讓孩子自己創作。

8 問:我家兒子喜歡玩游戲,但是由于五年級課緊,就不許他玩游戲了,我看他連編程也沒那么感興趣了。我們就很有點擔心如何平衡學業和游戲的關系,又如何引導孩子在玩游戲過程中提高自己的編程技巧?

答:初期的時候肯定是啟蒙和打基礎。啟蒙就是讓孩子喜歡,玩得開心,不斷的通過各種編程網站,軟件例子,機器人、樂高等讓孩子去玩。

打基礎的時候呢,就要選擇一些有趣的小游戲,小動畫題目,把基礎知識能夠包容進去,在孩子玩的過程中,在做這些有趣的小游戲的過程中,慢慢就學會了基礎知識。一些編得比較好的教材就有這樣的基礎引導性。

如果是工業級的編程,還需要掌握一些算法,這個可能會稍微枯燥一點。最好能夠把每個題目,設想有一個故事場景,讓它變得很有趣。

可以選擇參加一些教育機構的各種相關課程。很多機構愿意提供給孩子插班試聽,他就跟其他小孩子一起,對比,學習,就能夠發現自己能力還不錯,有一些自信心。像上海有少年宮或少科站,可以去學習。

還有一些科創類的競賽,網上搜索一般都能找到本城市的,科創競賽、信息學的競賽等。也可以找一些志同道合的家長帶著孩子一起,學習一個下午,或者參加一些相關的夏令營或冬令營。

有條件的可以到美國去參加夏令營,感覺會更好。有一些面向學生或已經工作人員的黑客馬拉松等活動,也可以帶孩子去感受一下。

9 問:最近買了Seymour Papert 的書(他是LOGO語言的發明者),里面說“讓孩子對電腦編程,而不是讓電腦對孩子編程,提供一種構建環境,讓孩子其主導作用,而不是灌輸的教育,現在的編程教育都是面向有一定知識結構的成人,是名副其實的「電腦教人做事」。現在市面上,哪些編程語言或者玩具是符合「讓孩子對電腦編程」的?

答:以前把編程作為工具,作為一種工作的手段。但實際上,編程是一種信息加工和展示的控制方式。成人用它來工作,孩子可以用來玩,畢竟有很多的動畫,很多的圖形或聲音的處理都是很有意思的事情。

也可以把它變成一些互動性的,游戲化的做法。這時候動畫、好玩的聲音圖像的處理,有趣的游戲就是孩子的應用,對孩子來說計算機其實個玩具或者創作工具,根本不是做事的工具。不是寫程序而是在玩程序。

目前看來是Scratch就是這樣一個比較完美的工具,它有一個龐大的國際化在線社區,全球幾百萬的孩子都在這里分享作品和交流,這些作品的代碼大都是為了玩而不是工作,那對孩子來講,他們就是在一起在玩這些代碼,玩計算機。

10 問:另外一個計算機領域的先驅Alan Kay的TED中,也是講孩子編程的。1960年代的時候,艾倫·凱參與開發了圖形用戶界面(GUI)、面向對象編程以及個人電腦本身。后來幾十年在各大計算機公司工作的他則不斷的刷新人們對工具的認識與看法。現在的艾倫·凱則更希望挖掘出計算機革命的深層次意義,他認為計算機不但可以幫助我們認識人體自身不能認識的世界,還能幫助孩子和大人學會思考,去提問。Alan在視頻結尾引用Marshall McLuhan的話“孩子是我們傳遞給未來的信息”。但事實上,孩子就是我們的未來。這些大牛都在兒童學計算機領域有很深的研究,你在教自己兒子學編程的過程中有學到哪些未來的信息?

答:孩子學的這些簡單的計算機的編程,沒有包含太多的傳遞給未來的信息,但是編程提供了一個很好的思維模式,他們在有了結構化編程的這么一個思想之后,而他就會考慮到把很多事情,按照一個可復用的方式,高效率的去組織。自己再去玩游戲,會看到很多其他的計算機相關的程序的時候,更容易理解它里面的本質,而找到它的核心點。

在學編程過程中很多信息,我是讓他們自己通過互聯網來找的。通過互聯網,他們找到了很多信息,既可以玩得更好,也可以快速的去跟同齡人同類人去溝通,學到更多的東西,變得更加開放。其實也是提升了他們自己的能力,所以我兒子,數據庫和PHP,都是他自己在網上尋找例子,慢慢去學習的。

11 問:現在市場上有沒有哪些以Scratch設計的課程,但是不是為了教編程,而是以編程為載體,主要教育其他的數學和科學知識?

答:目前應該沒有,因為要學其他的數學和科學知識的話,應該還是以Python這樣的效率更高且軟件包更多,類庫更多的工業級高級語言為主。如果可以的話可以把部分奧數題抽出來,用于做編程實現。

在各個大學的數學模型大賽里面都有類似的編程題庫,當然直接參加谷歌的codejam比賽也是個很好的方法,就是難度較高。

12 問:越小的孩子,思維方式和成人差別越大,很多日常交流已不容易把握孩子的思路,身為已有編程經驗的父母,如何陪伴孩子接觸程序設計?

答:就跟培養興趣一樣,沒有足夠的投入也難有特別大的興趣家長只能簡化自己的思維方式,化身小白花點時間,孩子會卡在一些常規的初級錯誤上,不能責罵,要鼓勵,要給方法給孩子看一些其他編程孩子的作品和TED演講。

13 問:小孩子的網絡教育效果好嗎?需要父母或者老師陪同么?讓孩子學習計算機,怎么能有效預防孩子遠離網癮,比如一些已經很宅的孩子?

網絡教育初期可能需要陪伴,否則孩子搞不懂,就去玩自己的網絡游戲去了。

曾經因為我家老二偷偷玩游戲,我們給他兩個處罰選擇,一個是跳繩800個,另一個是玩游戲24小時,條件是不吃飯、不睡覺、只能喝水和站著玩。手機pad輪流充電,換著玩,后來他堅持了21小時終于崩潰了,以后不再犯。

遠離網癮,只能是家長對時間和行為把控,定好規則。

我們還罰過孩子不上學,老二在小學二年級時候調皮,不愛上學,就讓他一周不上學,在家學習和做功課。后來他憋不住了,想上學了,以后就好了。

14 問:家長就是電腦白丁,怎么幫助孩子去學編程,別說看書,能否給出一個大概的指導路線?

答:電腦白丁,可以找懂電腦的人開個玩編程的清單,從code.org開始,玩Scratch,慢慢升級到工業級語言。也可以從code.org開始,學習Javascript,然后做HTML等網頁編程。具體看年齡和孩子的需求。

15 問:很多機器人的編程都是模塊化的,包括Scratch,如何引導孩子從模塊化編程到代碼編程?

答:這個本質是相通的,順序、循環,條件分支等孩子做多模塊編程后,自然看python這樣的代碼就容易理解。比如,用Python做什么?之前是奧數驗算,后面是文本處理,或者是研究密碼學。

16 問:奧數對學編程有用嗎?如果讓孩子參加科技創新大賽,大體應該掌握的知識有哪些?北京一些高中收機器人科技特長生了,是玩樂高就可以嗎?還有什么需要孩子掌握才能成為科技特長生?

答:奧數培訓對喜歡的孩子來說是非常好玩,又能得到進入名校機會的捷徑。對不喜歡的,則是噩夢。

奧數對學習編程有很大幫助,你看codejam的試題,基本上就是計算機奧數題。編程很難標準化,一個程序卡住了,不代表他不聰明不努力。

其實國家和市里的科技比賽很多根本不考編程,主要還是思路和論文。搞清楚歷屆獲獎的主題,找一個合適的鉆研出來,有個好的思路和研究成果就好了。

再次感謝圖靈,為本場Chat的獲獎讀者提供了《Scratch編程》和《父與子的編程之旅》等書籍。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容