自從建了xuanbamath這個(gè)公眾號,大部分人就默認(rèn)我是個(gè)數(shù)學(xué)教授,可事實(shí)上我是正宗的計(jì)算機(jī)教授,從本科到博士一直是計(jì)算機(jī)專業(yè),畢業(yè)后至今已經(jīng)從事了十幾年的計(jì)算機(jī)教學(xué)與科研工作。
前年,我參加了由全國高等學(xué)校計(jì)算機(jī)教育研究會提出的《青少年編程能力等級》系列團(tuán)體標(biāo)準(zhǔn)的制定,提了許多建議(比如扭轉(zhuǎn)重算法輕結(jié)構(gòu)的教學(xué)傾向等)并被采納,后來又給國內(nèi)大型編程機(jī)構(gòu)做過圖形化編程的課程評測,之后就有不少人咨詢我青少年編程的問題。今天,我就按自己的理解,并結(jié)合去年中國計(jì)算機(jī)大會關(guān)于青少年計(jì)算思維培養(yǎng)的專題研討(文中的PPT都來自于這個(gè)研討會),回答一下這幾個(gè)問題。
問題一:孩子要不要學(xué)編程?
其實(shí),這個(gè)問題我很難回答。家長在問這個(gè)問題的時(shí)候首先要想清楚讓孩子學(xué)編程的目的是什么?根據(jù)我的觀察,大致有三類:
盲目跟風(fēng)型。這類家長對編程基本沒什么了解,要么是看到身邊的孩子在學(xué)編程,要么是禁不住鋪天蓋地的廣告宣傳轟炸。他們讓孩子學(xué)編程的目的只有一個(gè):我的孩子不能比別的孩子差!如果家長是抱著這樣的心態(tài),那誰也拉不住。你讓他別學(xué),他還以為你懷揣不良居心。
對這類家長,需要了解一下編程教育的作用。下面這張PPT應(yīng)該能給出部分答案。編程其實(shí)不僅僅是寫代碼,更多的是對計(jì)算思維的培養(yǎng),特別是抽象、分析和解決問題的能力。
功利型。很多家長讓孩子學(xué)編程其實(shí)都帶有很強(qiáng)的功利性,即通過參加信息奧賽讓孩子獲得升學(xué)資格或加分。畢竟在很多地區(qū),信奧還屬于新興事物,分母比較小,孩子成功的概率相對較高。對于這類家長,其實(shí)他們心中已經(jīng)有了答案。問這個(gè)問題也就是希望得到肯定的答案。下圖給了長沙市小升初和初升高的現(xiàn)狀說明。
思維培養(yǎng)型。不少家長問編程對于培養(yǎng)孩子的邏輯思維有沒有幫助。作為一個(gè)計(jì)算機(jī)科班出身的,我的回答必須是可以,而且是非??梢浴5绻麅H僅是為了培養(yǎng)邏輯思維,那可選擇的載體有很多,棋類、數(shù)學(xué)、編程,甚至包括寫作,都可以培養(yǎng)孩子的邏輯思維,編程只是一種載體而已。關(guān)鍵還得看孩子的興趣和長處。一般而言,喜歡動手的男生會比較喜歡編程,相對而言,女生一般對編程的興趣要小一點(diǎn)。
但需要注意的是,與數(shù)學(xué)培訓(xùn)一樣,現(xiàn)在的編程培訓(xùn)也充滿了夸大和虛假宣傳。如果看到類似于“七天學(xué)會人工智能”、“小學(xué)學(xué)完網(wǎng)絡(luò)流”之類的宣傳,那一定要慎之又慎之。
問題二:什么時(shí)候?qū)W編程合適?
小學(xué)二年級之前,建議不要學(xué)編程,因?yàn)檫@個(gè)階段,孩子基本的邏輯思維都沒有建立?,F(xiàn)在鋪天蓋地的幼兒編程宣傳無非是各個(gè)機(jī)構(gòu)向下?lián)屔吹氖袌霾呗浴?/p>
但與奧數(shù)一樣,在商業(yè)資本的驅(qū)使下,編程培訓(xùn)的低齡化發(fā)展趨勢非常迅猛。不過有一個(gè)現(xiàn)象值得關(guān)注:頂級選手的培養(yǎng)與起步時(shí)間無明顯相關(guān)性??梢钥吹剑系氖£?duì)成員中有一大部分是初中以后才開始接觸編程的。這個(gè)結(jié)論其實(shí)與奧數(shù)也有類似之處。我一直強(qiáng)調(diào)的是,在合適的時(shí)間做合適的事,可以起到事半功倍的作用。
小學(xué)三四年級,有條件的可以接觸一下圖形化編程。我知道有些地區(qū)的小學(xué)信息課里已經(jīng)加入了圖形化編程的內(nèi)容,但課時(shí)比較少。圖形化編程能讓孩子初步理解計(jì)算機(jī)程序是怎么工作的,并初步培養(yǎng)孩子的計(jì)算思維,更重要的是所見即所得的方式容易讓孩子對編程產(chǎn)生興趣。
如果孩子確實(shí)對編程感興趣,那五年級以后,就可以開始純代碼的編程了。這個(gè)階段,這一部分孩子的邏輯和數(shù)學(xué)基礎(chǔ)應(yīng)能支撐他們對程序邏輯的把握。
問題三:應(yīng)該學(xué)什么編程語言?
如果是要走這信息奧賽這條路,那C++是必須的。其實(shí)為應(yīng)付競賽所學(xué)的C++,只是一點(diǎn)最基本的過程性語言的語法,面向?qū)ο蟮牟糠只静簧婕啊?/p>
而如果不想走競賽路線,只是希望孩子能接觸一下編程,學(xué)習(xí)計(jì)算的思維,并期待很快見到編程的成果,那Python是不錯(cuò)的選擇。
當(dāng)然,如果要對計(jì)算機(jī)體系結(jié)構(gòu)有比較深入的了解,立志于以后當(dāng)系統(tǒng)程序員,那C語言是最好的選擇。
問題四:學(xué)奧數(shù)好還是學(xué)編程好?
有不少家長糾結(jié),到底是該學(xué)奧數(shù)還是學(xué)編程。其實(shí)這歸根結(jié)底是個(gè)實(shí)用主義問題:到底是學(xué)奧數(shù)還是學(xué)編程更容易達(dá)到家長期望的目標(biāo)?
這么說吧,兩者都不容易。目前來看,信奧在優(yōu)錄方面更容易一點(diǎn),但要最終進(jìn)入國家集訓(xùn)隊(duì)達(dá)到免試入清北的目標(biāo)也非常難。雖然目前看,信奧的分母小一些,但我預(yù)計(jì),這其中存在的投機(jī)機(jī)會會讓這個(gè)分母在未來幾年迅速變大。
有些相對理性的家長擔(dān)心學(xué)信奧的風(fēng)險(xiǎn)。奧數(shù)如果學(xué)不好沒達(dá)到升學(xué)的目標(biāo),至少對中高考的數(shù)學(xué)是有幫助的。但是,如果學(xué)信奧最后沒有達(dá)成升學(xué)的目標(biāo),家長就會認(rèn)為付出全都泡湯了。從升學(xué)的角度看,確實(shí)是這樣。學(xué)信奧對中高考數(shù)學(xué)的幫助可以說微乎其微,甚至?xí)驗(yàn)檎加昧舜罅康臅r(shí)間而起到負(fù)面作用。但如果孩子確實(shí)喜歡編程,那么大學(xué)以后,之前的所學(xué)就會發(fā)揮作用。而反觀奧數(shù),除了雞娃,很可能在以后的學(xué)習(xí)和工作中就用處不大了。
記得有個(gè)家長說自己家娃高一,非常喜歡編程,立志以后要當(dāng)一名優(yōu)秀的程序員。但考了幾次,距離省隊(duì)的門檻還是有一段距離,問我該怎么辦?我的建議是可以再給他一個(gè)學(xué)期的機(jī)會,如果還不行,那就把這個(gè)興趣愛好暫時(shí)先放一放,等考上理想的大學(xué)后再充分釋放自己的能量。這其實(shí)也是一種折中和無奈之舉。我們要尊重理想,也需要在理想和現(xiàn)實(shí)之間做好平衡,這并不容易。
數(shù)學(xué)培訓(xùn)歷史比較悠久,各大機(jī)構(gòu)一般都對普通校內(nèi)提升和奧數(shù)做了明確的班型區(qū)分。而編程培訓(xùn)市場發(fā)展時(shí)間短,在這方面還不完善。現(xiàn)在的許多家長談到編程就會跟信奧掛鉤,一方面是家長的功利性驅(qū)使,另一方面則是市場并沒有將編程普及教育和信奧有效脫鉤。但與奧數(shù)一樣,適合信息奧賽的永遠(yuǎn)只是那么一小部分人,家長不要期望過高。
對于編程普及教育存在的問題,研討會上也進(jìn)行了很好的總結(jié)。其中,與數(shù)學(xué)培訓(xùn)類似,超前教育與師資缺乏的問題是教學(xué)本身中極為嚴(yán)重的問題,而且這兩個(gè)問題比數(shù)學(xué)培訓(xùn)市場更為嚴(yán)重。
公眾號xuanbamath創(chuàng)立四周年,為大家精選了12篇必讀文章。
一個(gè)數(shù)學(xué)學(xué)霸爸爸輔導(dǎo)孩子的心路歷程
是什么樣的教育,竟要讓我們的孩子以命相搏?
奧數(shù)冠軍教你如何解題(付費(fèi)閱讀,買一贈一)
講座視頻:怎樣在生活中引導(dǎo)孩子進(jìn)行數(shù)學(xué)思考?
為什么飛機(jī)的往返飛行時(shí)間不同?
古詩詞中的數(shù)學(xué)
孤獨(dú)而高冷的素?cái)?shù)
原來,毀掉一個(gè)孩子的深入思考這么容易!
沒有葫蘆也要會畫瓢, 說說我的奧數(shù)啟蒙經(jīng)歷
少兒編程,我這樣教
11.計(jì)劃教育下的數(shù)學(xué)教育之怪狀
12.李國杰院士作序推薦高考滿分獲得者新書《給孩子的數(shù)學(xué)思維課》