你覺得兒童應該怎樣學編程?
1. 為什么要學編程?1.1 重要性
首先要糾正一個誤區:學編程就是以后為了當程序員。就像學畫畫不一定以后要成為畫家,而是為了培養美感;學編程不一定以后要成為程序員,而是為了培養編程思維。
學外語是為了與全世界的人交流,學編程是為了掌控計算機這一強大的工具。
1.2 能力培養
學習編程對于數學能力和邏輯思維能力的培養,顯而易見,已經有大量的文章在講,我就不再贅述。我想講講更深層次的能力培養,比如創造力,實驗能力,項目管理和團隊協作。
創造力:編程本質上是一個創造工具,就像一把畫筆一樣,能畫的逼真只是一方面,更重要的是畫什么?能不能把想象中的事物畫出來?編程也一樣,實現一個老師布置的代碼作業很簡單,更重要的是促使孩子去生活中尋找哪些問題可以由程序來解決。
實驗能力:寫程序只是一部分,調試程序更重要。當孩子發現自己寫的程序與預期不一致時,需要反復實驗,看看能不能自己找到原因,持續改進,最總達到目的。
項目管理:用PMP的知識去做少兒編程也許是殺雞用牛刀,卻是有益的嘗試。任何一個編程項目,其實施過程都可以經過PDCA戴明循環(Plan計劃-Do執行-Check檢查-Act處理)。通過編程項目,可以有意識的培養小朋友的項目管理能力。
團隊協作:小型編程項目可以孩子單獨完成,大一點的項目,可以讓幾個孩子一起完成,比如一個孩子畫造型,一個孩子編輯音樂,一個孩子負責一個角色的代碼編寫。只要安排得當,孩子的溝通和協作的能力也能得到提升。
1.3 態度培養
編程除了能培養孩子的技能,更重要的是使其養成一些好習慣:嚴謹,有條理,不斷優化。
1.4 升學加分
話不用多說,直接看看清華大學2019年自主招生簡章,原文鏈接:
https://www.tsinghua.edu.cn/publish/bzw/7545/2019/20190328154655256843148/20190328154655256843148_.html
2. 學什么?世界上的編程語言非常多,根據孩子不同的年齡,可以有不同的選擇。
小學生(6-12歲)比較適合圖形化拖拽式的編程,比如Scratch。
在Scratch編程界面,程序語句都以拼圖模塊的形式呈現,模塊按功能劃分為不同顏色。編寫程序時,用戶只需像拼插積木那樣把拼圖模塊壘在一起。只有當程序在語法上合規合理時,模塊的接口才能對接上。用模塊接口的形狀作為拼插指引的設計借鑒自樂高積木。
Scratch不需要孩子牢記語法,甚至不識字也可以玩。
Scratch的具體介紹可以參見我的文章:https://www.toutiao.com/i6744150918784090636/
下圖是Scratch的示意圖,來自我的另一篇文章:https://www.toutiao.com/i6745836272205431308/
Scratch無法實現復雜的邏輯,對于初中生(12-15歲)來說,Python會是比較好的選擇。
下面是一個Python代碼的示意圖:
3. 怎么學?程序語言有各種語法,其實不用去死記硬背,活學活用才是正道。
關鍵的是如何實際生活中的概念映射到計算機的邏輯中,這就是所謂的編程思維。比如近年來在高考卷中出現過的程序題,流程圖就是編程思維的一種具體體現,對于學過編程的孩子,就是送分題了。
學習編程一定要循序漸進,切不可賣弄技術。對于少兒來說,主要是給他們打開一扇窗,培養他們對于編程的興趣,學得太難太枯燥,都容易打擊到小朋友的自信心,所以對于小學生,編程課程設計一定要有趣,最好是把小朋友熟悉的卡通角色加入到程序當中。
除了老師講解基本的編程原理和示例外,搭建一個自組織學習環境(SOLE, self-organized learning environment) 也是很有幫助的。SOLE 旨在利用 6~13 歲孩子的好奇心和參與驅動學習的興趣,幫助教師和家長鼓勵孩子探索和解決問題。讓學生們分組,一起完成編程,學生們就會相互學習,解決問題。
很多家長擔心長期使用電腦是否會影響孩子的視力,這也需要少兒編程課程特別的設計,使用屏幕最長不要超過1小時,課間安排休息,還會做眼保健操。對于00后的孩子來說,他們就是互聯網原住民,不讓孩子接觸和使用任何屏幕是不可能的事情。只要合理安排,少兒編程并不會對視力造成影響。