
少兒編程學(xué)什么
少年兒童學(xué)習(xí)編程,就是為了學(xué)習(xí)編程的技術(shù),將來做一名碼農(nóng)嗎?
可以很明確的說,不是的。出于應(yīng)用和專業(yè)目的的編程培訓(xùn),與兒童編程教育,有本質(zhì)的不同。
我們帶孩子學(xué)編程,是為了:
- 激發(fā)創(chuàng)造力、鍛煉想象力
- 培養(yǎng)計算思維、邏輯思維能力
- 培養(yǎng)專注和細(xì)心
- 養(yǎng)成探究解決問題的方法的能力和習(xí)慣
- 掌握信息和人工智能時代的生存工具
編程,幾乎涵蓋了 STEAM 教育的五大門類

圖形化和代碼式編程
古時候,人們是用打孔紙帶編程。程序員的祖先鉆木取火(大誤),在長長的紙帶上按一定規(guī)則打孔來輸入計算機(jī)進(jìn)行計算。后來,隨著計算機(jī)技術(shù)的高速發(fā)展,誕生了各種語言,從底層的匯編,到呈現(xiàn)整個互聯(lián)網(wǎng)世界的 JavaScript,都有一個共同的特點(diǎn),它們都是由一組組的“代碼”來編寫的。
即使是教小朋友也是一樣用代碼語言。但是對年齡較小的孩子來說,讀取和輸入代碼,都是一件困難的事情。
直到2007年,在麻省理工學(xué)院一群頂尖工程師的努力下,Scratch 橫空出世。五彩繽紛的積木,簡單易用的操作,舞臺場景的自由這些特性,在降低了學(xué)習(xí)編程的門檻的同時,更提供了豐富的玩法,極大地挖掘和刺激孩子們的想象力和創(chuàng)造力。
直到現(xiàn)在,Scratch 仍是應(yīng)用最廣泛的圖形化(積木式)編程教育軟件。同時 Scratch 也完全開源,于是,很多直接使用或基于它二次開發(fā)的平臺也處處開花比如現(xiàn)在網(wǎng)易卡搭,米樂編程,編程貓等等。
在 Scratch 之后,很多 IT 巨頭也紛紛研發(fā)和改進(jìn)這類積木式編程軟件,比如微軟的 Kodu,谷歌的Blockly,蘋果的 swift playground。

無論用哪一種,其實(shí)學(xué)的東西都是一樣的。都是在學(xué)習(xí)基本的編程思維、創(chuàng)意思維等等。而以樂高教育為代表的“機(jī)器人編程”,在貓老師看來,除了增加一些樂趣外,在動手能力、機(jī)械設(shè)計、電路等方面也有增強(qiáng)。
所以,貓老師的想法,上面這些,爸爸媽媽選任何一種方便接觸到的就好。比如,假如有 ipad,爸爸媽媽又有興趣陪孩子一起學(xué)習(xí),那么 swift playground 就是個極佳的工具。它絢麗的界面,引人入勝的故事,一步步引導(dǎo)學(xué)習(xí),是非常棒的體驗(yàn)。
對于學(xué)齡前的小朋友,MIT 提供的一個低齡版的“Scratch Jr”也可以試試。
當(dāng)然,對于零基礎(chǔ)的小朋友,學(xué)習(xí)這些都還是有一些門檻的。這方面,故事化(游戲化)的工具,相對來說更容易入手。而原生的 Scratch,則必需要在老師的引導(dǎo)下去完成任務(wù)(項(xiàng)目)。
代碼,選擇哪門語言
“老師,哪種語言最好?我要學(xué)”
千萬不要去辯論哪種語言最好。曾經(jīng)有個程序員的段子:
經(jīng)理挑戰(zhàn)程序員說,你能讓五分鐘內(nèi)這個程序員論壇吵起來,今天就不用加班了,度周末去吧。程序員不屑地上論壇發(fā)了個帖子:“Java 是最好的語言!”,不到五分鐘,論壇就炸鍋了。經(jīng)理無奈,只好說,你下班去吧。程序員擼起袖子回答:“不,我就算不睡覺,也要讓他們這些愚蠢的家伙知道,Java 才是最好的語言”
;-)
世界上有幾百種語言,貓老師只能小心翼翼地說,沒有“最好”的語言,只有“更合適”的語言。
不同的時代,針對不同的應(yīng)用場景,應(yīng)該根據(jù)語言的特性來挑選最適合的。這也是為什么會有一個不斷更新的編程語言活躍度排行榜。

但是,我們不得不承認(rèn),人工智能時代。Python 無疑是最流行、發(fā)展迅猛的語言。
python 的優(yōu)勢
對于學(xué)習(xí)來說,Python 最大的優(yōu)勢,就是簡潔,易上手。它還有一堆有點(diǎn),比如可靠、可移植,便于擴(kuò)展(被稱為“膠水”語言),而且是開源的,社區(qū)非?;钴S。
python可以用來干什么呢?
首先它是一個流行的后端開發(fā)語言,可以用來搭建服務(wù)器,做數(shù)據(jù)分析、做網(wǎng)絡(luò)爬蟲(比如搜索引擎)、數(shù)據(jù)挖掘、機(jī)器學(xué)習(xí)。
另外,由于應(yīng)用的廣泛,社區(qū)的活躍,python 擁有大量的專業(yè)代碼庫,比如 tensorflow。這些庫,甚至可以讓你一天時間,建立一個屬于你自己的簡單人工智能系統(tǒng)。
另外,對學(xué)生來說,一個非?,F(xiàn)實(shí)的好處是,某些省份的高考已加入了信息學(xué)科目,并采用 Python。并且,看起來這會是個趨勢。
競賽
這個話題,今后貓老師會單獨(dú)介紹。這里只簡單提一句,信奧似乎隱隱有取代奧數(shù),至少是并駕齊驅(qū)的趨勢。但是,我還是希望,學(xué)習(xí)編程不要太功利,否則會非常辛苦,得不償失。畢竟無論哪門學(xué)科的奧賽,其初衷都是鍛煉思維能力,挑戰(zhàn)極限,并非要人人都是奧運(yùn)冠軍。
需要指出的是,信奧目前的核心語言是 C/C++,你可以到中學(xué)直接開始學(xué)習(xí) C/C++。當(dāng)然,如果在小學(xué)初中有了積木式編程或PYTHON語言學(xué)習(xí),轉(zhuǎn)到 C/C++ 的學(xué)習(xí)是比較輕松的。不過編程這門功課,入門容易精通難。畢竟,寫代碼讓計算機(jī)說“你好”,跟編寫一個會自動尋找敵人的機(jī)器狗的 AI,難度絕對是天壤之別。
結(jié)語
簡單總結(jié)下:
- 5~9歲,可以嘗試圖形化編程,首推 Scratch(低齡的可以是 Scratch Jr),Code.org
- 8~12歲,有一定英文基礎(chǔ)和自學(xué)能力,開始接觸代碼式編程。建議從易入門的 Python 開始。這里,推薦游戲式編程“極客戰(zhàn)記”(網(wǎng)易卡搭),Apple Swift Playground(iPad 應(yīng)用)
- 初中開始到高中階段,以普及教育為導(dǎo)向,繼續(xù)學(xué)習(xí) python,或?yàn)閵W賽準(zhǔn)備,開始學(xué)習(xí) C/C++。
信奧是為有興趣和天分的同學(xué)準(zhǔn)備的。并非人人要學(xué)。
好了,今天我們的普及知識就講到這里,希望每一個大朋友小朋友,都能體會到人工智能魅力,動手編程的樂趣。