如何看待扎堆湧現的少兒編程?
推薦孩子玩CodeMonkey,我的孩子小學三年級,玩Scratch有一段時間了。官方線上教程的內容很簡單,他上手很快,但再想深入時,就開始感到有些茫然。我幫他從圖書館借了兩本Scratch的教程,他用了兩個星期把裡面的內容走了一遍以後,就又開始在社區里遊盪了。
我開始意識到這是Scratch的軟肋。雖然Scratch的線上社區非常活躍,有非常多的優秀項目,其中也有很多教學類的項目,但畢竟都是自行發布的作品,內容良莠不齊。教學類的項目,完全沒有進行組織,缺乏由淺入深的次第,內容之間沒有關聯。如果打開程序的代碼頁面,花花綠綠的積木代碼堆得密密麻麻,初學者很難直接依靠閱讀源碼來進行學習。如果想自己做個新項目,總想要弄點自己的素材吧,結果花在素材準備上的時間經常比程序部分還要多,等到了程序部分又往往因為缺乏思路而半途而廢。我相信尤其是對於年齡較小的孩子,這一階段是難以跨越的。
CodeMonkey則完全是另一種模式。
在CodeMonkey里上述的問題都不復存在,你需要考慮的只是怎麼通過編寫程序幫助小猴子和小夥伴們把香蕉弄到手。
如果你去學Scratch,那麼你只能在Scratch的平台上或少數幾個採用類似的積木式編程的環境里轉。在Codemonkey里學到的,則是一門被稱為CoffeeScript的編程語言,是真正的編程語言哦。CoffeeScript和廣泛應用在互聯網世界的JavaScript語言兼容。相對其他一些主流的編程語言,它更為接近自然語言的表達方式。這意味著在Codemonkey里的學到的知識,你可以拿到真正的開發平台上去運用,還可以作為學習javascript,python,ruby等語言的基礎。
CoffeeScript本身就很容易學習,CodeMonkey把學習過程設計成闖關式的,每一關卡都經過精心設計,小動畫和搞笑的小橋段層出不窮,每一關的跨度和難度不大,一邊現學現用,一邊不知不覺地就由淺入深了。編輯器底部的按鈕,可以幫助孩子迅速鍵入代碼,所以不必為單詞拼寫或者要學習鍵盤輸入而困擾,只需要專註地思考如何去完成任務就好了。
CodeMonkey是基於瀏覽器的應用,無需安裝或配置開發環境,在電腦和平板上都能玩。會使用滑鼠和鍵入數字就可以開始了,對於用過Scratch的孩子來說,操作的難度是一樣的,即使沒有用過,對現在的孩子來說,這完全不算個事兒。除了代碼外,操作界面和教學提示等都已經中文化,即使孩子的英文程度差一點,也不會覺得困難。家長順帶還可以藉機鼓勵孩子好好學英語和數學,一舉兩得。
在CodeMonkey里不僅將學習到:Objects, function calls, arguments, loops,
variables, arrays, for loops, function definitions, boolean conditions, until loops, if and if-else conditions, boolean operators, keyboard andmouse
events等等這些編程方面的知識和通用的編程規範,更重要的是學會一種新的思維方式,學會如何分析問題和如何用現有的資源解決問題。此外,一個個關卡就是一次次的挑戰,每次失敗後調試和任務完成後對代碼的優化再思考的過程,都在潛移默化地塑造孩子的性格。當然,對孩子來說,最重要的是:CodeMonkey有趣、好玩!我推薦9歲以上的孩子玩CodeMonkey,這也是官方建議的年齡。小一點的孩子當然也可以試試,但大一點的孩子會更容易樂在其中。用郵件註冊一下就可以玩免費的30關,收費用戶則可以玩到300關,再外加100個挑戰關卡。具體怎麼玩,一路都會有提示,不用教。我建議盡量讓孩子自己去搗鼓,這樣會學到的東西更多,印象更深刻,也更有成就感。
喬布斯在生前接受的一次採訪中,曾說過這樣一句話:「這個國家的每一個人都應該學習編程,因為它教你如何思考。」除了喬布斯,包括比爾·蓋茨、馬克·扎克伯格等在內的眾多名人,也都呼籲讓少年兒童參與到計算機編程中去。
「編程從娃娃抓起」在過去的幾年裡,從一句口號逐漸被美國、英國等發達國家放進了小學生的教育大綱。但是對於大多數家長來說,「編程」仍然是枯燥的代名詞,與兒童教育結合更被認為是匪夷所思。
發達國家對推廣編程教育的觀點是:編程技能已不僅是信息產業對人才的需求,而將是所有產業的需求。產業需要的也不僅是軟體專業人才,而是掌握編程技能的產業專業人才。
少兒編程確實這兩年在教育領域尤其是一線教學中帶起了熱潮,其中Scratch功不可沒。關於少兒編程的價值,目前有不同的追求,有的尋求培養孩子的邏輯思維、解決問題能力,甚至於就是向著商用編程語言過渡,最終孩子十有八九會愛上編程。而另一種則是同樣強調邏輯思維的培養,但是更強調學習的趣味性,自我創作、表達,還會進行跨學科知識的學習。將少兒編程作為表達的載體,例如國外的tynker,國內的編程貓。還有最後一種就是向著硬體走的了,先教編程打基礎,然後搞硬體搞機器人,就是所謂創客教育了。孰是孰非,不知道,不好判斷。但我覺得作為孩子首先應該是趣味學習吧,並不是所有的孩紙都要去編程,去做程序員,計算機工程師。很多人能夠理解編程,能夠有一定的計算思維就足夠了。
畢竟兒童編程剛剛興起,學習資料、學習方法、師資都是在建立和摸索的階段,國內還不具備一個成熟的學習環境。爸媽們可以根據自己的情況帶孩子做適當的嘗試,但是最好不要把這個當成孩子的必修課。
功利化的教育,而非追尋一個人的天賦和興趣,想起有個新聞說衡水中學的高三學生看個春晚都要拆解成文綜考試政治題出題點,感覺我朝的教育真是「太宗皇帝真長策,賺得英雄盡白頭」。好的行業生態不僅需要好的研發工程師,還需要好的視覺設計,好的產品方案和好的推廣渠道,每個人適合的事情都不盡相同,jobs算是個技術不佳的coder,但是確實pm中的佼佼者,萬物趨同追逐熱潮其實挺可怕的,我們的社會需要千人千面的人才,而不一定是迎合某一種標準。
推薦閱讀:
※Matplotlib設計的基本邏輯
※分治法,動態規劃及貪心演算法區別
※放學快走,你的電腦在實驗室自己喊啪嗒!
※Python分詞模塊jieba (01)-jieba安裝,分詞,提取關鍵詞,自定義分詞,切換詞庫講解