所謂“不輸在起跑線上”,并不是要逼著孩子3歲就學編程,而是家長心態(tài)要轉變:不要一看到孩子上網(wǎng)或玩游戲就認定是“不務正業(yè)”。
今年母親節(jié)的時候,同學們都在苦惱給媽媽送什么禮物,我有個學生很神秘地說,他要送媽媽一件“很特別的禮物”。后來,他媽媽收到禮物時,很是感動,眼淚就要掉下來了。
▋ 為兒子編程做出的賀卡熱淚盈眶
這是一件什么禮物呢。一張賀卡。賀卡本身聽起來沒什么特別,但卻是孩子通過編程制作出來的。非常有創(chuàng)意。他是怎么做的呢?——在一個界面上,寫Happy Mum Day,點擊這句話的每個字母,都能對應彈出來另一個字母,比如點擊H,就會出來I,點擊A,就會出來L……最后,這句話變成了I love you and wish you happy everyday!把他媽媽感動壞了。
這個創(chuàng)造驚喜的過程,其實有很多步驟,我列了一下:
第一步,需要思考。思考一下,這個賀卡的內容是什么樣子的,賀卡需要音樂嗎?需要圖片嗎?是一個故事還是簡簡單單的一句什么話?……這個思考的過程,其實是訓練他們提問,讓他們非常明確地思考自己需要解決的問題是什么。
第二步,當他想好需要做什么內容的時候,他需要去收集一些素材,有許多同學就會在互聯(lián)網(wǎng)上搜索相應的背景,相應的音樂,包括電子課堂上的一些人物吧,這其實鍛煉的是資料檢索的能力;
第三步,當所有資料收集完成之后,他們就開始編寫程序,把收集到的各種素材整合在一起,在整合的過程中需要考慮各種素材的邏輯關系,這個過程可以鍛煉孩子的邏輯思維能力;
第四步,有的孩子在創(chuàng)造的時候會不斷迭代改進,這個時候,他需要和老師、同伴交流、反饋,其實是鍛煉了溝通能力;
第五步,當作品完成之后,他要送給自己的媽媽,或者是通過媽媽分享到朋友圈去,和其他的朋友在朋友圈里面進行交流,這鍛煉他社交的能力。
哈佛大學曾經(jīng)總結21世紀人才的基本素養(yǎng),包括批判性思維、創(chuàng)造性思維、溝通力、全球化視野、發(fā)現(xiàn)問題的能力……還有利用互聯(lián)網(wǎng)自學的能力。
充分利用互聯(lián)網(wǎng),自主獲取、篩選學習資源的能力,對孩子們的要求其實更高,學習編程恰好打開了一個口。做一個編程作業(yè),其實就把這些能力綜合訓練了一遍。
▋玩編程是治“網(wǎng)蟲”的一劑良藥
從2012年開始教孩子編程,我接觸到的孩子沒有哪一個是不愛玩電子產品的,其中有一些甚至可以說是“網(wǎng)蟲”。家長一般會怎么做呢?嚴格控制孩子接觸電腦的時間啦,給電腦設置密碼啦,或者高級一點的,讓電腦過多長時間關一次機啦……但最后的結果,都是控制不?。ㄏ嚓P文章《從九歲就愛玩游戲,我為什么沒變壞?》)。
其實退一步來講,現(xiàn)在電子產品這么豐富,強迫孩子不去玩游戲根本就不可能,我們也得想一下,為什么他們喜歡玩游戲?好奇心嘛,孩子們都喜歡新鮮事物,玩游戲能滿足他們的探索欲和成就感。而編程,能夠帶孩子去探索游戲里面的機制,讓游戲不那么神秘。
美國總統(tǒng)奧巴馬非常鼓勵孩子學編程,他曾經(jīng)說“玩游戲,不如做游戲”,我覺得特別有道理。如果你讓孩子用編程做一個游戲,那他的重點可不再是玩游戲了,他只會想著怎么讓更多同學來玩他做的游戲。這個時候,只要家長適當引導,孩子能對學習產生更多興趣。
我的一個學生Jason,是一個資深游戲迷。我們就教他用編程寫游戲,他就上癮了,天天琢磨怎么做一個好玩的游戲,后來他做的那個游戲上架了,有2000多個人玩,他就特別有成就感。后來,他又做了一件事情,讓我和他的父母都特別驚喜——他在網(wǎng)上錄了個教學視頻,告訴大家應該怎么編寫一個好玩的游戲,影響了很多同學,其中有一個照著做,一共修改了8次才推出來,過程中,每一次修改他都要拉著身邊的同學聊天,一下子就變得主動起來了,表達力也很快得到了提升。
所以說,通過編程可以讓孩子從一個被動的游戲玩家,從很不喜歡學習、不懂學習變成主動的創(chuàng)造者,創(chuàng)造自己的游戲,如果家長引導得好,甚至是可以成為一個主動的學習者,能夠在學習的其他方面得到很好的鍛煉。
▋夢想推翻哥德巴赫猜想的小程序員
是的,編程能夠很好地幫助到孩子其他學科的學習。還是拿我的一個學生舉例,小張,他從很久以前開始上奧數(shù)班,有一次他和我分享了他一個有趣的發(fā)現(xiàn)——一個小程序員編了一個程序,能破解哥德巴赫猜想,就是在程序里,任意輸入一個大于2的偶數(shù),計算機就能自動把它分解成兩個質數(shù)之和。
小張就說他特別受啟發(fā),他也想做一個程序,不用靠自己的小腦袋一個偶數(shù)、一個偶數(shù)去驗證,而是用程序找到一個“不能分解成兩個質數(shù)之和的”偶數(shù),那他不就把哥德巴赫猜想給推翻了嗎?那他不就是數(shù)學界的大牛人了嗎?然后他那天晚上就一直在琢磨,做了個程序一直運行,那結果肯定是沒找到啦,不過他對這個猜想有了更深層次的理解,我想他一輩子也不會忘記這個猜想。
還有一個姓黃的同學,他特別喜歡琢磨那些高科技硬件,比如谷歌無人駕駛汽車,其實就是編程和硬件的結合,他學編程的目的,就是要自己做一輛無人駕駛汽車。要做無人駕駛汽車是要用到非常多的傳感器的,這里面需要非常多物理知識,他現(xiàn)在才讀初二,知識儲備遠遠不夠,他怎么做呢?
(黃同學畫的圖紙和制作的底盤)
問老師,上網(wǎng)搜資料自學,自己上網(wǎng)買小車底盤……買了底盤他又發(fā)現(xiàn),這個底盤不完全符合他的要求,要進行一些適應性的修改,他就自己畫圖紙,然后再接著動手制作這個底盤……然后裁減,底盤放電池……最后他真的寫了個程序,實現(xiàn)了這輛小車的自動運行——小車遇到障礙物會自動停下來,或者轉彎,避開這個障礙物,非常好。
他的主動性讓我很有感觸。很多家長會問,學編程好像沒什么實際用途呀,這就是最大的好處了——它讓孩子主動去發(fā)現(xiàn)問題并且解決問題。
▋推薦一些編程工具給各年齡段的孩子
喬布斯有一句話我很喜歡,是Everybody in this country should learn to program a computer,because it teaches you how to think,它能澄清一些現(xiàn)在編程學習一個最常見的誤區(qū),很多人以為學編程就是學寫代碼,高深又不實用,其實,編程是讓孩子學會思考的一個非常有用的方式,男同學、女同學都可以學。
現(xiàn)在很多歐美中小學已經(jīng)把編程課列為必修課了,國內相信也會很快跟上,到時候,編程,不就和閱讀、英文這些學科一樣了嗎?都是孩子必備的一種素養(yǎng)。