[TOC]
為孩子選擇一本合適的編程教材是一件很難的事情,我想這對所有的家長都是一件難事。既要能夠吸引他們的注意力,又要在游戲當中讓他們學到一些東西。我曾試著在網上找一些資料教小元一些編程的知識,例如,麻省理工大學的`Scratch`、`Scratch`是我知道的最早的面向孩子的編程平臺,最近幾年微軟公司又推出了[編程一小時平臺](https://code.org/),和`Scratch`蠻像的,這些編程平臺都是免費的,也都有中文版的(我教小元時還都是英文版的,他那時還小,并不覺著是件困難的事情)。
[TOC]
下面是麻省理工大學的`Scratch`[https://beta.scratch.mit.edu](https://beta.scratch.mit.edu)的截圖。如果家長有時間的話,可以和孩子一起玩。

[TOC]
下面是微軟公司[編程一小時平臺](https://code.org/)的截圖,和`Scratch`不同的是,它提供了源代碼,有了源代碼,就和編程很近了,不過會稍晚難一些。

[TOC]
我也比較了國內的一些青少年編程教育機構的課程內容,發現他們也都使用`Scratch`和 [編程一小時平臺](https://code.org/) 的課程。
下面是從小碼王網站上的截圖,我公司樓下就有一家小碼王,環境很好,用`Mac`教學,我有時候去樓下洗手間,會順便看看這間公司,周一~周五,沒什么學生來,周六、周日加班的時候,學生也不多,而且一般都有家長陪伴。下面這張圖,我是不太信服的,我也是從事軟件工作的,`Scatch`是不需要有計算機基礎的,任何人都可以玩,至于工作忙無法持續教導,這點我確實有些殘酷,我在家里看手機的時間,確實比陪伴孩子的時間長,這點我老婆常常批評我,小元甚至把這件事寫進作文里,所以,我想我得花點時間在小元身上,希望能稍許改變爸爸在他心目中的印象。

[TOC]
教孩子編程,在課程設計上要花點心思。例如,除了`Scratch`,
小碼王還提供了`Python`、`App Inventor`、`C++`的課程設計。

我覺著這里面有些不合理的地方。`App Inventor`課程教的是`Andriod`編程,用于安卓操作系統的應用開發,我剛提到,我樓下小碼王用的都是`Mac`教學,`Mac`對應的是蘋果的`IOS`操作系統,`IOS`操作系統有專門的應用開發語言`Swift`,在`Mac`上開發安卓應用,多少有些奇葩。`C++`我就嚴重吐槽了,這種語言在計算界確實是一門無比強大的語言,但掌握好這門語言確實相當的不容易,對成年人是極大的挑戰,更何況是11歲~16歲的孩子。`C++`主要應用在大型網絡游戲上,這些場景對程序的性能要求比較高,例如,幾千人同時在線玩游戲,確實得用`C++`程序。如果,不是想學習做王者榮耀之類的游戲,我就不建議孩子去學習`C++`了。
把`Scratch`和`Python`作為課程還是很合理的。計算機行業有句話是“人生苦短,快學`Python`”,`Python`確實是一門老少咸宜、簡單靈活、應用廣泛的計算機語言。下圖是計算機行業今年1月編程語言的排名,一般對計算機友好、對人類不友好的語言都排在前面,且名次基本固定,例如JAVA一直排名第一,對人類友好、對計算機不友好的語言基本排在后面,且變化比較大,像`Python`這種即對計算機友好、又對人類友好的語言,其實是不多的,值得大小朋友們學習。
