編程被定義為編寫程序,而計(jì)算機(jī)程序是指一組計(jì)算機(jī)能識(shí)別和執(zhí)行的指令。而如今,這些指令與當(dāng)今行業(yè)息息相關(guān),從教育到農(nóng)業(yè),從法律到商業(yè),從建筑到醫(yī)學(xué),計(jì)算機(jī)幾乎為每個(gè)行業(yè)提供動(dòng)力。很顯然,這些指令和我們熟悉的業(yè)務(wù)之間還有一些東西,今天我們揭開這個(gè)部分的神秘面紗。
指令執(zhí)行后能做什么呢?根據(jù)對(duì)這個(gè)問(wèn)題的回復(fù),可以將編程進(jìn)行分類,由此可知可選擇的少兒編程已經(jīng)有豐富的內(nèi)容了。
嚴(yán)格地講Scratch只是圖形化編程形式的一種,由于它太流行了,大家也常常直接用Scratch來(lái)代稱圖形化編程整個(gè)這個(gè)類別,而實(shí)際是還有很多其他類的圖形化編程工具。
下面,再用表格的形式展現(xiàn)下這兩種分類之間的常見(jiàn)對(duì)應(yīng)關(guān)系。接著,我們?cè)僭敿?xì)解釋下每個(gè)內(nèi)容分類的定義和內(nèi)容。
語(yǔ)言學(xué)習(xí)
語(yǔ)言就是學(xué)習(xí)編程語(yǔ)言,在兩千種編程語(yǔ)言中,只有少數(shù)幾種適合兒童來(lái)學(xué)習(xí),它們要滿足:流行,有代表性,依然被使用等標(biāo)準(zhǔn)。這里先簡(jiǎn)要介紹它們,后面系列文章中還會(huì)詳細(xì)描述。
Python是一種相對(duì)簡(jiǎn)單的語(yǔ)言,因?yàn)樗c英語(yǔ)非常相似,許多人認(rèn)為它是*容易學(xué)習(xí)的一種,但是功能強(qiáng)大且用途廣泛,足以讓您的孩子做一些有趣的事情。學(xué)習(xí)人工智能和網(wǎng)絡(luò)安全是一個(gè)很好的切入點(diǎn),也可以使用它進(jìn)行流行的網(wǎng)站開發(fā)。另外如果您的孩子正在使用Pygame,則他已經(jīng)熟悉Python。
C和C++是相對(duì)古老的語(yǔ)言,C++可以看成是C的增強(qiáng)版,從開發(fā)硬件到軟件,到平臺(tái)到游戲,到處都有它們的身影,至今也還有很多場(chǎng)景在使用它們。立志職業(yè)從事編程的人,選擇C/C++起步是非常好的,但是C/C++是一種語(yǔ)法規(guī)則比較嚴(yán)謹(jǐn)?shù)恼Z(yǔ)言,因此*好能像機(jī)器一樣思維,否則會(huì)覺(jué)得這個(gè)語(yǔ)言比較難。
Java是一種更高級(jí)的語(yǔ)言,具有中級(jí)技能的孩子可以學(xué)習(xí)Java作為下一步。大多數(shù)大公司都使用Java,這是游戲編程,Android移動(dòng)應(yīng)用程序,網(wǎng)站,云服務(wù)等的基礎(chǔ)語(yǔ)言。另一個(gè)與Java很類似的語(yǔ)言是C#,用于創(chuàng)建Windows應(yīng)用程序。
HTML和Javascript,HTML是設(shè)計(jì)網(wǎng)頁(yè)的基本腳本,而Javascript是使網(wǎng)頁(yè)具有交互性并完成出色工作的語(yǔ)言。Javascript也比較簡(jiǎn)單,可以以接近英語(yǔ)的方式來(lái)編寫,Javascript的子集也較容易理解。由于互聯(lián)網(wǎng)的發(fā)展,Javascript有了非常大的發(fā)展,現(xiàn)如今,被用于網(wǎng)站和其他面向客戶端的應(yīng)用程序,您遇到的大多數(shù)交互式網(wǎng)站或游戲都使用Javascript,使得Javascript成為全棧程序員歡迎的語(yǔ)言。
如果您在孩子的編程課上聽(tīng)到其他的編程語(yǔ)言的名字,如Smalltalk、Lua、Swift等等,也不用吃驚,大多數(shù)情況,他們就像不同地方的方言,有很多相通的地方,多學(xué)了一兩種編程語(yǔ)言,沒(méi)有壞處。
算法/AI
少兒編程學(xué)習(xí)語(yǔ)言本身的例子并不多見(jiàn),大多數(shù)的時(shí)候是學(xué)習(xí)了基本的語(yǔ)法之后,就開始使用這種語(yǔ)言學(xué)習(xí)其它的內(nèi)容了。
算法是指解決某一類問(wèn)題的方案的完整準(zhǔn)確的描述,它的內(nèi)容是一系列的清晰指令。舉例來(lái)說(shuō),給出三角形兩個(gè)直角邊長(zhǎng),算出斜邊長(zhǎng)度就可以寫成一個(gè)算法;給出幾個(gè)名字,按字母順序依次輸出也可以寫成一個(gè)算法。通常來(lái)講,算法要求較高的數(shù)學(xué)基礎(chǔ)。
AI,即人工智能,通常也指人工智能類的算法。算法和人工智能也有出現(xiàn)在少兒編程的內(nèi)容中的,但是并不多,因?yàn)檫@些內(nèi)容對(duì)老師和學(xué)生都有較高的要求。
二維軟件編程
二維軟件編程指應(yīng)用的人機(jī)交互界面是平面的,這也是當(dāng)前的主流交互界面,因?yàn)槲覀兊闹饕慕换ピO(shè)備,個(gè)人電腦,筆記本,手機(jī)這些都是平面顯示設(shè)備。沒(méi)有特殊說(shuō)明,大家常說(shuō)的編程都是二維軟件編程,和交互界面無(wú)關(guān)的編程也被放入這個(gè)類別中了。
三維軟件編程/VR
三維軟件編程/VR指所編軟件的人機(jī)交互界面是三維效果的,簡(jiǎn)單的,就是在平面設(shè)備上直接顯示有立體效果的交互界面,復(fù)雜一點(diǎn)的,要通過(guò)佩戴VR眼鏡,在虛擬空間中進(jìn)行人機(jī)交互。
在游戲和娛樂(lè)領(lǐng)域,有較多的三維軟件。在少兒編程領(lǐng)域,**的當(dāng)屬"我的世界教育版",整個(gè)學(xué)習(xí)場(chǎng)景是三維的,可以營(yíng)造一種沉浸式的學(xué)習(xí)氛圍。
硬件編程
由于智能硬件的發(fā)展,現(xiàn)如今,在開發(fā)套件的基礎(chǔ)上進(jìn)行硬件編程這種形式對(duì)孩子有較大的吸引力。Arduino就是一個(gè)可編程的電路板套件,很多公司都為它配套了軟件編程環(huán)境,可以對(duì)其硬件能力進(jìn)行應(yīng)用和編程,例如可以檢測(cè)溫濕度,紅外,也可以驅(qū)動(dòng)開發(fā)套件上的蜂鳴器,打開電路開關(guān)。
硬件編程課程里,孩子可以學(xué)會(huì)如何用手里的開發(fā)套件做出智能家居的那些效果,自動(dòng)開關(guān)電視或者制作一臺(tái)遙控電風(fēng)扇。

當(dāng)然需要說(shuō)明的是,硬件編程并不等于硬件開發(fā),后者包含多的多的內(nèi)容,硬件的外觀,器件選型,結(jié)構(gòu)等等,都不會(huì)包含在課程范圍內(nèi)。有些創(chuàng)客空間在這些方面進(jìn)行了深挖,推出了電路課程,機(jī)械課程,這些課程學(xué)習(xí)的是真正"硬"件的知識(shí),要么是電子電路方面的知識(shí)為主,要么是材料和設(shè)計(jì)方面的知識(shí)為主,一般不把它們稱為少兒編程課程(可以稱為科學(xué)課程)。
機(jī)器人編程
機(jī)器人編程的意思是指軟件編程驅(qū)動(dòng)機(jī)器人完成某種動(dòng)作。大家所熟知的樂(lè)高課程在機(jī)器人編程領(lǐng)域占有*大的市場(chǎng)份額。但樂(lè)高機(jī)器人課程,不僅涉及編程的知識(shí),還需要孩子們了解學(xué)習(xí)物理、機(jī)械、工程等方面的知識(shí),很多時(shí)候要運(yùn)用機(jī)械解決問(wèn)題,強(qiáng)調(diào)動(dòng)手能力,這使得機(jī)器人課程成為少兒編程市場(chǎng)的一個(gè)獨(dú)特的大類。

特別指出的是,還有許多其它的機(jī)器人編程課程,例如九天的衛(wèi)星課程,大疆無(wú)人機(jī)編程課程、CUEE的水下機(jī)器人等等,這些機(jī)器人編程都有其獨(dú)特的目的、內(nèi)容和應(yīng)用場(chǎng)景。
其他
Scratch
嚴(yán)格來(lái)說(shuō)Scratch并不是一種語(yǔ)言,而是一種編程方式,就是使用可以拼搭的圖形積木塊的方式進(jìn)行學(xué)習(xí)編程的一種方式,同時(shí)也是*早采用這種方式的一個(gè)教育軟件的名字。因而我們可以看到了在上表中其它內(nèi)容的編程都可以用Scratch,實(shí)際上是指各自的圖形化編程方式。
設(shè)計(jì)/繪圖/3D打印
這都屬于設(shè)計(jì)類的內(nèi)容,但有些少兒編程機(jī)構(gòu)也會(huì)開設(shè)這類的課程,或者也作為少兒編程也常常用這些課程的制作結(jié)果,例如設(shè)計(jì)出來(lái)的圖標(biāo),logo,繪制出來(lái)的圖片、動(dòng)畫經(jīng)常是軟件編程的素材,3D打印出來(lái)的模型可以作為自制機(jī)器人的部件。
*后
正是因?yàn)樯賰壕幊逃袕V泛的內(nèi)容,它才有廣泛的適用性,可以在廣泛的場(chǎng)景下作為工具來(lái)使用。而會(huì)編程,也如同會(huì)說(shuō)外語(yǔ)一樣,可以作為現(xiàn)代人的一項(xiàng)基礎(chǔ)能力要求了。