圖源:圖蟲創(chuàng)意
*本文來源:少年商學院(ID:youthmba),作者:小尾巴狼
這兩天知乎上有個熱門話題,在2020世界機器人大賽總決賽上,一群幼兒園的小朋友走上了領獎臺。
機器人教育如火如荼,各種線上編程的廣告隨處可見。但是幼兒園就開始學編程打比賽真的能讓孩子真正理解編程嗎?你怎么看?你會讓孩子幼兒園就開始學編程嗎?
我和我老公都是計算機專業(yè)的,我們的孩子編程是肯定要學的(同樣是特長,一臺鋼琴好幾萬,一臺電腦才多少錢,老師還是免費的),但不會在幼兒園階段學。不止我們家是這樣打算的,據我觀察了解,我們身邊的大學同學,沒有一個是在孩子三年級以前就讓孩子學編程的。
01 我自己學編程的經歷
我們大一剛進校,就開了一門C++程序設計的課,老師一上來只簡單介紹了一下面向對象程序設計,然后就開始教怎么編程。
一學期下來,這門課我是聽得云里霧里,但老師講的那些語法指令、各種排序方法、什么迭代遞歸遍歷等等我還是都記住了,期末考試還考了90分。然而只有我自己知道,我對編程依然是一竅不通,只能機械地做題,放到生活中完全不能解決實際問題。
為了自學,我在網上找了麻省理工學院的編程公開課來看。課程一開始人家的老師就表示:我們這門課的主旨是在培養(yǎng)編程思維,編程語言只是幫助我們形成這種思維的工具。
這句話讓我瞬間知道了自己的問題之所在,也是現在很多少兒編程教育的癥結:本末倒置。
編程本質上一種解決問題的手段,編程語言只是工具。要解決問題,最重要的是你要先有一個解決問題的思路,然后在通過手里的工具去實現。而我們在學習過程中,關注更多的反而是如何使用工具。
02 知識儲備、思維訓練,遠比一上來就學編程重要
現在很多機構宣傳的都是:編程有助于培養(yǎng)邏輯思維。然而事實卻是,孩子的邏輯思維要達到一定的水平,才能真正懂得怎么去編程。
對于大多數5、6歲的孩子來說,邏輯思維還處于啟蒙階段,因為…所以、雖然…但是、不但…而且、與其…不如、要么…要么、不是…就是、如果…那么、只有…才、無論…都、即使…也,這些邏輯至少搞清楚了,才談得上把這些邏輯關系轉換成程序語言吧。
那么能不能通過學習編程去形成或是提高各種思維能力呢?
當然能。我們班當時就有幾個貧困地區(qū)來的同學,上大學前連電腦都沒摸過。同樣的老師教,我只會照著書編程,人家就可以從大段大段的代碼中悟出理論,從而形成自己的編程思維。但幼兒園的孩子有這個本事嗎?
或許你見過這種傳統(tǒng)玩具,九連環(huán)。
這個玩具看似復雜,但只要是懂編程的人,一上手就能馬上反應過來:它的核心就是編程中最經典、最基礎的算法之一——遞歸算法。
你讓那些學過所謂編程的幼兒園小朋友來玩九連環(huán),他們能不能通過玩九連環(huán)這個實際操作,上升到理論層面,悟出“這原來是個遞歸算法”,我深表懷疑。
就算直接告訴他們用遞歸的方法來解九連環(huán),我覺得他們都不一定能理解。還有這種類似的通過預設程序來操控機器人繞過障礙的玩具,經??吹叫『⒃谕?,價格還不菲。
(類似于這樣)
這種游戲你一眼就能看到障礙物在哪里,要怎么避開,提前設計好路線。如果你用個盒子把所有路線罩住,讓孩子再來編個程,讓機器人盲走試試。
面對這樣一個全新的任務,能不能想到把這個任務拆解成一個個的小問題(中途遇到障礙怎么解決、走到三岔路口怎么選擇、走錯路了怎么辦……),然后再逐一解決每一個小問題。這種提出問題并解決問題的能力,我覺得也超出了普通幼兒園孩子的能力。
說了這么多,其實我想表達的中心思想就是:對幼兒園階段的孩子來說,基礎知識的儲備、思維層面上的訓練,比一上來就學習各種編程規(guī)則更加重要。
03 如何為孩子的編程做準備
我們身邊那些大學同學,在孩子的教育過程中雖然不太緊張編程,但普遍非常緊張孩子的數學和英語,這兩門功課才是編程的基礎。
程序設計語言可以等孩子高年級了,找個暑假集中培訓一下,但數學和英語的基礎必須從小打牢。數學不用說了,是整個計算機這門學科的基礎,計算機學到頭其實就是在學數學,我老公讀博的時候基本上就是揪著傅里葉變換、黎曼數學、泰勒方程做文章。
還有英語,主流的編程環(huán)境都是英文的,我身邊很多程序員同學都非常排斥中文版scratch,覺得這是在影響孩子編程的語感(是的,程序設計語言也是要講語感的)。
除此之外,還有編程思維的訓練。
如果爸爸媽媽們有讓孩子學習編程的打算,自己在這方面又比較小白,個人建議還是要適當學習了解一下,因為思維這個東西主要還是靠潛移默化的影響,只有你了解了這種思維的精髓,才能更好地去影響孩子。
推薦一本我自己看過覺得不錯、準備今后介紹給孩子看的書。
這本書算是一本編程科普書,著重講思維,又融合了一些計算機原理、數據結構方面的知識,整本書的編排還是很有邏輯的,而且淺顯易懂、字大圖多,很輕松就翻完了。
(《寫給所有人的編程思維》,吉姆·克里斯蒂安 著)
我女兒現在5歲半,生活中我倆很喜歡玩桌游,玩桌游就是一種非常好的培養(yǎng)孩子編程思維的方式。桌游的游戲規(guī)則無非就是隨機、判斷、循環(huán)、計算等等,一步一步地組合起來,相當在孩子腦海中畫了一張程序流程圖。
以飛行棋為例:
飛行棋的規(guī)則就是:第一回合每人扔三次,點數必須要扔到6才能起飛。起飛以后,點數扔到幾就走幾步。
而這個規(guī)則用編程思維拆分出來就是。
玩家1扔骰子,生成一個隨機數。(孩子扔骰子,扔到一個3)
判斷扔到的數是否等于6。(不等于)
再循環(huán)一次。(孩子繼續(xù)扔,扔到6)。
判斷扔到的數是否等于6。(等于)
玩家1的棋子起飛。循環(huán)結束,進入下一條指令。
隨機數生成。(孩子扔骰子,扔到5)
起飛的棋子前進5步。
玩家1的回合結束,返回大循環(huán)。
玩家2開始扔骰子。
……
整個過程,孩子邊玩我邊說,她的每一個動作我都幫她轉換成一個可執(zhí)行的指令,我覺得比直接學習編程對孩子更有意義。
除此之外,編程的本質是解決問題,所以父母在遇到一些問題的時候,可以把自己解決問題的整個過程:如何想的、如何做的,用孩子能懂的語言,條理清晰地展示給孩子。
比如前幾天,我和老公帶女兒坐BRT。上車的時候,我突然想到一個問題:BRT司機是怎么做到每次進站,都能正好把車門對準屏蔽門的?
(類似于這樣)
女兒表示想不出來答案。于是我開始跟她爸討論。
我說:會不會有個類似倒車雷達的東西,快接近站臺的時候顯示一種顏色,比如黃色,司機看到后開始踩剎車減速。然后越來越近,當顯示的顏色變成比如綠色的時候,司機就把剎車踩死,讓車剛好停在綠色區(qū)域內,車門就正好對準屏蔽門了。
女兒聽了連連點頭,表示我說得對。
老公說:要驗證這個想法,進站的時候直接看司機的儀表盤就知道了。如果有提示,肯定會顯示在儀表盤上。
于是女兒擠到前面去觀察了半天,最后遺憾地告訴我們:司機的儀表盤上并沒有看到類似倒車雷達那種能變顏色的提示。
我的猜想宣告失敗,老公說:我猜會不會像停車劃線那樣,站臺上有什么標線,提示司機要把車停到標線上。
下車后,女兒在站臺上跑來跑去,發(fā)現地上確實畫了一些奇怪的線。
第二天,我專門帶她去車站驗證爸爸的猜想。我們連續(xù)觀察了5輛BRT,發(fā)現確實司機每次都會把車頭停在標線的位置,這樣車門就正好對準屏蔽門。
我女兒對這個發(fā)現非常興奮,然后馬上進行了類推:地鐵進站是不是也采用的這種方式?我們哪天再去地鐵站看看?
這種提出問題、做出假設分析、再去驗證假設的過程,既是一種很好的親子互動,也是在教孩子遇到問題時,如何去解決這些問題。
最后有幾個共性問題想再說明一下。
首先是關于“小學三年級以前不學編程”的疑問。
這其實并不是什么規(guī)則或是建議,只是我身邊某個特定圈子里的現象而已,有的是覺得孩子1、2年級功課更重要、有的是想越過scratch直接上c++或者python……孩子的成長有快有慢、能力有高有低,并沒有什么一刀切的規(guī)則。
其次,雖然幼兒園孩子學編程性價比不高,但養(yǎng)育孩子也不是事事都講性價比的。在經濟和時間都寬裕的情況下,如果孩子就是對編程對機器人很感興趣,或是從編程里面能獲得樂趣,學學也無妨。
如果學,家長可以幫孩子加強基礎方面的訓練,讓孩子能夠更快更好地領悟到編程的本質。
如果不學,也完全沒有必要焦慮。磨刀不誤砍柴工,現在小學數學的難度已經很大了,能把課堂上的知識點吃透,就是最好的邏輯訓練,就是為編程打下的最堅實的基礎。
最后是關于為什么要學編程的疑問。
如果把特長的培養(yǎng)作為一項教育投資,我個人認為編程屬于低投入低風險型的。相比藝體類的特長,學習編程所需的費用和精力,普通家庭一般都能承受、學習的過程和孩子本身的課業(yè)兼容性也更大。
學習的結果,好的可以通過競賽直通清北,一般的可以作為選擇計算機專業(yè)、進入IT行業(yè)的鋪墊,再不濟也能多一項工作、生活中經常能用到的專業(yè)技能。
本文轉載自微信公眾號“ 少年商學院”,作者小尾巴狼。文章為作者獨立觀點,不代表芥末堆立場,轉載請聯(lián)系原作者。
2、芥末堆不接受通過公關費、車馬費等任何形式發(fā)布失實文章,只呈現有價值的內容給讀者;
3、如果你也從事教育,并希望被芥末堆報道,請您 填寫信息告訴我們。