資訊內(nèi)容
少兒編程之我見
“忽如一夜春風(fēng)來,少兒編程萬家開。”最近風(fēng)頭正盛的教育項目莫過于“少兒編程”了,有的推Scrtach,有的推Python,有的推C++,有的要搞樂高,有的搞機器人,不明真相的圍觀群眾往往丈二腦袋摸不著頭腦,不知道學(xué)哪個好。
屁股決定腦袋,“萬般皆下品,唯有某某高“,很多機構(gòu)基于自己利益出發(fā)非得說學(xué)哪門編程語言最好,或者出于自己的經(jīng)歷經(jīng)驗而貶低其他編程語言,說××是世界上最好的編程語言。
作為一名程序員和家長,我想從我的角度來談?wù)勛约簩ι賰簩W(xué)編程的看法:學(xué)編程并不意味著要以后當(dāng)碼農(nóng),在未來,編程跟電腦操作、開車等一樣是個常見的技能,對青少年來說只是一種思維訓(xùn)練。
編程語言無所謂優(yōu)劣,主要看應(yīng)用場景和階段,它們有共通的地方,掌握了一門編程語言后,另外一門編程語言的相通部分便能很容易掌握。下面是Scratch,python和C++三種編程語言的代碼對比圖,判斷菜單中是否包含宮保雞丁,如果包含則輸出找到了。可以看到Scratch和Python都很直觀,C++有些繁瑣。不過這三種編程語言的判斷流程是類似的。
下面分別對一些主流的少兒編程教學(xué)語言的闡述。
Scratch
圖形化編程,用戶拖拉圖像界面就可以完成編程。所見即所得,能讓孩子快速運行得到結(jié)果,讓孩子快速找到自信,成就感滿滿。
Scratch,在電腦、平板上都有相應(yīng)的安裝程序,可離線編程,也可在線編程。有些機構(gòu)還研發(fā)出可供Sctrach編程驅(qū)動的教學(xué)硬件,有些STEAM比賽也支持Scratch。
類似的編程語言有Blocky等,但在國內(nèi)Scratch的學(xué)習(xí)資源比較多。Scratch無需基礎(chǔ),建議三年級前學(xué),適合啟蒙使用,像打游戲一樣感受編程的樂趣。
開發(fā)界面如下圖所示,左邊是編輯圖像元素和運行結(jié)果的地方,右邊可以像積木一樣拖著搭建。
App Inventor
圖形化編程,有點類似Scratch,但場合是在Android手機上編一個可實際安裝運行的APP。
通常 ,Android APP用Java/Kotlin來編寫的,IOS APP是用Objective-C或Swift編寫的,但對小朋友來說那些編程語言太過艱深晦澀,APP Inventor是比較適合少兒做手機編程的。
APP Invenrot啟動后會進入組件設(shè)計界面,左邊是按鈕、對話框、圖像等組件,右邊是這些組件的屬性,中間是設(shè)計的場所,也是所見即所得,易于上手。
Python
非圖形化的純源碼編程,相對Scratch有點枯燥,但真是真正的工業(yè)類編程語言,可以用來實際應(yīng)用在生活生產(chǎn)中解決問題的。Python應(yīng)用廣泛,從編寫一個簡單的計算器到編寫一個戰(zhàn)勝人類圍棋大師的Alphago,從Youtube網(wǎng)站到自動駕駛,從拍牌軟件編寫到股票基金量化,Python都可以勝任。Python近年來還隨著人工智能和機器學(xué)習(xí)的大熱而大紅大紫,2018年再次成為TIOBE的年度編程語言,2019年打破C、C++和Java的統(tǒng)治地位,闖入TIOBE編程排行榜三甲。
現(xiàn)在,Python已經(jīng)確定進入浙江省信息技術(shù)高考。從2018 年起,浙江省信息技術(shù)教材編程語言從?VB 更換為Python。除浙江外,北京和山東也確定要把 Python 編程基礎(chǔ)納入信息技術(shù)課程和高考的內(nèi)容體系。
人生苦短,我用Python。Python簡單易學(xué),開發(fā)便捷,我個人認為Python是最適合普及編程教育的編程語言,沒有之一。三、四年級就可以開始嘗試學(xué)了。
下圖為python的一個判斷一個數(shù)字是否為質(zhì)數(shù)的函數(shù),寫起來也比較簡單。
C++
非圖形化的源碼編程,比Python上手要難一些。C++和Python一樣是Google內(nèi)部的三大編程語言之一,C++主要用于需要運行速度快的地方,比如操作系統(tǒng)底層代碼、人工智能(如AlphaGo的框架Tensorflow,底層是C++編寫的,運行速度快,上層是Python編寫,易于快速編寫)。
C++是中國五大奧賽(數(shù)學(xué)、物理、化學(xué)、生物、信息學(xué))之一信息學(xué)競賽的唯一指定編程語言(Pascal已出局,不要學(xué)了),它是閹割版的C++,無需學(xué)那么多C++的高級特性。不過要參加信息學(xué)競賽,編程語言只是其中之一,有個經(jīng)典的公式,算法+數(shù)據(jù)結(jié)構(gòu)=程序,后面還是要學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)和算法,多加練習(xí)。
跟其他奧賽一樣,信息學(xué)競賽是一條艱深長遠的路,最后笑傲江湖的全國只有寥寥幾十人,大部分人都是炮灰。如果有志于參加信息學(xué)競賽,在三四年級時可以開始學(xué)習(xí)C++了。
下圖是C++的一個例子。
最后總結(jié):想感受手機APP開發(fā),可以嘗試APP Inventor;三年級以下可以感受Scratch,掌握變量、判斷、循環(huán)等和其他編程語言相通的部分;想?yún)⒓有畔W(xué)競賽就去學(xué)C++(建議三四年級后);無意信息學(xué)競賽,只是想學(xué)編程開拓思維,建議學(xué)易學(xué)實用的Python。
聲明:本文章由網(wǎng)友投稿作為教育分享用途,如有侵權(quán)原作者可通過郵件及時和我們聯(lián)系刪除

- 上一篇
大家都在談的scratch到底是什么?
scratch是一款由麻省理工學(xué)院(MIT)設(shè)計開發(fā)的面向青少年的簡易編程工具,能創(chuàng)作故事、動畫、游戲、藝術(shù)等。青少年可以不會英語,也可以不會使用鍵盤,直接用鼠標拖動構(gòu)成程序的命令和參數(shù)的積木模塊來實現(xiàn)相應(yīng)的效果。那功能如此強大的工具,到底長啥樣呢?
- 下一篇
孩子們在編程中收獲了什么?
隨著兒童編程教育的不斷普及,各種圖形化的編程工具也相應(yīng)推出,其中應(yīng)用普遍的Scratch編程工具,以其“創(chuàng)造、探索、分享”的理念,吸引著越來越多的青少年兒童進入編程世界。只要接觸過該軟件的孩子,基本沒有不喜歡的。但是要說這喜歡背后的原因,絕非是因為編程本身簡單,也不是因為編程工具本身容易