【專家訪談】聽余老師講編程

“編程是什么?編程課學什么?學習編程對于孩子將來的發(fā)展有什么作用?……”關于編程學習,您是不是也有諸如此類的疑問?一起來聽一聽深耕編程教學多年的專家老師的解答吧!




幾歲的孩子可以開始學習編程了?學習編程需要具備哪些基礎的能力呢?
余老師:我們現(xiàn)在針對小學生的編程課已經(jīng)是蠻抽象的,所以里面會使用到很多的數(shù)學計算。從這個角度看,就是小學生應該具備基本的算術能力再開始編程才是比較合適的。加減乘除啊這些觀念都比較熟練,通常是三年級開始。如果太小的孩子想要學的話,那建議讓老師來測試一下。就是說有的孩子年齡雖然小,但是數(shù)學方面的抽象思維能力都已經(jīng)具備了,那么早一點開始也是可以的。如果是幼兒園學前班的同學要學習編程,建議使用那些面向低齡孩子的編程工具。這些編程工具沒有文字,也不會有一些抽象的數(shù)學觀念,它有的都是一些圖形,比如說循環(huán)它就畫一個圓圈,上面有一個箭頭就表示會轉(zhuǎn)圈圈。我知道像美國麻省理工學院就有這樣的編程工具,叫Scratch Junior,專門面對這樣的孩子。
什么樣的孩子比較適合學編程?
余老師:所有的孩子都適合。如果說家長意識到了編程學習的意義,我相信他會同意我的。因為編程它其實是一種語言,它叫Programming Language。我們每一個孩子在基礎教育階段,最核心的就是要掌握人類的抽象的思維方式。所以經(jīng)過上千年的不停地篩選,為什么是語文占據(jù)了最核心的地位,因為所有的教育者都認識到,讓孩子能夠用語言文字去思考這個世界上的萬事萬物,這是他最基本的能力。這個能力使得他以后就可以做更復雜的事情,第一個Language就是我們的母語。第二個Language就是數(shù)學語言。如果這個孩子以后要學習科學,最典型的就是物理,如果你想學習物理,那你要知道物理核心的那些規(guī)律,它不是通過自然語言來描述的,而是通過一些數(shù)學的公式。因為自然語言實在是太啰嗦了,它想表達那些規(guī)律表達不清楚,所以我們才有現(xiàn)代的這些數(shù)學符號。為了表達精美的科學思想,所以你要掌握數(shù)學的這些語言。
那么第三個階段就到了,Programming Language就第三種語言。如果你要真正理解我們現(xiàn)在身處的這個人工智能時代,所有的事情是怎么在運轉(zhuǎn),那你就得對這個語言有基礎。這是為了孩子們能夠適應我們這個時代的基礎教育,所以這種編程語言每個孩子都應該要學。
編程學習主要有哪些內(nèi)容?
余老師:編程課從各個國家的教學大綱來看,最核心的內(nèi)容我把它歸納為兩點。一是在貫穿整個課程的教育過程中,要講明白什么是信息。這個詞非常抽象,你把這個問題拋給一個成年人,你問他什么是信息,很多人會懵的。雖然說他一直在用這個詞,但是他用而不知。我們就是要把這個信息是什么,通過這個課慢慢地展現(xiàn)給孩子。第二就是能夠把信息進行各種加工處理,最后用于決策。我們知道我們的大腦就是干這個事。我們的大腦就是通過把各種各樣的信息通過眼睛、耳朵接收了很多的信息傳進去,然后經(jīng)過處理,最后來指揮我們的胳膊和腿。所以說這個事情也是我們現(xiàn)在身處的這個人工智能時代,我們最先進的那些科技工業(yè)在努力解決的問題。那么編程課教育的核心就是要讓孩子們學到的信息是什么,怎么處理它。
學習編程對孩子智力開發(fā)有哪些好處?
余老師:我們?nèi)祟惖闹橇﹄S著人類的進化在不斷地進步,后來終于到達了一個階段:就是我們?nèi)祟惪梢酝ㄟ^自己的“魔法咒語”,召喚出十億個精靈替你工作。那這個是在說什么呢,就在說軟件工程師的這些工作,當他們寫出一些代碼的時候,計算機里面數(shù)十億個晶體管協(xié)同工作,一絲不差地完成他指定的目標,這是我們?nèi)祟愡^去難以想象的一種魔法。那么它是智力嗎?我認為它是最高級的智力。所以說學習編程絕對是最能夠促進孩子智力發(fā)展的一項學習活動。
機器人和編程學習有些什么差別?
余老師:差別還是蠻大的,因為簡單的機器人它是訓練孩子們的手眼協(xié)調(diào)能力,也包括空間的想象能力。但是它還沒有延伸到對于一些抽象符號的處理。二者的差別可以用一個具體的實例來說明一下。
就下圍棋這個事,有兩個孩子,一個孩子呢可能是學機器人的,另外一個孩子呢是學編程,那么他們分別解決什么任務呢?學編程的孩子負責解決這個人工智能AI要把那個子落在哪一個交叉點上,一共有361個交叉點,哪一個點是最有殺傷力的,這個事是要由編程的孩子來解決。他要通過復雜的信息處理,相當于有一個復雜的大腦做各種各樣的分析,最后說第二行第三列的這個格子是最佳的。做機器人的這個孩子他可以做一個機器人,這個機器人呢有一個小抓手,馬達控制它,它會伸到這個放棋子的盒子里,把這個棋子抓起來,然后將這個機械手移動到編程的孩子算出來的那個坐標位置上,然后放開把它放下去,所以你看二者的區(qū)別是什么?一個人解決了核心的計算,把需要的答案算出來了,另一個人用一個比較簡單的機械手來完成落子,所以我覺得二者的難度從本質(zhì)上看差別還是蠻大的。
一般年齡小一點的孩子我建議可以做機器人的學習,但通常如果到了三四年級的時候,很多孩子就不滿足于那種智力活動了,他需要更加復雜的智力活動才能夠激勵他成長。
孩子會不會因為學編程迷上了打游戲?
余老師:有很多孩子是因為愛打游戲走入了編程的世界,但是我從來都沒有見過一個孩子,特別熱愛編程,最后迷上了打游戲就不編程了。這種反向的例子,我一個都沒有看見過。因為玩游戲是一種低智商運動,它對智力的挑戰(zhàn)是很弱的,它是一種可能讓你很放松,有點快感的低智力活動。如果一個人的智力活動,提升到了一種更復雜的水平,就是他喜歡享受一種更復雜的智力活動,你讓他還原到低級的過程上面去是不可能的。那么我們需要做的是什么呢?我們就是讓那些沉迷于簡單快感的孩子,給他提升到一種創(chuàng)造性的活動中去。就比如有一些孩子愛看武俠小說,一本一本地看。那些武俠小說可能就不斷地在重復同樣的套路,但是他還是會一本一本地看,他就要享受那些武功高強段落的快樂。但是如果一個孩子愛上了寫作呢,他的視角就變了,他會說哎呀你這個寫得太爛了,我們的故事發(fā)展不應該是這樣的,這個線索是混亂的。如果他是經(jīng)常做這樣的思考的孩子,他是不會退化到看那些特別簡單的武俠小說的,他會有一種批判的眼光,他會有一種創(chuàng)造的能力。那么編程就是這樣,我們學編程的孩子會做一些游戲讓那些愛打游戲的孩子去打,說“你們玩吧我給你做一個好玩的”,就會有那種創(chuàng)造者的驕傲,成就感就會慢慢地成長出來,所以二者差別我覺得還是很大的。
沉迷于網(wǎng)絡游戲的孩子學習編程,是不是有可能改變這種情況?
余老師:這是一個非常讓家長痛苦的事,就是沉迷游戲。我碰到過,我在教編程課的時候,有一個媽媽就專門找來了。我認為如果家長介入時間比較晚,通過學習編程就想讓孩子放棄沉迷游戲,可能很難達到這個效果。因為編程其實是一種特別復雜的智力活動,那么這個孩子沉迷游戲,他一定也不太會喜歡數(shù)學,那種復雜的智力活動他是排斥的,如果這個孩子已經(jīng)到沉迷游戲的階段呢,我覺得可能要需要心理咨詢師來介入了,通過一種方式調(diào)整他,甚至隔絕電子產(chǎn)品啊,就是你要有個專業(yè)的一個修正過程。但是很多的家長的判斷是不對的,就是說沉迷其實是一種病態(tài),很多孩子只是喜歡。你說哪個孩子會不喜歡游戲呢,很多三四年級孩子都喜歡游戲,那個時候還不叫沉迷。我覺得沉迷基本上要到什么情況就病態(tài)了呢,就是嚴重的影響了他的生活,比如說他不睡覺了,晚上可能熬夜弄,功課全都不弄了,完全沒興趣,只對這個事感興趣。身體可能也有點病癥,因為他不好好吃不好好睡嘛,身體可能有些病癥,這就叫做沉迷了。但是一個孩子只是喜歡玩一種游戲,你就說他沉迷,那我覺得就不對,他是好奇心。這個時候是要做一個恰當?shù)囊龑?/span>。所以我要把這個問題呢分成兩段來說,如果你們家的孩子只是年齡比較小,充滿好奇心的這個階段,他正在對游戲感興趣,這個時候你一定要介入,早一點介入。你跟他說啊,有一種更好玩的游戲叫編程,它能做出來特別炫的游戲,這個就是一個特別正向的引導。當他上了這條道,他沉迷游戲的可能性幾乎為零。就是一個孩子已經(jīng)成為一個優(yōu)秀的導演,他還會天天去看那些下三濫的片子嗎?早一點幫助孩子能夠達到比較好的效果。
孩子長大以后也不打算從事電腦程序方面的工作,是不是就沒有必要學編程了?
余老師:這個問題很多的時候是來自于一些從事專業(yè)工作的家長。我就碰到過一個爸爸,他就是做專業(yè)軟件工程師的。他說哎呀我大學里面學了這么多編程語言后來工作也沒派什么用場,還讓我的孩子學,為什么要學,還不如學點有用的。那么我就問他一個問題:沒派上什么用場,那你怎么能夠成為軟件工程師呢?我說前兩天也有一個家長,他是在一個廣告公司寫軟文的,他說我天天寫這些軟文真沒意思,我以后不讓我的孩子學中文了,不讓他認字,那你覺得他說的對嗎?的確,他現(xiàn)在用的一些學到的文學知識,做的事他可能覺得很低級,那是不是說就讓孩子不要學中文呢?這完全是兩回事。你的孩子他具備了這個能力,他以后的工作選擇面還是很大的,不一定從事跟你現(xiàn)在一樣的工作。比如說現(xiàn)代社會你想作為一名的藝術家,你完全不懂人工智能,你怎么能夠創(chuàng)造出來跟這個人工智能時代合拍的藝術作品呢?你可能只是創(chuàng)造很古典的藝術作品,只能反映農(nóng)業(yè)時代的人類精神生活了。你怎么知道現(xiàn)在人工智能時代的這些人類精神生活有一些什么特質(zhì)呢?所以說對于中小學生編程語言的學習,跟未來的職業(yè)并沒有直接的聯(lián)系。就像你學中文,你一定以后是寫軟文的嗎?不是啊,你學好中文你做的所有工作都需要。那么去掌握編程語言也是一樣的啊,他幫助孩子建立了一種全新的世界觀,對我們這個世界能做深入的了解,他以后可以去做法官,也可以做企業(yè)家,但是這個時代的基礎能力要給孩子。
數(shù)學不好還能學編程嗎?
余老師:其實我當時教編程的一個動機,就是要激發(fā)孩子的數(shù)學興趣。就是我早年剛剛開始教編程的時候,有幾個孩子會認為數(shù)學好玩?我認為一個班里面40個孩子,可能只有5個認為數(shù)學好好玩,這個推理過程好有趣啊。大多數(shù)孩子都認為很無聊,就是你非要讓我算我就算,但是他的心思不在這。那么這種狀態(tài)下他學不好的,因為他不聚焦于這件事情上。但是在編程的世界里面呢,你要控制一個怪物,從一個地堡走到另外一個地堡,你就發(fā)現(xiàn)你必須要有精確的計算,你加的數(shù)據(jù)不對他就走偏了,這個時候你就發(fā)現(xiàn)加對了很重要。所以你看孩子小的時候,如果你有機會讓他去使用這些數(shù)學,他自然會喜歡啊,他發(fā)現(xiàn)有用??!那么他用的越多就越熟練啊,他的計算就越敏銳啊。那我們以前班里面就有一個孩子,他的那個小學考數(shù)學總是錯一點,永遠沒有得過100分啊。他媽媽就很頭疼,因為班里面其實100分的孩子還是不少的,那么就跟他說你能不能細心一點,他說哎呀我已經(jīng)很細心了,然后說我知道了,但下次還是忘記,那么就是你沒有給他一個機會去訓練。后來他玩編程,他一寫錯,就發(fā)現(xiàn)這個怪物又走偏了。那他不想讓怪物走偏對吧,他就說哦我得小心一點,我得算對5+6=11啊,走11步。那么這個事弄啊弄啊弄,弄久了嘛他的計算就越來越敏銳了,后來就考100分啊。那個孩子才不到三年級二年級吧,年齡比較小的就是加減法這些事,所以你看這個數(shù)學不好的孩子,要不要學編程。我說學編程其實就是想達到這個效果,讓你的孩子對數(shù)學產(chǎn)生興趣。當然對于那些學數(shù)學好的孩子,他會更加地熱愛數(shù)學,因為他發(fā)現(xiàn)數(shù)學不僅是做題的時候有快樂,它還有這么大的威力。編程是一個超級的數(shù)學實驗室,孩子可以把數(shù)學放進去做各種各樣的實驗,會越來越喜歡,學霸就是這么造就的。
孩子年齡偏大了學編程會不會太晚?
余老師:學習是任何時間都不晚的,我們在六十年代的時候,當時說解決文盲的問題,然后那個農(nóng)村里面的那些幾十歲的大人都要來學習中文,那你說你太大了還要不要學習中文???當然需要啊,當時很多孩子還當老師教爸爸媽媽。那現(xiàn)在也是這樣的,很多中學生學編程不晚,大學生學編程也不晚,甚至很多成年人學編程也不晚。那我就知道美國的NASA宇航局,它有很多工程師。因為編程也是在八十年代后期才開始成為大學的一個專業(yè)課,年齡更大一點的一些工程師也不會編程。雖然他可能是另外領域很強的工程師,但是現(xiàn)在因為編程滲透到所有的領域,他就要理解這個事,所以他就來學,所以很多學習的成年人都五六十歲了。我父親學編程時也已經(jīng)五十歲了,他后來在一些大學里面給人家教編程,他是后來學的。這個編程課我認為能夠?qū)τ诤芏喑赡耆说膶I(yè)起到好的影響,所以都不晚的。
編程學習的規(guī)劃方向是怎么樣的?能提升哪些方面的能力?
余老師:首先是說編程它是一個核心的課程,在小學階段,語文數(shù)學現(xiàn)在是必修課,我認為如果說一百年內(nèi)還會有一門必修課出現(xiàn)的話,應該是掌握編程語言,它是孩子智力發(fā)展的一個核心的東西。接著說它對于其他學科的促進,就是如果一個孩子,能夠靈活地運用編程語言去解決問題,那說明他的抽象思維能力真的是達到一個很高級的階段。那么在這個過程中,他需要完成數(shù)學的建模,就是一個現(xiàn)實的問題。比如說打車軟件,過去打車很難,我們希望有一個東西來幫我們。如果你懂得編程,你會怎么做呢?你首先要建立一個數(shù)學模型,要把整個上海地圖坐標都輸入到計算機里面去,然后每一輛車的坐標也要實時地進入到這個系統(tǒng),然后計算機就快速地算,進行匹配,把顧客跟這個車輛進行匹配。幾十萬的車,幾十萬的顧客,怎么樣能快速地合理地匹配呢?這就是一個程序要解決的問題。那么在這個過程中,顯然你想孩子發(fā)展出來的能力,是把他所有學到的學科綜合起來的一個能力。你沒有數(shù)學能力你怎么能夠建立模型呢?你建立了模型你才能算啊。所以說學習了編程之后能對他的主科有一個極大的促進作用。尤其是理科像數(shù)學呀物理呀這些科目。物理這樣的科目很抽象,很多孩子學不好,因為你根本就沒有機會做實驗。哪個孩子做過拋物線的實驗?。繘]有,就是翻翻課本。如果你有機會做呢,你會覺得這個事就有趣了啊。其實我們用計算機來做這些物理實驗是非常容易的,他們修改各種各樣的參數(shù),觀察那個變化。所以你看當你掌握了編程后,它就是一個強大的工具。它能促使你學好你在學校的其他科目,我覺得這是它一個極為重要的價值。那么當然從編程本身來說它也有一個升學的價值。我們中國就有一些很重要的比賽,比如說像中國計算機協(xié)會辦的像信息學奧賽這樣的。那么如果說孩子的能力很強,就可以去參加競賽。我認為可能大多數(shù)的孩子達不到這樣的水平,雖然說他學了編程能夠促進他學校學科的成長,能達到這個效果,但是能夠達到競賽水平的只是一小部分孩子。但是我想說一下這個點,就是有一定比例的孩子可以通過這個高水平的比賽,對他的升學有極大的促進作用,那這個點就說到這就可以了,我相信家長能聽明白,不管是中考還是高考都會有促進作用,很多學校是要求這個東西。
學到什么程度能參加競賽?有沒有不同難度級別的競賽?
余老師:的確有很多不同難度的比賽,比如說比較有名的,有中國電子學會的一些比賽。然后呢有藍橋杯,然后就是中國計算機協(xié)會的信息學奧賽,那就難度比較大一點。孩子在每一個階段都能夠找到一些比賽,去提升他的興趣吧。因為孩子有的時候也需要一些激勵嘛。年齡小一點的時候?qū)W習圖形化編程就可以參加一下電子學會或者藍橋杯的比賽,叫Scratch圖形化編程的一些比賽,但是一年我覺得這種比賽選擇一個就夠了,不要參加很多。這些比賽我覺得家長慎重選擇,就是有的家長太在乎比賽了,其實比賽太多會打亂孩子的學習節(jié)奏,因為你總是要去針對這個比賽做訓練,那么你就會脫離開一個正常的教學計劃。如果說你是在意孩子一個長期發(fā)展的話,你要有個長期規(guī)劃,把他的時間都用到值得的地方,不要去迎合很多的比賽,最后你可能整個學習不夠系統(tǒng)。有很多比賽每個階段都有,慎重選擇能夠達到好的效果。
有沒有帶過的學生有這方面成功經(jīng)驗的?
余老師:很多,因為他們的比賽難度并不是很大的,只要你把它的往屆的那些真題多做幾套,如果你的孩子之前有一個系統(tǒng)的學習,然后你再針對這個比賽的題型做一個訓練,基本上都能拿一些獎。差一點二等獎三等獎,一等獎都有很多,一大批孩子,但是相對來說我更看重那個高難度的那個比賽。如果從教育的角度來說我更看重高考吧,我最后是希望你在那個階段能夠綻放,那么你前面都要有很長階段的鋪墊。信息學奧賽我們也有孩子進入到國家集訓隊,被清華大學在高二就保送進去,也有這樣的孩子。但是我想這個事情因為它難度很大,可能很多家長不是太了解這個比賽,它跟數(shù)學奧林匹克競賽難度是一樣的,那么你想有幾個孩子能參加數(shù)學奧林匹克競賽?在高中階段能拿到獎那還是比較少的。所以這個事情前期要很耐心,小學階段的興趣培養(yǎng)使得他這個根比較深,他對編程的興趣是很濃厚的,然后慢慢慢慢使得他能力提升上去。我覺得家長要有一個長期主義的觀點來看待這個事情,不要說孩子都高一了來找我,馬上沖一沖拿個比賽,我不是神仙,我覺得我沒有這個能力。編程之前完全沒有基礎,然后現(xiàn)在就要沖一下就拿一個高難度的信息學奧賽的一等獎,沒有這個可能性。那你數(shù)學學了多少年,你為了拿一個數(shù)學的奧林匹克獎從一年級就開始學。比如說你英語拿獎你要學多少年?如果一個孩子說我高一了,我沒有聽說過英語,我現(xiàn)在馬上就要沖一沖,我要拿一個英語的演講比賽大獎啊,你想有幾個老師有這個能力呢?所以一定要堅持長期主義觀點,編程學習是非常系統(tǒng)的,它是一個非常大的體系,要特別嚴肅地認真地來看待它,不要把它當成是一個小玩意兒,它不是。
比賽對升學有加分的幫助嗎?
余老師:如果是小升初的話,可能其他比賽都有作用。就是一些初中學校他們也看,你就說你是科技特長,那比如說你做個機器人什么的他也認可,當然如果說你是有編程比如說藍橋杯啊,或者是電子學會一些比賽證書,也可以說明問題。但是這些證書因為現(xiàn)在社會上很多,小升初這個標準還放得寬一點,越往上它的標準就拉得越高,那到高考的時候那可能很多證書都不太看重了。就我知道的在編程領域,在高考階段基本上只有信息學奧賽才會有說服力,其他的比賽可能不是太有說服力。那么這個編程比賽到大學還是有的,大學有ACM。那么這個如果你在大學階段編程比賽拿獎會有什么用嗎?有用啊,像騰訊阿里,他們來學校里招人。你說我大學期間參加這個ACM拿過獎,第一輪免試直接進入第二輪,很看重這個的,還有面向成人工程師的編程比賽。從小學初中高中大學一直到你成年都有很多比賽。
學編程到了一定的程度后,可能會有一些畏難抵觸的情緒。如何能夠提高孩子的學習興趣?鼓勵繼續(xù)堅持。
余老師:特別反面的就是拔苗助長,如果你把一個小苗使勁往上拔,他大概率在兩年之后就要斷掉,他就不想弄這個事了,那是為什么呢?他興趣的根扎得不深啊,他對這個事沒有那么大的興趣,只是你推著他走。哎呀小升初了你去努把力,哎呀馬上中考了,他就這么被你推著走,他都不知道這個事情本身有什么巨大的樂趣,有什么巨大的意義,他完全沒感覺到,這樣就是失敗了啊。因為最近也有很多人說到這個,一些最好的學校學生退學的事。比如說你到了清華北大,有沒有孩子退學?有,他們厭學很嚴重啊,尤其是一些基礎學科,數(shù)學學到后頭發(fā)現(xiàn)原來這么難啊。是,你以為進了北大算什么,你才剛開始呢,數(shù)學的大門原來這么浩瀚。如果沒有那么大的興趣,一開始只是被家長推著往前跑,然后一下就厭學了,那你說你這樣對孩子好嗎?他有很強的挫敗感,所以說我覺得教育最重要的就是要有長期主義的觀點,那么這個階段怎么控制好?就是說你學編程第一個階段,我們叫他基礎階段,也叫興趣培養(yǎng)階段,通常都是用圖形化編程工具來教孩子,不使用代碼語言、英文、C++呀,Python那些用英文做coding的都不做,我們就是用圖形化編程。但是這個階段你必須要根要打得夠深,要讓他知道,用編程做出很多充滿著智力意味的東西,這個一定要讓他體會到。所以課程要足夠深,有一些圖形化編程弄得太淺,然后孩子稍微年齡一大了就覺得沒意思。其實圖形化變成是可以做特別復雜的事啊,我們可以做出能下圍棋的人工智能程序,如果你讓孩子能夠感受到這種力量,那么他對編程的那種喜歡、那種崇拜、那種推崇就很深,然后等到他年齡慢慢大一點的時候,你讓他使用更專業(yè)的編程工具,然后開始一些更專業(yè)的編程,那么他就能堅持下來,因為他對這個喜歡程度達到一定的強度了。如果你一開始就沒有扎實的根基,然后后面又不斷地上難度,那他這個就立不住了,這拔苗助長,那個根不夠深就倒了嘛。這個我覺得一般的教育工作者都是知道這一點,所以所有的啟蒙我覺得都是很重要的,把這個根系搞得發(fā)達一點。
對編程學習不大了解,也不知道孩子會不會喜歡,能試試看嗎?
余老師:我們有面向孩子的試聽課程,隨時歡迎大家,你可以掃碼試聽活動二維碼預約,或在評論區(qū)留言,這樣方便我們找到你。