當前位置:
首頁 > 教育 > 5000字乾貨:關於讓孩子學編程的深度思考和學習規劃

5000字乾貨:關於讓孩子學編程的深度思考和學習規劃

作者:周花捲

編輯:果仁兒媽媽

最近幾年,STEAM教育一下子被推到風口。

尤其是「少兒編程」受到各路人馬追捧,不僅各種主打線上編程教育的初創公司遍地開花,一些傳統的線下學科培訓機構也紛紛開始開設少兒編程課程。

少兒編程的「一夜火爆」,背後少不了國家政策的支持。

2017年,國務院印發了《新一代人工智慧發展規劃》,其中明確提到:

「實施全民智能教育項目,在中小學階段設置人工智慧相關課程,逐步推廣編程教育,鼓勵社會力量參與寓教於樂的編程教學軟體、遊戲的開發和推廣。」

這一文件等於為少兒編程教育機構高調站台。

另一方面,和語文、數學、英語等學科培訓以及藝術培訓相比,編程課還算「小眾」。

所以很多機構也瞄準了這塊潛力巨大的市場,鋪天蓋地地搞起了宣傳。比如說號稱說要教給孩子「人工智慧」,或者號稱孩子學幾節課就可以做出很厲害的作品。

對於父母而言,自己懂得編程的人並不多,真的自己就懂編程的家長可能都996去了,沒時間管孩子的課外班;要麼就自己在家教了。

這就導致許多家長會被鋪天蓋地的廣告所「迷惑」,無法做出正確的判斷。

我自己從小就接觸編程,參加過信息學奧賽,在現實生活中,也在幫自己孩子規劃編程學習路線。

——我寫這篇思考乾貨的初衷,其實是分享我的思考新得,從而給廣大家長提供一份編程啟蒙避坑指南。

需要提前說明的是,這篇指南只從整體的角度探討,不針對任何具體的培訓機構。

為什麼機構說學編程要趁早?幼兒園就要開始學了?

我們這一屆家長,其實很少有人從小就接觸編程。很多人可能到高中甚至大學之前都沒有摸過電腦。

作為一個「異類」,我自己是從小學的時候就開始邊玩邊學編程了。

那時候的編程還不像現在有各種圖形化、看上去很好玩的環境和工具,都是直接編寫程序代碼的。我認為小學作為編程的起點是可以接受的。

我自己也帶過一些孩子學習簡單的編程,儘管每個人接受程度不同,但總體而言,小學二年級(7~8歲)的孩子,其實都已經可以理解編程的基本概念和邏輯了,比如指令、循環、分支、變數等等。

不過,這是否就意味著學編程越早越好呢?

曾經有一個著名的「雙胞胎爬梯實驗」:

一對雙胞胎,其中一個寶寶在48周時開始訓練爬樓梯,另一個寶寶在52周時才開始訓練,結果兩個寶寶都在54周的時候學會了。

學編程也是一樣,晚點開始,也未必就會落後,可能還能幫你省點錢

這是因為一旦孩子的抽象思維和邏輯思維有了一定發展,編程中很多概念就可以被很快理解了;但反過來,你給一個幼兒園小朋友講這些東西,就需要花很長很長時間,他們還沒辦法完全理解。

小孩子無法理解這些抽象的概念怎麼辦呢?

那就只能搞所謂的「寓教於樂」了:以玩為主,把戰線拉長。這樣做對於機構其實也有好處,因為孩子報培訓班都是有一定粘性的,早點把你圈進來才能讓你一直學下去。

學編程有什麼用?機構說能提高課內成績?能幫助升學?

機構宣傳的那些好處可能都比較注重實用性,我們先不說這些。

從家長角度來講,學習編程的好處其實還是在以下兩方面:

第一是培養「如何解決問題」的思維方式。

編程思維的核心,其實是把複雜的問題分解成一個一個較小的模塊,而其中的一些模塊應該是可以重複使用的。

預先設計好這些模塊之間的聯繫,逐個實現這些小模塊之後,再把它們都整合到一起——這種能力對於解決任何問題都有幫助,也是讓孩子學習編程最大的收穫之一。

第二是「調試」這個過程所體現的價值。

沒有人能一次把程序寫對,寫完之後一運行,總會發現這樣、那樣的問題,這時候就需要進行「調試」。

調試對於孩子來講其實是個很痛苦的過程,有時候調了半天還是不行,就很有挫敗感。但這個過程恰恰能鍛煉很多能力:

比如怎樣找到問題出在哪裡,其實有很多技巧和方法;還要有足夠的耐心和敏銳的觀察力——這些都是放在任何領域都很有用的能力。

至於用編程來提高課內成績,理論上也許可以做到,但現實中並沒有太多數據支持,所以大家也別太當真。

至於編程是否能幫到升學,也是大家很關注的問題。

我觀察到的是:跟升學相關的「硬通貨」比賽賽事其實是非常少的。

比如拿NOI(全國青少年信息學奧林匹克競賽)來說,每年全國比賽金牌也就幾十個,其實是非常小眾的——如果我們拿這個獎牌作為學編程的目的,就會搞得像曾經的「全民奧數」一樣,家長和孩子都身心俱疲,也沒什麼意思了

學習任何東西都是同樣的原則:興趣為先,適度引導。

學編程才能在人工智慧時代有飯吃?孩子能自己編寫人工智慧程序?

自從前兩年Google的人工智慧軟體AlphaGo擊敗人類最頂尖的圍棋選手以來,人工智慧一夜之間成了一個家喻戶曉的名詞。所有的機構都在拿人工智慧說事兒,比如說:「人工智慧編程,讓兒童贏在未來」等等。

我們說的人工智慧,其實是指以「機器學習」為主的一種軟體系統。

機器學習又是什麼呢?

著名人工智慧專家吳恩達(Andrew Ng)在他主講的斯坦福大學機器學習課程簡介中是這樣說的:

「機器學習是一門研究讓計算機無需專門編寫程序,就能完成工作的科學。

也就是說,機器學習的目標就是「不需要編程」,意外嗎?

機器學習解決了一些複雜的特徵識別問題,

比如說一張圖片上面是貓還是狗,我們用傳統的指令編程很難讓計算機完成這個任務,因為貓和狗的特徵太複雜了,不是能用指令描述清楚的。

而機器學習的思路就是甩給計算機幾萬張圖片,每一張都事先標好答案,比如這張是貓、那張是狗、這張什麼都不是。用這些學習材料去訓練計算機,讓它自己找到貓和狗的特徵,再去判斷它沒見過的圖片里是貓還是狗。

因此,相比編程本身來說,人工智慧和數學的關係其實更強。學編程只能幫你更好地理解人工智慧的工作方式。

如果你問我什麼人在人工智慧時代一定有飯吃,我會說「數學家」;至於程序員,其實已經有人用遺傳演算法和神經網路教會計算機自己編程了,等於和程序員搶飯碗,你顫抖了嗎?

還有些父母聽說可以讓孩子自己編寫很厲害的人工智慧程序,感到非常心動,比如「讓孩子自己獨立編寫的動作捕捉程序」。

懂編程的人一看就知道這是哄小孩玩的——怎麼定義的「自己編寫」呢?

給孩子一個打包好的工具箱,裡面有一個現成的工具就叫「動作捕捉」,然後讓孩子自己寫一行代碼(其實是照抄一行代碼),調用一下這個工具,搞定。

這種東西從學習的效果而言有什麼意義呢?更多是為了讓家長不明覺厲,心甘情願掏錢吧。

其實,現在的人工智慧離真正我們期待的「智能」還差得遠。

如果機器學習本身的原理沒有突破,那麼可預見的將來,它依然會離「智能」差得遠。

未來,人工智慧將替代一部分人類工作,但我們不能把它看成是一種威脅,而是一種新的機會。

我們作為父母,面對人工智慧時代的時候,應該讓孩子「練好內功」,而不是趕現有技術的「時髦」。至於人工智慧,等有了一定的數學和計算機科學底子再去了解它也不遲。

學編程和學機器人的區別在哪裡?

我們環顧四周的課外班,就會發現:搞機器人的機構比搞編程的機構要多得多。這裡面有很多原因:

首先,很多機構最初都是搞樂高培訓起家的,從搭積木到機械結構、再到自動化是一個比較自然的路徑。

再加上樂高自己也有WeDo、EV3這樣的機器人教育模塊,因此機構在這方面的準備更充足一點。

其次,學機器人是需要購買硬體設備的,也可能成為機構的一個利潤來源,而學編程賣得就只有課時了。

最後,機器人領域裡可以有很多大大小小的比賽,這些比賽都是組隊參加的。儘管水平可能良莠不齊,但搭配組合、培訓後總能拿出成績,孩子也可以拿到幾張證書,皆大歡喜。而編程在大眾賽事這方面就比較缺乏,也和它的特點也有一定的關係。

父母該如何看待機器人教育呢?

我認為機器人學習其實是一個交叉領域,儘管也會涉及到一部分編程,但是在少兒階段,學習的內容還是集中在邏輯控制層面,並不會特別深入。

所以到底讓孩子學機器人還是學編程,應該從孩子的興趣出發:許多孩子對於機器人這種比較「現實」的東西更感興趣,而另一些孩子更喜歡「搞腦子」。

從STEM教育的角度來看,其實兩者都很好,無所謂孰優孰劣。

我也看到過一些機構非要忽悠家長說學機器人比學編程好,理由是學編程只能在電腦上搞虛擬的東西,機器人這種能做出真東西的才有用——這就是別有用心了。

假如你孩子喜歡編程,但機構卻極力推薦你去學機器人,那大概只能說明他們的機器人課更有優勢,或者說能帶來更多利潤。

多種編程語言,到底學哪種比較好?

許多人聽過不少編程語言,比如Scratch、Python、C 等等...到底學哪種呢?

其實你在市面上能見到的絕大多數少兒編程機構,都是學Scratch或者類似的Scratch的積木式編程。

Scratch是MIT(大名鼎鼎的麻省理工學院)開發的一款圖形化編程軟體,在全世界少兒編程教育領域都非常流行,它的特點就是簡單易學,上手快,幾分鐘就可以做出一些好玩的作品。

簡單易學不光是對小朋友容易學,對於機構的老師們也容易學。

少兒編程機構可以遍地開花,但是老師的缺口不是一時半會兒能夠補上的——很多老師也都是半路出家的,那麼顯而易見,Scratch是最容易上手的,所以絕大部分少兒編程機構都只有能力調集Scratch師資。

至於Python之類的正經編程語言,師資培訓和教研體系建設的難度要高上數倍,大部分機構其實都開展不了或者水平有限,真正有能力開展的屈指可數。

Scratch雖然好玩,但是它本質上還是個小孩玩具

儘管號稱Scratch可以開發很複雜的項目,但是以它的設計模式,如果真做個大項目能累死你!

我自己就嘗試過,看著那些花花綠綠的積木堆在一起,真得有點腦殼疼。

Scratch其實更適合拿來培養興趣,學習一些基本的編程邏輯,如果一個機構讓孩子學Scratch超過兩年,那麼家長可以判斷這個機構比較「水」了,很可能後面也拿不出什麼東西。

如果孩子已經通過Scratch入門了,我的建議是:要儘快轉向學習正規的編程語言只有使用正規的編程語言,才能學會嚴謹地表達程序結構和邏輯

具體學哪種語言,要看孩子想做點什麼。

比如說,想開發iPhone的App,那就學Swift;想開發微信小程序,那就學習Javascript;如果打定主意要走競賽路線的,那就學C 吧,NOI選擇C/C 作為規定語言,是因為它們更貼近計算機底層的工作方式,說白了就是更加「硬核」。

如果還比較迷茫、找不到什麼特定的目標,我建議可以讓孩子學學Python,因為Python在各個領域都有廣泛應用(比如機器學習),也可以寫小遊戲(比如基於pygame等引擎)。

有一點想說的是:無論你讓孩子去學習什麼語言,都要引導孩子去關注那些核心和基礎的東西。

比如:計算機的結構和工作原理;計算機的操作系統;編程語言相關的底層知識,以及基本的演算法和數據結構知識。

——這些東西,從計算機誕生的那一天起幾乎就沒變過,正所謂「練好內功」才能「以不變應萬變」。

到了這個學習階段,一般孩子年齡也比較大了,應該具備一定的自學能力了。

我認為可以不拘泥於在機構學習,還有很多途徑可以學習這些知識,比如書本、在線課程(MOOC之類的,中文課程也非常多),甚至還有一些提供互動式課程的App(比如蘋果的Swift Playgrounds)。

在這個階段,如果自己家沒有家人懂編程的話,讓交一個懂編程的朋友,比找個機構更管用。孩子學習的過程中有靠譜的人隨時給答疑,或作出實時指導,效果自然會好很多,家長可以多請人家吃吃飯表示感謝。

報編程班,應該報線上呢還是報線下呢?

這一部分是我的個人觀點:我認為對於低年齡段的孩子,相比線下機構,線上學習反而更有優勢:

首先,編程教學本身就是在屏幕上進行的,也就天然適合線上的方式;線下教學也是看老師的電腦屏幕,本質上也沒太大區別。

從實踐而言,線上課堂我們當家長的可以看到孩子到底在學什麼。即便不是專門旁聽,你沒事路過瞄兩眼也能了解個七八分;而線下課一般家長是不陪同的,我不太容易掌握老師教得好不好,孩子學得好不好。

其次,我之前提到了編程師資的培訓難度。儘管我認為Scratch比較容易,但要在短時間內讓老師具備深厚的教學功力,依然很困難。此外,Scratch教學離不開很多有趣好看炫酷的工程實例,這些東西都是需要專門的團隊花時間和精力去製作的。在這一點上,線上機構就可以有規模化的優勢:用集中團隊進行教研,也可以用少數精銳的老師去教更多的學生,我認為課程的質量應該更好一些。

再者,線上課的價格一般也比線下機構更便宜。

那線下班又有什麼獨特優勢呢?

我認為,線上機構的課程要照顧的群體比較大眾化,且老師很難觀察到學生的接受度,因此線上課程進度設置上比較寬鬆緩慢,也很難針對某個孩子的疑惑進行具體的指導,(除非是一對一的課)。

而這些劣勢,則是線下班的長項。所以家長要多觀察孩子的學習情況,選擇合適的方式學習。

普通家長,怎樣判斷編程老師的水平?

無論教什麼學科,我認為老師最重要的素質只有三條:

第一:專業知識積累夠深,相關知識面夠廣;

第二:能夠用形象的表達方式(包括口頭、圖解甚至動畫)講述知識點,並且能夠提煉出一些規律;

第三:擅長使用引導的方式讓孩子自己達成目標。

第一點應該很容易理解,老師要教100%的內容,自己必須要200%的儲備。

那麼在家長自己不太懂編程的情況下,怎樣直觀地判斷老師的水平呢?

我覺得可以看老師對孩子提問的反應:如果老師有足夠的知識儲備,對於孩子的提問應該可以應對自如;如果經常迴避孩子的提問,那多半是肚子里沒有料。

另外,還可以看老師能不能針對孩子的作品提出有趣的改進或者拓展建議。

第二點也比較直白,老師講得是不是形象易懂。

家長即便不太懂編程,也能有個大致的判斷。比如說Scratch編程裡面有講到坐標系的概念,有些老師會說像電影院里坐座位,第幾排第幾座,這樣一說孩子就很容易理解。

坐標系也可以進一步提煉一些規律出來,比如說一個角色水平移動的時候哪個軸的坐標是不變的?好的老師應該能講一些規律,而不是只停留在表面的一些概念。

至於第三點,好的老師上課要千方百計地引導學生思考並自己找到答案,而不是只把知識點講掉,帶著孩子做完一個作品就完事了。

比如說,做一個小項目的時候,老師有沒有引導孩子進行功能模塊的分解?在講解知識點的時候,有沒有引導孩子舉一反三,自己去發現一些規律?在孩子的程序沒有實現預期結果的時候,有沒有引導孩子自己找出問題?

家長也可以觀察,孩子學完一段時間後,能不能利用學過的知識做出自己的作品。很多在樂高機構上課的孩子,跟著老師可以搭出很厲害的東西,但是讓他們自己獨立搭就抓瞎了,學編程可能也會遇到同樣的問題。

我認為這可能還是老師過於重視拿作品說話:因為作品是可以給家長看到產出的,所以手把手帶著孩子做出來就好了,並沒有花心思去讓孩子理解裡面的一些規律,這樣的教法可能就值得商榷了。

我的總結

我們做父母的看待編程,不應該僅僅認為它只是一種具體的技能。編程是一種解決問題的思維方式,以及它背後所包含的那些基本原理。

少兒編程機構的火熱,我認為是一件好事,可以提供給孩子們更多的選擇。但另一方面,我們要記住資本永遠是瘋狂的,如今的兒童編程領域充斥著各種熱錢,在這樣的狂熱中,希望這篇指南能幫你理性地做出判斷和規劃。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 果殼童學館 的精彩文章:

「騙人!我和孩子說同樣的話、用同樣的方法,為什麼不管用?」
「快樂教育」和「高成就」,哪個才是幸福童年的真諦?

TAG:果殼童學館 |