孩子該不該學編程?

事關孩子未來發展,確實馬虎不得。

爭論

隨著年歲漸長,高中同學微信群里面的討論也從奶粉代購變成了子女教育。

同學A是華爾街精英,大女兒已經六歲了。現在他每天都要操心女兒的教育問題。他主張培養孩子興趣,課余活動的選擇都按孩子自己的意愿來決定。

他的大女兒和幾個同學現在正在用樂高教育(Lego Education)旗下的一款產品Wedo 2.0學習編程。

同學A家附近華人比較多,這些家長就輪流帶著孩子們去博物館和科技館找靈感,然后指導孩子們在室內用Wedo來編程做設計。

家長里面藏龍臥虎,許多是名牌大學CS和EE專業畢業,指導孩子們編程得心應手。我這同學專業是會計和金融,不懂編程。每次他都多給孩子們帶些點心糖果,在一邊看著孩子們自己學自己玩兒,很沒有成就感。

受到這種激勵,他也想學點編程。我把自己的那篇《七周學會做搜索引擎》發給了他。他讀了好幾遍,覺得編程很值得學,MOOC太有用了,興奮得睡不好覺。

他問孩子們的編程該如何入門?我依然推薦了Python語言,但是使用的MOOC與成人的完全不同。

我倆在群里的交流引起了許多老同學一起參加討論,氣氛很熱烈。

旅居澳洲的同學B自稱科技民工,其實他畢業于國內某著名工科院校,絕對是專家級別。他覺得編程嘗試一下就好,不可以深入進去學。在他看來,編程的模式會固化孩子的思維,讓孩子不容易接受新的知識和技術。而編程語言、系統環境總是在變化的,小時候深入學了某一種編程語言,長大基本上都已過時,用不上了。因此學編程還不如學下棋,對孩子的思維更有啟發。

我倆不同的觀點引起同學們的熱烈討論,許多沒有IT背景的同學一時無所適從。

路徑

同學B和我的初衷都是為了孩子好。我們的主要分歧來源于對“學編程”的定義。

我們這些80后,基本上都是上了中學才擁有學習電腦的機會。教材都是先是從ENIAC開始講歷史。了解了一大堆看不見摸不著的體系結構、內存尋址方式之后,還得掌握各種數據結構。考試之前不得不去背誦冒泡排序、選擇排序和快速排序算法之間的差別。

上機的機會是很稀缺的。學校機房里面空調、地毯一應俱全,機器卻是早已過時的Apple II,里面只能敲點兒Basic語句。大部分人家里都沒有電腦,難得有機會自己編寫代碼解決感興趣的問題。

今天的孩子境遇可是完全不同。智能手機、筆記本電腦早已不再是奢侈品。孩子完全可以用自己的一二百塊壓歲錢或者零花錢買個 Raspberry PI 這樣的電腦芯片。計算機的構成根本無需再拆機介紹,一目了然。這種電腦芯片麻雀雖小五臟俱全。插個鍵盤、鼠標和顯示器,就是一臺全功能主機了。編程環境全都齊備,學習門檻極低。

我給孩子們推薦的Coursera平臺MOOC來自Rice大學,叫做"An Introduction to Interactive Programming in Python"。這門課不是讓你記誦排序的N種方法,也不要求你懂得級數求和公式,更不需要你會用遞歸方法寫漢諾塔解決方案。

這門課是教你用Python語言游戲!

教師是這幾位怪蜀黍。

他們為了這門課程專門設計了一個在線的程序編輯和運行環境。初學者最為頭疼的系統兼容性、程序下載安裝和版本依賴等問題在這里統統不會遇上。只要你打開課程提供的這個地址,就可以看到編輯器了。

左側你輸入Python語句,運行結果如果是文本,就會出現在右邊。如果調用了圖形界面,結果會出現在單獨的窗口中。

點擊Demo可以看到許多作品。不少都是這門課之前Coursera學員做出來的。

我們看看其中Steve Knock創作的Rice Racer。


編輯器左側就是普通的源代碼和說明文檔。游戲全部的要素都在這里。你可以深入進去了解程序運行機制,也可以隨意修改源碼讓它執行你想要的操作。點擊屏幕左上方的執行按鈕,你就可以在新窗口里面玩兒游戲了。


這游戲的畫面確實不如極品飛車做得精美。但是如果你的孩子學完課程,自己做出了這樣的游戲,你能想象出他/她和好友臉上興奮的表情嗎?

這個課是給編程零基礎的人準備的。不用擔心老師會快速嘟囔一堆讓你望而卻步的艱深專有名詞。課程深入淺出,老師會一步步教你Python語言的知識,每次課都能讓你掌握一個新技能,不斷給你的小游戲添磚加瓦。

學這課需要多長時間?因人而異。我班上曾有一個學工商管理的學生,之前毫無編程基礎。她在24小時之內就搞定了這門課的第一部分(課程共分為兩個部分)并且拿到證書。

這樣的編程課,你如何讓孩子淺嘗輒止?他們一旦上手,恐怕根本就停不下來,因為樂在其中。我不認為值得學習的必要技能可以通過蜻蜓點水的“嘗試”便能真正掌握。

能力

學會了編游戲有什么用?能保送嗎?高考能加分嗎?能保證將來找到好工作嗎?

咱別那么急功近利好不好?

記不記得幾年前曾經有一款深受大眾歡迎的游戲《憤怒的小鳥》?該款游戲霸占iTunes Store免費應用下載排行榜第一名很久。你知道它最終被誰趕下了冠軍位置嗎?

是這個當時年僅14歲的小伙子。

別的孩子都在瘋玩兒的時候,他一頭扎進圖書館,找書籍自學iOS程序設計,然后做了自己的一款免費游戲,叫做Bubble Ball。

游戲沒有什么花哨的界面,但是人們瘋狂地喜歡上了它。游戲上架才1個月的時間,下載數量就超過300萬。

有了這種深受大眾歡迎的好作品,名譽和財富會主動找上門來的。

游戲編程與其說只是一項技能,不如說是個催化劑。我們不妨來分析一下。

玩兒游戲的時候,規則是別人定的,你是消費者

一旦你開始編游戲,規則就是來定的,你變成了生產者

千萬不要小看這個微小的變化。從此之后,當你的孩子看到新的好游戲的時候,他/她獲得的就不只是興奮感,而是隨時都可以汲取營養,學習知識。別人傻玩兒的時候,他/她在考慮的是“這款游戲我能不能做?”“為什么作者要這樣設計規則?”以及最重要的“這款游戲為何受歡迎?”

這就是“外行看熱鬧,內行看門道”。

我們信息管理領域有所謂的“信息偶遇”,很多時候人們一直渴求的信息會突然自己找上門來。就像溢出的洗澡水之于阿基米德、落下的蘋果之于牛頓。

許多人以為這不過是純隨機事件,可遇不可求。但是首先你心里必須有疑惑和問題存在,然后才更有機會受到外界信息的啟發。如果你沒有思考過吸引力的事情,別說蘋果,就是被椰子砸了也照樣沒用。

能編出好游戲的孩子,肯定是具備優秀觀察力的。此外他/她還會在游戲制作中逐漸感受到和用戶的互動,會主動愿意了解美術、音樂、用戶界面設計和心理學的知識。

他/她可能會遭遇失敗,但這并不要緊。從不斷的迭代和改進中,他/她會逐漸明白所有的作品都不可能完美和一蹴而就。這樣的孩子,將來可以大概率擺脫“表現型人格”和拖延癥的困擾。

游戲越做越大,便需要與他人的協作。他會學習溝通,照顧他人的感受,以及積累管理經驗。

而且最好的消息是——作為家長,你根本不用去督促他/她,上述所有的知識獲取與能力習得全都可以靠興趣驅動,而且效果還比你照本宣科的勸導和說教要好得多。這就是興趣的威力。

比爾蓋茨上中學時積極幫學校設計座位分配系統,為什么?

為的是能夠和最漂亮的女生們坐在一起。

創造

談到這里,家長們應該不再擔心學編程對孩子知識和能力的“不良影響”了。下面我們來談談家長們可能最擔心的一個問題——小時候學編程會不會限制孩子們的創造力呢?

我們來看看他的例子。

他的外公是個大學統計學教授。因為眼花了,自己打字編程不方便,外公就把他抱在腿上,讓他替自己把草稿紙上面的統計程序代碼輸入計算機。那臺舊計算機是Commodore VIC-20,當時就已經不再是什么流行的型號。輸入的程序語言是Basic,現在的孩子連編程入門都不再會使用這樣的語言了。

但是他在外公的指導下學會了Basic語言后,開始編制自己的程序,而后觸類旁通,自學了匯編語言等其他編程語言。

上大學時他發現自己計算機上面安裝的操作系統用著不是很得心應手。而當時品質最好的操作系統Unix又太貴。

換做是你怎么辦?找盜版?

他的解決辦法是——自己做了個操作系統,還免費共享給了所有人。

你嗤之以鼻。這種手工作坊生產的山寨操作系統能好用嗎?怎么能和微軟的Windows比?別逗了!

如果你今天用的是安卓手機(基本上就是除了iPhone以外所有主流的智能手機品牌和型號),你在用他的系統。

如果你用過搜索引擎,你用過他的系統。

如果你用過電商平臺購物,你用過他的系統。

甚至連“根據偉大的指導者金正日同志多次蒞臨指導”,“獨立”研制而成的朝鮮操作系統,也不過是在他的系統上改了改界面而已。

如果他打算掙錢,僅這個操作系統的授權費就足以讓他早早當上億萬富翁。

他沒有要一分錢。

如果他愿意停下來,享受成功的榮譽。每天都出去做演講也能過上富足的生活。

他也沒有。因為他的創造力還遠沒有發揮完。

2005年,他又創造了Git。這東西能干什么請自行Google,但現在世界上最優秀的程序員們離開了這東西就無法協作。請自己腦補畫面。

他就是Linus Torvalds,IT領域大神級別的人物。

他就是從小學編程的。用當時就已過時的系統環境學了過氣的編程語言。

他長大后缺乏創造力嗎?

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容