“媽媽,給我撓癢癢吧,要撓500下,從0、1、2、3、4開始數(shù)?!?/p>
這是每晚我的兒子一瞇入睡前必講的話,一瞇今年4歲,臨睡前,他最喜歡我給他撓背,撓一撓就會睡著。好玩兒的是,自從他學(xué)會數(shù)數(shù)又知道了零的含義,他就開始要求我從零數(shù)起。也許不學(xué)計(jì)算機(jī)的人并不理解這好玩兒在哪里,而學(xué)計(jì)算機(jī)的人會知道,數(shù)數(shù)從零開始是計(jì)算機(jī)里計(jì)數(shù)的習(xí)慣,它也是網(wǎng)上回答“計(jì)算機(jī)系和其他系有什么區(qū)別?”的一個(gè)神回復(fù)。
宋睿華
我和先生都是學(xué)計(jì)算機(jī)的,當(dāng)我問他要不要做編程啟蒙時(shí),他是反對的。他認(rèn)為編程是一種技能,在需要的時(shí)候再學(xué)就可以了,沒有必要太早。如果編程都要啟蒙,那有數(shù)不勝數(shù)的技能也同樣重要,各個(gè)都要啟蒙的話,孩子們哪里忙得過來呢?他的反對讓我重新思考這個(gè)問題,也許我這里要談的并不是編程啟蒙,應(yīng)該說是計(jì)算機(jī)啟蒙。學(xué)習(xí)編程其實(shí)是學(xué)習(xí)某種計(jì)算機(jī)語言,讓我們可以通過它來控制計(jì)算機(jī),例如寫程序讓計(jì)算機(jī)輸出“Hello world”。而計(jì)算機(jī)需要啟蒙的是良好的邏輯思維能力和樂于動手的習(xí)慣,對計(jì)算機(jī)能做什么的興趣,以及對未來希望計(jì)算機(jī)能做什么的暢想。我想通過幾個(gè)小故事來跟大家討論一下如何做好計(jì)算機(jī)啟蒙。
為什么要學(xué)編程或者計(jì)算機(jī)呢?應(yīng)該是因?yàn)橛?jì)算機(jī)已經(jīng)成為我們生活環(huán)境的一部分,孩子們每天都在接觸手機(jī)、電腦,他們也一定會好奇,那些游戲是怎么做出來的吧?的確,順著孩子的好奇心去學(xué)習(xí),效果會更好。在我小的時(shí)候,電視機(jī)開始進(jìn)入千家萬戶。爸爸因?yàn)槭菍W(xué)無線電的,他可以自己照著圖紙拼裝出一臺電視機(jī),這讓我覺得特別神奇。在他忙碌的時(shí)候,我會圍著他去看去問:“這是什么?”“那是什么?”“是干什么用的?”爸爸是個(gè)很有耐心的人,他沒有趕我走,而是告訴我“這是二極管”,“這是三極管”。哦,然后我就歸納出有幾只腳就叫幾極管,他笑了,說差不多。然后他會用簡單的語言解釋它們的用途。我并沒有聽太明白,但后來上模擬電路課時(shí),我會覺得特別親切,理解起來也會變得容易。
從一年級開始,我和姐姐都參加了美術(shù)興趣班。姐姐的畫很細(xì)膩,我的畫比較粗枝大葉,風(fēng)格不同,但是兩個(gè)人都很喜歡畫畫。過了幾年,老師漲了一次學(xué)費(fèi),我們兩個(gè)人加起來是挺大一筆支出。當(dāng)時(shí)爸爸媽媽的工資很少,要供養(yǎng)全家五口人(還有奶奶),商量之后,只能跟我和姐姐說:“對不起,下個(gè)月恐怕不能再上美術(shù)班了?!?/p>
那天晚上我沒有睡好,想到不能學(xué)畫畫就很難過。第二天一大早,我和爸爸媽媽講了我的真實(shí)想法:我想繼續(xù)上美術(shù)班。他們有點(diǎn)為難,問姐姐的意見。姐姐說:“讓妹妹去吧,我就不上了,沒關(guān)系的。”其實(shí),我知道姐姐也很喜歡美術(shù),在這方面的天賦比我更好。后來,爸爸媽媽同意資助我繼續(xù)學(xué)畫。
再去美術(shù)班的時(shí)候,我的內(nèi)心有了一些變化。不再是之前單純地覺得好玩兒,而是想努力學(xué),盡可能地有所得,對得起爸爸媽媽和姐姐的支持。小學(xué)畢業(yè)的暑假,我又去了市文化宮跟著西安美術(shù)學(xué)院畢業(yè)的老師學(xué)畫畫。第二個(gè)月,老師還邀請我給他帶的兒童畫幼兒班做助教,月末還發(fā)給我100元的工資。當(dāng)時(shí)好開心呀,那是自己掙的第一筆收入吧。
現(xiàn)在可選擇的興趣班很多,也有很多家長完全有經(jīng)濟(jì)實(shí)力讓孩子上任何興趣班。只是,以我自己個(gè)人的體會,似乎孩子內(nèi)在的動力更重要。在初步了解了興趣班是干什么的之后,是否可以做一個(gè)減法?讓孩子只能選擇一到三門來上,看看他們會是怎樣的選擇。當(dāng)機(jī)會來之不易的時(shí)候,人會被激發(fā)出更多的主動性,投入和推動自己在某個(gè)興趣上的發(fā)展。
培養(yǎng)科學(xué)素養(yǎng)不僅僅是去了解我們已知的“十萬個(gè)為什么”,也需要去體會探索真相的過程。
我想起小時(shí)候吃苦瓜的經(jīng)歷。我的老家在西北,在商品流通還不發(fā)達(dá)的80年代,我們沒見過苦瓜。當(dāng)市場上出現(xiàn)了苦瓜之后,喜歡挑戰(zhàn)新鮮事物的媽媽專門買了一些回來,說:“來,我們也嘗嘗苦瓜的味道。難道真的是苦的?”結(jié)果是苦得第一口都難以下咽。媽媽不放棄,說怎么會呢?別人家都可以吃的,是不是有什么不知道的處理方法?于是,姐姐和我提議用堿、醋、鹽分別腌制一下苦瓜,看看能否去掉苦味。媽媽把剩下的苦瓜分成四份,分別腌在不同的調(diào)料和清水里,經(jīng)過一個(gè)晚上,第二天再炒,結(jié)果還是挺苦的。唉,后來還是媽媽去問了吃過苦瓜的同事,才知道苦瓜就是苦的,只是買的時(shí)候要會挑,做的時(shí)候要做得熟一點(diǎn),能減輕一些苦味。即使苦,因?yàn)橄嘈趴喙夏軘』?,大家也還是愿意吃的,習(xí)慣了就不會覺得難以接受。這種日常的生活,我們?nèi)绻苡每茖W(xué)實(shí)驗(yàn)的想法去處理,對孩子來說也是個(gè)有趣又有啟發(fā)的經(jīng)歷。比起被告訴應(yīng)該怎么做,經(jīng)過自己摸索找出答案,哪怕失敗,印象也會格外深刻吧。
動手能力也很重要,請大家多鼓勵(lì)孩子去創(chuàng)造?,F(xiàn)在幼兒園和小學(xué)都很重視實(shí)踐,經(jīng)常會布置一些主題,請孩子們?nèi)ネ瓿梢粋€(gè)報(bào)告或者一件作品。例如,我女兒的幼兒園就曾經(jīng)做過環(huán)保服裝設(shè)計(jì)的活動。示范的圖片都是用紙張做衣服,但我和女兒討論,覺得把舊衣服加以改造也是一種環(huán)保的做法,剛好家里還有一些化妝品的包裝盒,我們也用它作原料來完成裝飾,還用女兒的一幅畫做成了帽子,再用紙袋的提繩拆下來做帶子。這些活動能很好地鍛煉孩子的動手能力,前提是不要包辦。雖然家長以為自己做起來又快又省力,但孩子們參與其中才能真正鍛煉出他們自己的動手能力。真的去放手,他們常常能做出大人想不到的創(chuàng)意,令人驚喜。
我曾經(jīng)多次設(shè)想過,如何讓孩子具有各行各業(yè)的啟蒙?其實(shí)很簡單,就是家長們聯(lián)合起來,每人做一次講座,講一講自己做著怎樣的工作。最好是能夠在他們的工作環(huán)境中講,這讓孩子們能擁有第一手的體驗(yàn)。
小時(shí)候爸爸會帶著我和姐姐一起去加班,他的單位是一個(gè)機(jī)床廠,制造生產(chǎn)各式各樣零件的機(jī)器。他在熱處理車間工作時(shí),我會看到他們把燒得火紅的零件從加熱爐里夾出來,放在冷卻水里淬火。看的時(shí)候很緊張,聽到刺刺啦啦的聲音會覺得很興奮。爸爸沒有特意為我們啟蒙,但因?yàn)榧影鄷r(shí)也沒有更好的寄放我們的地方,只好帶著我們倆。這讓我有機(jī)會看到他們工作的真實(shí)場景,這比任何模擬的場景或環(huán)境都要更有趣,它擁有所有真實(shí)的細(xì)節(jié),讓我無意中熟悉了那些原本抽象的概念,例如什么是淬火。這些陪爸爸加班的經(jīng)歷自然地成為美好的童年記憶,也讓科學(xué)技術(shù)變得既不神秘也不枯燥。
我也曾受一位高中同學(xué)之托去給她上三年級的兒子和同學(xué)們講“小冰”。我問他們:平時(shí)有和對話機(jī)器人講過話嗎?超過90%的同學(xué)舉了手。我請了幾位同學(xué)說說都跟哪些機(jī)器人講過話,感覺怎么樣?他們提到了Siri,還有人說Siri有點(diǎn)傻,因?yàn)樗?jīng)常說“我不明白你的意思”。不要小看孩子們的感受力、理解力和想象力,我給他們讀小冰的詩,他們?nèi)褙炞⒌芈?、臉上會露出會意的笑容。我送了老師一本小冰的詩集,他們會主動跟老師要求,“請放在教室后面的圖書角吧,我們也想看”。我給他們播放小冰語音對話的視頻,他們一下子就明白了全雙工對話與其他語音助手有什么不同。我給他們聽小冰唱歌的兩個(gè)版本,有人說更好聽了,也有人會說小冰好像有點(diǎn)感冒(因?yàn)楸且糁亓耍?。最后我還問他們,希望小冰能做什么?他們的回答也很有意思。一個(gè)活潑的小女孩希望小冰能看得見摸得著、能陪她玩;一個(gè)羞澀的小男孩希望小冰能更了解他、能體會他沒說出的想法。
我也跟他們講了小冰是如何作詩的。首先,我們給小冰看很多的圖片,同時(shí)告訴她圖片里有什么和表達(dá)怎樣的情感,經(jīng)過訓(xùn)練她就能學(xué)習(xí)到其中的規(guī)律,能從一張新的圖片里認(rèn)出見過的東西和情感色彩。接著,我們用519位現(xiàn)代詩人的幾千首詩歌訓(xùn)練小冰,讓她領(lǐng)悟詞語的搭配和語法,從而可以根據(jù)已有的文字預(yù)測下一個(gè)字。為了做到這一點(diǎn),我們讓小冰把這幾千首詩從頭到尾讀了1萬遍,又讓她把這些詩從尾到頭地讀1萬遍,做到倒背如流。這就好比小朋友們閱讀一樣,讀書會不知不覺中塑造我們的語言模型,讀不通的書,會選擇不同的詞句來表達(dá)。最后,小冰把這兩種能力結(jié)合了起來,先從一張圖片中識別出物體(也就是一些名詞)和情感(也就是一些形容詞),再由這些名詞和形容詞去聯(lián)想出其他一些詞,比如小冰從圖片中發(fā)現(xiàn)“城市”,她可以聯(lián)想到“地方”和“笑容”。然后從這些名詞、形容詞和聯(lián)想到的詞出發(fā),去造出對應(yīng)的句子,連成一首詩。這樣講,小學(xué)生完全可以理解。
其實(shí),小冰寫詩使用了人工智能最前沿的深度計(jì)算模型來做圖像識別和構(gòu)建語言模型,很多技術(shù)細(xì)節(jié)他們并不一定能聽懂。然而,有什么關(guān)系呢?他們完全可以通過我的講解,知道小冰寫詩要做什么(也就是問題的定義)、分幾個(gè)步驟做(也就是解決問題的思路)和每一步是怎么完成的(也就是每個(gè)模塊的基本原理)。這次嘗試讓我更確信,完全有可能用孩子們能理解的語言去介紹計(jì)算機(jī)科學(xué)的發(fā)展現(xiàn)狀,讓他們得到最新鮮的信息,也恰好能回答他們當(dāng)下最好奇的問題。
我并不反對有興趣的孩子學(xué)習(xí)編程。關(guān)于幾歲可以學(xué),并沒有統(tǒng)一的答案,直覺認(rèn)為需要他們先具有了一定的數(shù)學(xué)和邏輯思維能力。
小學(xué)低年級的孩子一般可以從圖形化的編程語言例如Scratch開始學(xué)起,圖形化的編程環(huán)境讓孩子們可以很容易上手。我也看到一些機(jī)器人培訓(xùn),通過簡單的編程可以讓機(jī)器人按照設(shè)想動起來。我認(rèn)為這是一種好玩又有意義的啟蒙方式,通過動手實(shí)操,這樣的課程可以幫助孩子們同時(shí)構(gòu)建硬件加軟件的概念。
到了小學(xué)高年級,特別是使用過Scratch的孩子,網(wǎng)易有道首席執(zhí)行官周楓先生則建議盡快學(xué)習(xí)完整易用的高級語言,如JavaScript、Python或Swift(1)。他提出,非常圖形化的編程環(huán)境,雖然直觀,但不容易表達(dá)一些更進(jìn)一步的編程概念,例如數(shù)組。而JavaScript作為瀏覽器內(nèi)的標(biāo)準(zhǔn)編程語言,具有非常完整的表達(dá)能力,而且簡潔易用,還可以不斷進(jìn)階。周楓也提出游戲編程可能是孩子編程最好的載體,通過使用Processing.js這樣的環(huán)境,可以很方便地用JavaScript進(jìn)行游戲編程。Python也是一種好的選擇,它還是目前大熱的機(jī)器學(xué)習(xí)工具最常用的一種語言。
學(xué)習(xí)第一門高級語言需要花費(fèi)一段時(shí)間理解基本概念,入門后,我建議用完成小任務(wù)的方式來驅(qū)動自主學(xué)習(xí)。在設(shè)法完成這項(xiàng)任務(wù)的過程中,可以不斷地通過讀書和搜索網(wǎng)絡(luò)資源學(xué)習(xí)最急需的知識和技能。這樣學(xué)習(xí)會更有動力,也更容易獲得成就感。一旦熟練掌握了一門計(jì)算機(jī)語言,孩子們會發(fā)現(xiàn)已建立的概念和技能很容易遷移到其他語言,因此,學(xué)習(xí)第二門、第三門計(jì)算機(jī)語言的代價(jià)會小得多。
最后我想說,不必?fù)?dān)憂人工智能會取代人類。作為一個(gè)人工智能從業(yè)者,我們其實(shí)每天都在感慨人類孩子的學(xué)習(xí)能力為什么如此強(qiáng)大?想象力為什么如此豐富?我們對人類智能的了解和模擬才剛剛起步。當(dāng)然,計(jì)算機(jī)已經(jīng)成為世界的一部分,要相信我們的孩子能適應(yīng)這個(gè)世界,他們一定可以利用計(jì)算機(jī)做出了不起的創(chuàng)造,甚至顛覆計(jì)算機(jī)本身。
[宋睿華,微軟小冰首席科學(xué)家,其主導(dǎo)研發(fā)的多模態(tài)文本生成技術(shù)已用于人類歷史上第一本百分百人工智能創(chuàng)作的詩集《陽光失了玻璃窗》。國際數(shù)據(jù)挖掘會議(CIKM)領(lǐng)域主席,在國際會議和期刊上發(fā)表學(xué)術(shù)論文50余篇]