小升初搖號看來已經(jīng)是大勢所趨了,沒有了小升初,家長們對于奧數(shù)的學(xué)習(xí)也缺少了很多熱情,隨之而來的是,家長開始讓孩子接觸編程了。我身邊就有幾位朋友,都在讓我推薦幾本孩子能夠編程入門的書籍,或者推薦一些編程課程。現(xiàn)在市場上的編程課程很多,針對少兒來說,一般都是從Scratch 開始啟蒙,然后學(xué)習(xí)Python 和 C++。對于低幼的孩子來說,通過Scratch語言的學(xué)習(xí)調(diào)動起孩子的積極性還是可以的,但是對于小學(xué)二年級以上的孩子,建議可以從Python學(xué)習(xí)了,畢竟Scratch還不能算是正式的編程語言,想要真正理解編程,還是要從一門通用的編程語言開始。
Python 和 C++ 都是通用型語言,在實(shí)際項(xiàng)目中使用巨大。國內(nèi)大部分學(xué)習(xí)C++ 的學(xué)生,主要都是為了參加 NOIP(信息學(xué)奧林匹克競賽)的比賽,這個比賽主要考的是算法題目。相比于C++, Python 是一門更容易學(xué)習(xí)的語言,應(yīng)用領(lǐng)域也非常廣泛,特別是在人工智能領(lǐng)域,Python有絕對的優(yōu)勢。如果你的目標(biāo)是希望NOIP獲獎,從而有機(jī)會擇校的話,那么只能選擇C++ 語言。如果是希望孩子接觸編程,具備編程思維,想把一種編程語言作為一門必備工具,用于今后的生活工作的話,Python應(yīng)該會更加適合。
我個人是比較推崇Python的,針對孩子教學(xué),也主要使用的是Python語言,相比于競賽拿名次,我更希望他能夠掌握一個強(qiáng)大的編程工具。說起Python語言,它的入門書籍市面上很多,免費(fèi)的網(wǎng)上學(xué)習(xí)資料也很多,但是真正適合孩子起步學(xué)習(xí)的資料相比而言就比較少了。在挑選入門教材的時(shí)候,我所遵從的指導(dǎo)原則有以下幾點(diǎn):
- 知識點(diǎn)學(xué)習(xí)要有層次感,要系統(tǒng)化
語言的入門首先是要掌握基本的語法(在程序開發(fā)中成為關(guān)鍵字),Python 涉及到的語法關(guān)鍵字并不多,這些語法點(diǎn)也是從易到難有一個遞進(jìn)的順序,有些概念學(xué)生前期是無法理解的,例如 異常,類,成員函數(shù) 等這些 關(guān)鍵字,這些都與面向?qū)ο蟮木幊滔嚓P(guān),比較難于理解,所以對于啟蒙階段,還是應(yīng)該從基本的過程式編程開始學(xué)習(xí),隨著不斷的深入,逐漸把這些概念展開。
- 程序的輸出要讓孩子可見,讓孩子喜歡
編程最有意思的事情就是,你可以通過一些代碼來控制程序的輸出。孩子通過編程的學(xué)習(xí),會覺得自己非常強(qiáng)大,能夠控制電腦做事情。但在初學(xué)階段,由于程序比較簡單,所以輸出一般也都比較簡單,如果是使用默認(rèn)的命令行輸出,黑壓壓的一個小屏幕,看起來一點(diǎn)也不酷。如果能夠通過圖形化輸出,孩子將會覺得更加有趣。以下兩張程序輸出界面,比較一下就能知道差別了。
- 每個知識點(diǎn)一定要對應(yīng)一個有價(jià)值的小項(xiàng)目
不管哪種語言,語法學(xué)習(xí)都是比較枯燥的,如果不通過練習(xí),語法很難記住。所以每個語法關(guān)鍵字學(xué)完之后,都應(yīng)該配合一個練習(xí),這個練習(xí)最好是一個完整的小程序,學(xué)生可以通過這個程序體驗(yàn)到即時(shí)的反饋,從而對學(xué)習(xí)的知識點(diǎn)有一個更深入的了解和記憶。
本著以上三點(diǎn)指導(dǎo)要求,我查找了市面上的Python書籍,發(fā)現(xiàn)以下這本書是比較符合要求的,書名是:教孩子學(xué)編程(Python語言版),是由 Bryson Payne 著,李軍翻譯的。這套書就是為孩子學(xué)習(xí)Python 準(zhǔn)備的。它采用了海龜畫圖的庫,所有的程序都是圖形化輸出的,更容易引發(fā)學(xué)生的興趣點(diǎn)。同時(shí),在每個章節(jié),都給出了有價(jià)值的程序,這些程序雖然簡短,但輸出非常絢麗,并且很好的結(jié)合了所學(xué)習(xí)的知識點(diǎn),能夠加強(qiáng)學(xué)生記憶和理解。
如果你也有意向讓孩子學(xué)習(xí)編程,并且想嘗試學(xué)習(xí)Python語言,可以考慮把這本書當(dāng)作入門書籍,相信通過這本書的學(xué)習(xí),孩子一定會打下一個堅(jiān)實(shí)的語言基礎(chǔ)。