這個問題第一次被提出來,是在1980年代,那時,個人電腦方興未艾。後來,軟體產業的發展似乎已經給了明確而否定的答案。然而現如今,它帶著猛烈的勢頭再一次出現在人們面前。這一次,我們必須認真對待它。
人人都要學程式設計?程式設計到底有沒有前途?
訪談對象:Serge Abiteboul (資訊管理學者)
巴黎高科評論:電腦素養在今天越來越重要。對學生和社會而言,其中的利害關係如何?
Serge Abiteboul:很簡單,資訊科技是今天這個數位世界的核心。要理解這個世界,了解它的基本構造並參與其中,電腦技能至關重要。而且從經濟競爭力角度來看,我們確實需要掌握電腦科技和科學,這就如同在19、20世紀掌握數學和物理學一樣重要。
美國總統歐巴馬親自呼籲美國年輕人學習編程,包括幾乎所有日常應用和機器程序。親自編寫程式和請別人替我們寫這兩條道路之間,從宏觀角度來看,後者不是不可以,但意味著喪失了主動權,意味著在創新競賽中棄權,因為創新和編寫程式碼這兩件事已日益變得密不可分。
從個人角度,不會寫程序也會令你在程序面前非常被動,除了依據使用手冊按部就班,毫無自主權可言。身為網站站長,如果有些功能不盡人意,除非你能搞清楚實現這些功能那10行程式碼,並能寫出兩行程式碼來改變它們,否則,你就永遠是個科技的奴隸。
一個人想掌控技術,隨心所欲,就必須了解諸如雲端和電子投票之類的知識,必須能獨立編寫小的手機app或網站程式碼。這與你從事什麼職業毫無關係,而且任何人都可以掌握。電腦技能並不比寫英文報告或設計物流系統更難。關鍵在於真正參與其中,扯下其神秘面紗。這是我們大家的挑戰,而不是企業IT部門的專利。
人們總是把計算與數位化混淆,它們的區別和相互關係究竟是什麼?
這是一個數位化的世界,在這個世界裡,有電腦科學。人們閱讀電子書而不是紙本書;課堂上使用的是數位顯示器而不是粉筆與黑板;人們的相機和汽車都已經數位化;孩子們剛學打字就知道如何使用拼字檢查,剛學算術就可以使用Excel,這些都是數位化工具,但我們仍要學習有關書寫和計數的知識。人們能夠熟練使用Google或Facebook,但不知道Google搜尋背後複雜的演算法和Fackbook是如何保護隱私的。
電腦和程式語言是數位世界的核心。資訊科學開發出軟體來讓整個世界數位化成為可能。它是一種教育、一門科學和一門藝術——而不僅僅是賦予人們工具和操作。人們一次又一次地將使用數位工具和程式設計混淆,其實兩者毫無關係。
所以,資訊科學絕對有必要進入課堂,與物理、化學和數學平起平坐。但它又有很強的技術屬性,你必須學會自己程式設計、使用計算機來解決問題。這是計算機科學必不可缺的一個面向。
我們應該設立一門獨立的IT課,還是根據它跨學科的特點,將其結合在其他學科的學習當中?
注意不要造成混淆。學習數位化工具意味著不同的課程(建築設計工具、資料庫和搜尋工具、科學計算工具等)。但計算機科學本身就是一個獨立領域。只有一種演算法思維。不管是你寫程式來計算莎士比亞或普魯斯特作品中某些字詞出現的頻率,還是用來計算矩陣乘法,基本流程都是一樣的(排序操作、測試、循環等)。只有透過這種科學的訓練,人們才能根據不同領域和情況來選擇不同的程式設計項目。
那麼,教授內容都包含哪些呢?
電腦科學提供了一種全新的思維方式:演算法思維,即如何用程式來解決問題。演算法思維的概念已經存在很久了。當你進行加法、乘法或除法等計算,你就是在學習演算法。但是對智慧工具和應用的程式設計要複雜得多。你必須掌握更抽象的概念如loop——允許特定任務的迭代。
然而,IT確實很實用。這門科學的美妙之處在於,你可以付諸實踐,你剛剛學到的東西馬上就可以用來寫小而簡單的程式。即使在小學裡,孩子們利用Scratch這樣的程式語言就可以從小熟悉程式設計。問題的關鍵是了解計算思維這種幫助我們理解週邊世界的基礎性思維,並透過編寫小的程式來不斷發展它。
因此,人們可以在很小的時候就開始學習?
每個人都應該從小開始,因為兒童最容易接受新的想法。在「知某數,識某文」之外,我們還應該加上「寫程式」。它必將進入國家基礎教育的核心層面。顯然,IT不僅是編程,就像數學不僅僅是代數,文學不僅僅是寫作。但程式設計仍然是電腦科學的基礎,需要讓人們從小學習。
學校是這種教育的最佳途徑嗎? 或者它需要透過社會來完成?
很多學校都開始教孩子們編程,學校外也有許多小組、俱樂部、協會等,組織很多又酷又好玩兒的活動。然而,即使這些校外活動很有用,我們必須認識到,要讓所有兒童得到公平受教育的機會,還是需要盡快將這些課程整合進常規的學校教育。
那些已經離開學校但沒有受過任何電腦教育的人呢?
他們可以在職學習相關知識技能,透過各種協會、線上培訓,甚至用遊戲來學習程式設計。工程人士必須現在就開始學習。此外,也必須對其他科目的老師進行培訓。
通常情況下,我們可以設想三個重要的校內學習時段。首先要在小學階段熟悉主要概念,學習演算法和計算思維的基礎知識,並透過遊戲和Scratch這類程式語言,讓人們動手體驗;中學應真正成為每個公民學習電腦科技基礎知識的地方,包括實際的演算法編程、資訊架構、硬體等。這不是完全式教育,但至少要將其提升到與中學物理、生物相同的地位。為學生以後的專業學習和接受更高級知識打好基礎。
到了大學,我們可以為學生量身訂做電腦課程。選擇理工科的學生可能會對計算的數學應用更感興趣,而走上人文道路的學生可將更多精力放在文本索引、語言學等方面。今天職業學校裡的年輕人已經開始將更多的時間分配在學習電腦上。事實上正是在這些學校,你會意識到學習電腦的重要性和必要性。
具體來說,不發達國家能夠從全球的電腦文化蓬勃發展中得到什麼啟示?
有些國家已經解決了迎面而來的挑戰。整體而言,已開發國家在這方面非常先進。英國已決定將電腦考試加入高中畢業考試來推廣電腦教育。在德國,地方政府掌握著這方面的權力和責任,巴伐利亞州就很積極,並因此受益,它們甚至在將電腦科學納入課程體系之前,就開始大規模聘用擁有IT技能的教師。一些新興國家如以色列和韓國已在這方面展開競賽。今天,電腦課程正在全球遍地開花,而且受教育者年齡也越來越小。
免費領取LAMP兄弟連原創php教學光碟/《細說PHP》精要版,詳情諮詢官網客服:http://www.lampbrother.net
|