編程是一件很有趣的事情,主要能培養(yǎng)這些能力:
一、構(gòu)思能力
編程是一種“先寫劇本,后看結(jié)果”的活動,這要求孩子先在腦子里進行構(gòu)思并模擬出結(jié)果,然后再實際驗證結(jié)果是不是符合預期。這是一個“異步”的過程,對于這種“都得事先想好”的方式,孩子一開始是不適應(yīng)的,因為這違背他們的直覺。
二、邏輯能力
編程需要考慮到各種情況,根據(jù)不同的情況作出不同的選擇(分支),而且各個分支之間不能重復,也要避免遺漏某一種可能性造成程序的異常行為。在邏輯思維中有個詞叫做MECE(Mutually Exclusive and Collectively Exhaustive),意思就是“相互排斥且整體完備”,也就是“不重復,不遺漏”。這是邏輯思維中的一個重要原則。
三、模式識別能力
在編程中我們經(jīng)常需要發(fā)現(xiàn)一些“可以重復”的單元,然后讓計算機去重復它。舉個簡單的例子,計算(1+5)×4相當于(1+5)+(1+5)+(1+5)+(1+5),其中每一個(1+5)就是一個可重復的單元,或者說是一種模式(pattern)。在解決實際問題時,模式并不都是顯而易見的,有些模式是隱藏的,或者需要一定的變換才能出現(xiàn)的,這些都考驗孩子觀察力和識別力。
四、分解問題的能力
一些復雜的問題都可以分解中等的問題,中等的問題還可以進一步分解成小問題。在解決復雜問題時,問題的分解是非常重要的,編程中我們也經(jīng)常需要使用這樣的方法。
五、調(diào)試除錯能力
任何工作都無法一蹴而就,是人總會犯錯誤,程序運行起來發(fā)現(xiàn)不對有問題,這時需要孩子能夠找到出錯的地方在哪里,并且將它改正。這里面包含的能力很多,比如抗挫折力、觀察力、專注力等等。
總之,通過學習編程所培養(yǎng)的能力并不只是適用于編程,而是可以在很多方面派上用場。
關(guān)于不同年齡段學些什么,建議:
* 4~6歲:玩一些編程小游戲,比如用指令控制一個角色到達終點,繞過一些障礙物,用循環(huán)來完成重復任務(wù)等等。不錯的游戲包括:Box Island、LightBot Jr.等。
* 7~9歲:用一些可視化編程工具來完成一些復雜的任務(wù),比如Scratch、AppInventor等。也可以挑戰(zhàn)一些復雜的編程游戲,比如Cargo-Bot、Human Resource Machine等。
* 10歲+:學習一種真正的編程語言,比如Swift、Python等,嘗試編寫一些軟件,初步學習算法、數(shù)據(jù)結(jié)構(gòu)以及面向?qū)ο缶幊。也可以嘗試一些硬件編程,比如用Arduino做個小機器人。
根據(jù)以上的建議,我把少兒編程總結(jié)為四個方面:
一、圖形編程
圖形化編程,現(xiàn)在最流行的是Scratch 。
Scratch 是由美國麻省理工學院設(shè)計開發(fā)的,一款面向青少年的簡易編程工具。即使不會英語和鍵盤操作,用戶也可以真接使用中文圖形化進行編程,使用鼠標拖動模塊到程序編輯欄實現(xiàn)相應(yīng)功能,輕松的創(chuàng)建動畫,游戲。建議利用網(wǎng)上系統(tǒng)的學習資源,以家庭教育為主,某些編程平臺練習為輔,進行圖形化編程學習。不必參與培訓。
圖形化編程學習完成后,可以在各大少兒編程平臺上構(gòu)思和發(fā)布自己的作品,與大家相互學習與交流。
二、編程賽事
在圖形化編程學習結(jié)束后,有三個方向可以發(fā)展。第一個發(fā)展方向是,參加少兒編程賽事,如:全國青少年創(chuàng)意編程與智能設(shè)計大賽等。
學習完代碼編程之后,可以參加賽事或考一些證書,如:NOIP青少年計算機信息學奧林匹克競賽、全國計算機等級考試“二級Python”等。
針對Scratch--Python—NOIP--IOI進階路,為大家整理了一些全國性的比賽。
三、硬件編程
硬件編程也即智能硬件設(shè)計。
硬件編程是一個科技概念,指通過將硬件和軟件相結(jié)合對傳統(tǒng)設(shè)備進行智能化改造。而智能硬件移動應(yīng)用則是軟件,通過應(yīng)用連接智能硬件,操作簡單,開發(fā)簡便,各式應(yīng)用層出不窮。
在圖形化編程學習結(jié)束后第二個發(fā)展方向是,在圖形化編程的基礎(chǔ)上,動手參與智能硬件設(shè)計。我們這里的智能硬件設(shè)計(硬件編程)是狹義的設(shè)計范疇,屬于動手與益智開發(fā)。
智能硬件設(shè)計又包括編程積木搭建和智能硬件編程設(shè)計。編程積木搭建,一般是圖形化編程;智能硬件編程設(shè)計,可涉及圖形化編程與代碼編程。
鼓勵大家在學習完圖形化編程的課程后,自己多查詢一些相關(guān)的資料,多去動手嘗試。
四、代碼編程
在圖形化編程學習結(jié)束后第三個發(fā)展方向是,基于編程的興趣,繼續(xù)學習真正的代碼編程,這要求學習者有較好的自學能力。
當然這個過程,不必要在圖形化編程的基礎(chǔ)。建議學習語言:Python、JavaScript、C/C++等。還有現(xiàn)在比較熱的人工智能的學習。建議通過正規(guī)的渠道進行代碼編程學習。
作為興趣的學習者,可以參與圖形化編程、編程賽事以及智能硬件設(shè)計的學習,不必參與代碼編程;做為特長愛好的學習者,要學習代碼編程,但不必要學習圖形化編程。
愿你喜歡上編程!