人人都要學(xué)編程?編程到底有沒有前途?
采訪對象:Serge Abiteboul (信息管理學(xué)者)
巴黎高科評論:計算機(jī)素養(yǎng)在今天越來越重要。對學(xué)生和社會而言,其中的利害關(guān)系如何?
Serge Abiteboul:很簡單,信息技術(shù)是今天這個數(shù)字世界的核心。要理解這個世界,了解它的基本構(gòu)造并參與其中,計算機(jī)技能至關(guān)重要。而且從經(jīng)濟(jì)競爭力角度來看,我們確實(shí)需要掌握計算機(jī)技術(shù)和科學(xué),這就如同在19、20世紀(jì)掌握數(shù)學(xué)和物理學(xué)一樣重要。
美國總統(tǒng)奧巴馬親自呼吁美國年輕人學(xué)習(xí)編程,包括幾乎所有日常應(yīng)用和機(jī)器程序。親自編寫程序和請別人替我們寫這兩條道路之間,從宏觀角度來看,后者不是不可以,但意味著喪失了主動權(quán),意味著在創(chuàng)新競賽中棄權(quán),因?yàn)閯?chuàng)新和編寫代碼這兩件事已日益變得密不可分。
從個人角度,不會寫程序也會令你在程序面前非常被動,除了依據(jù)使用手冊按部就班,毫無自主權(quán)可言。作為網(wǎng)站站長,如果有些功能不盡人意,除非你能搞明白實(shí)現(xiàn)這些功能那10行代碼,并能寫出兩行代碼來改變它們,否則,你就永遠(yuǎn)是一個技術(shù)的奴隸。
一個人想掌控技術(shù),隨心所欲,就必須了解諸如云和電子投票之類的知識,必須能獨(dú)立編寫小的手機(jī)app或網(wǎng)站代碼。這與你從事什么職業(yè)毫無關(guān)系,而且任何人都可以掌握。計算機(jī)技能并不比寫英文報告或設(shè)計物流系統(tǒng)更難。關(guān)鍵是真正參與到其中,扯下其神秘面紗。這是我們大家的挑戰(zhàn),而不是企業(yè)IT部門的專利。
人們總是把計算與數(shù)字化混淆,它們的區(qū)別和相互關(guān)系究竟是什么?
這是一個數(shù)字化的世界,在這個世界里,有計算機(jī)科學(xué)。人們閱讀電子書而不是紙質(zhì)書籍;課堂上使用的是數(shù)字顯示屏而不是粉筆與黑板;人們的相機(jī)和汽車都已經(jīng)數(shù)字化;孩子們剛學(xué)打字就知道如何使用拼寫檢查,剛學(xué)算術(shù)就可以使用Excel,這些都是數(shù)字化工具,但我們?nèi)砸獙W(xué)習(xí)有關(guān)書寫和計數(shù)的知識。人們能夠熟練使用谷歌或Facebook,但不知道谷歌搜索背后復(fù)雜的算法和Fackbook是如何保護(hù)隱私的。
計算機(jī)和編程是數(shù)字世界的核心。信息科學(xué)開發(fā)出軟件來讓整個世界數(shù)字化成為可能。它是一種教育、一門科學(xué)和一門藝術(shù)——而不僅僅是賦予人們以工具和操作。人們一次又一次地將使用數(shù)字工具和編程相混淆,其實(shí)兩者毫無關(guān)系。
所以,信息科學(xué)絕對有必要進(jìn)入課堂,與物理、化學(xué)和數(shù)學(xué)平起平坐。但它又有很強(qiáng)的技術(shù)屬性,你必須學(xué)會自己編程、使用計算機(jī)來解決問題。這是計算機(jī)科學(xué)必不可缺的一個方面。
我們應(yīng)該設(shè)立一門獨(dú)立的IT課,還是根據(jù)它跨學(xué)科的特點(diǎn),將其結(jié)合在其他學(xué)科的學(xué)習(xí)當(dāng)中?
注意不要造成混淆。學(xué)習(xí)數(shù)字化工具意味著不同的課程(建筑設(shè)計工具、數(shù)據(jù)庫和搜索工具、科學(xué)計算工具等)。但計算機(jī)科學(xué)本身是一個獨(dú)立領(lǐng)域。只有一種算法思維。不管是你編寫程序來計算莎士比亞或普魯斯特作品中某些詞出現(xiàn)的頻率,還是用來計算矩陣乘法,基本流程都是一樣的(排序操作、測試、循環(huán)等)。只有通過這種科學(xué)的訓(xùn)練,人們才能根據(jù)不同領(lǐng)域和情況來選擇不同的編程項(xiàng)目。
那么,教授內(nèi)容都包括哪些呢?
計算機(jī)科學(xué)提供了一種全新的思維方式:算法思維,即如何用程序來解決問題。算法思維的概念已經(jīng)存在了很長時間。當(dāng)你進(jìn)行加法、乘法或除法等計算,你就是在學(xué)習(xí)算法。但是對智能工具和應(yīng)用的編程要復(fù)雜得多。你必須掌握更抽象的概念如loop——允許特定任務(wù)的迭代。
然而,IT確實(shí)很實(shí)用。這門科學(xué)的美妙之處在于,你可以付諸實(shí)踐,你剛剛學(xué)到的東西馬上就可以用來編寫小而簡單的程序。即使在小學(xué)里,孩子們利用Scratch這樣的編程語言就可以從小熟悉編程。問題的關(guān)鍵是了解計算思維這種幫助我們理解周邊世界的基礎(chǔ)性思維,并通過編寫小的程序來不斷發(fā)展它。
因此,人們可以在很小的時候就開始學(xué)習(xí)?
每個人都應(yīng)該從小開始,因?yàn)閮和钊菀捉邮苄碌南敕āT?ldquo;知某數(shù),識某文”之外,我們還應(yīng)該加上“寫代碼”。它必將進(jìn)入到國家基礎(chǔ)教育的核心層面。顯然,IT不僅是編程,就像數(shù)學(xué)不僅僅是代數(shù),文學(xué)不僅僅是寫作。但編程仍然是計算機(jī)科學(xué)的基礎(chǔ),需要讓人們從小學(xué)習(xí)。
學(xué)校是這種教育的最佳途徑嗎? 或者它需要通過社會來完成?
很多學(xué)校都開始教孩子們編程,學(xué)校外也有許多小組、俱樂部、協(xié)會等,組織很多又酷又好玩兒的活動。然而,即使這些校外活動很有用,我們必須認(rèn)識到,要讓所有兒童得到公平受教育的機(jī)會,還是需要盡快將這些課程整合進(jìn)常規(guī)的學(xué)校教育。
那些已經(jīng)離開學(xué)校但沒有受過任何計算機(jī)教育的人呢?
他們可以在職學(xué)習(xí)相關(guān)知識技能,通過各種協(xié)會、在線培訓(xùn),甚至用游戲來學(xué)習(xí)編程。工程人士必須現(xiàn)在就開始學(xué)習(xí)。此外,還必須對其他科目的老師進(jìn)行培訓(xùn)。
通常情況下,我們可以設(shè)想三個重要的校內(nèi)學(xué)習(xí)時段。首先要在小學(xué)階段熟悉主要概念,學(xué)習(xí)算法和計算思維的基礎(chǔ)知識,并通過游戲和Scratch這類編程語言,讓人們動手體驗(yàn);中學(xué)應(yīng)真正成為每個公民學(xué)習(xí)計算機(jī)技術(shù)基礎(chǔ)知識的地方,包括實(shí)際的算法編程、信息架構(gòu)、硬件等。這不是完全式教育,但至少要將其提升到與中學(xué)物理、生物相同的地位。為學(xué)生以后的專業(yè)學(xué)習(xí)和接受更高級知識打好基礎(chǔ)。
到了大學(xué),我們可以為學(xué)生量身定做計算機(jī)課程。選擇理工科的學(xué)生可能會對計算的數(shù)學(xué)應(yīng)用更感興趣,而走上人文道路的學(xué)生可將更多精力放在文本索引、語言學(xué)等方面。今天職業(yè)學(xué)校里的年輕人已經(jīng)開始將更多的時間分配在學(xué)習(xí)計算機(jī)上。事實(shí)上正是在這些學(xué)校,你會意識到學(xué)習(xí)計算機(jī)的重要性和必要性。
具體來說,不發(fā)達(dá)國家能夠從全球的計算機(jī)文化蓬勃發(fā)展中得到什么啟示?
一些國家已經(jīng)解決了迎面而來的挑戰(zhàn)。總體而言,發(fā)達(dá)國家在這方面非常先進(jìn)。英國已決定將計算機(jī)考試加入高中畢業(yè)考試來推廣計算機(jī)教育。在德國,地方政府掌握著這方面的權(quán)力和責(zé)任,巴伐利亞州就很積極,并因此受益,它們甚至在將計算機(jī)科學(xué)納入課程體系之前,就開始大規(guī)模聘用擁有IT技能的教師。一些新興國家如以色列和韓國已在這方面展開競賽。今天,計算機(jī)課程正在全球遍地開花,而且受教育者年齡也越來越小。