讓孩子對電腦編程,而不是讓電腦對孩子編程——編程之父

發明「小海龜編程」的人工智能之父逝世了,世人對他的編程哲學仍未理解

讓孩子對電腦編程,而不是讓電腦對孩子編程——編程之父

早上起床從推特得知西摩爾·帕普特(Seymour Papert,1928.2.29~2016.7.31)駕鶴西歸,內心多少有些憂傷,於是寫下了這些文字,作為紀念。

麻省理工學院(MIT)校長拉斐爾·賴夫(Rafael Reif)在 MIT 官網的訃告文裡總結說,西摩爾·帕普特至少給三個領域帶來了革命,分別是兒童發展、人工智能,以及科技與教育之融合。能夠在上述任何一個領域做出一點成績都不容易了,而帕普特則橫跨三個領域,而且對這三個領域的發展都帶來了極為深遠的影響。

我第一次知道西摩爾·帕普特是2006年看了 Nicholas Negreponte 的一個TED演講,他當時介紹的是 One Laptop Per Child 這個教育項目,後來 Negreponte 回憶說,每一臺 OLPC 電腦裡其實都印刻著帕普特的思想。後來 2015 年我開始搞教育培訓,於是從亞馬遜書店買了帕普特寫的 Mindstorms,拿到書之後,花了兩個月逐行逐字細細閱讀了兩次。這次才真正領悟到帕普特的思想是多麼的超前。

讓孩子對電腦編程,而不是讓電腦對孩子編程——編程之父

這裡先簡單介紹一下帕普特的生平。帕普特 1928 年出生於南非,年輕的時候曾參與反對種族隔離的運動。他 24 歲就拿到了數學博士學位,30 歲的時候拿到了第二個數學博士學位。其後他去到瑞士日內瓦,追隨著名心理學家皮亞傑(Jean Piaget)學習兒童發展的理論。後來帕普特在一次學術會議上與人工智能研究的先驅馬文·明斯基(Marvin Minsky)相識,而且非常有趣的是,當時兩人提交了幾乎一模一樣的論文。明斯基邀請帕普特來到 MIT,開啟了帕普特在美國的學術生涯。帕普特參與創辦了 MIT 人工智能實驗室,也是後來成立的 MIT 媒體實驗室的創始教員。他曾與明斯基合著 Perceptrons 一書。Facebook 的人工智能研究主管伊恩·勒坤(Yann LeCun)在讀大學的時候聽說了「perceptron」的概念後,激發了對學習型機器的熱情,雖然業界普遍認為這本書是讓剛誕生的神經網絡胎死腹中,但勒坤說,他一直都是帕普特的粉絲。

進入 60 年代後,帕普特開始思考怎麼用電腦來幫助兒童更好地學習。他發明了 LOGO 編程語言,也成為 20 世紀下半葉建構主義學習理論的代表人物。帕普特一生致力於理解兒童是怎麼學習的,兒童到底在學習什麼,怎樣才能更好地幫助兒童學習。他的研究和實踐給無數的教育工作者帶來了啟發,尤其是 Mindstorms 一書,雖然是誕生於個人電腦尚未普及的 70 年代末,但書中的思想即使是今天讀起來依然讓人感覺是超前的。

帕普特的思想極為博大精深,短短一篇文章難以盡言,這裡抽取其中三點跟大家分享一下。

讓孩子對電腦編程,而不是讓電腦對孩子編程。

帕普特有一句非常著名的話,他說,我們要關心怎麼才能讓孩子對電腦進行編程,而不是讓電腦對孩子進行編程。這句話可謂道出了他的真心。

早在 60 年代,在那個電腦要幾千美金的年代,帕普特就在想,怎麼才能讓電腦成為孩子學習的好幫手,讓孩子成為電腦的主宰,讓孩子通過電腦這一媒介來表達自己,並且將自己沉浸在各種有力的思想(powerful ideas)當中。換言之,帕普特關心的是怎麼提供一種建構式的學習(constructivist learning),而非灌輸式的教育。帕普特早年從皮亞傑那裡學到了關於兒童行為及心理的很多東西,而這些洞察直接指導了他後來的研究和工作。

讓孩子對電腦編程,而不是讓電腦對孩子編程——編程之父

為了讓孩子也能用使用電腦做點有意義的事情,帕普特發明了 LOGO 編程語言,這一語言非常簡單,任何一個小孩一天就能學會。在 LOGO 的世界裡有一隻小海龜,你可以通過輸入指令,讓海龜在畫面上走動,可以向上下左右,或者是按照你指定的角度移動。你還可以讓小海龜以加速或減速移動,也可以讓小海龜重複某一個動作。這些指令看似簡單,但假如能將其進行合理的組合和排序,你就可以創造出各種東西,包括人、房子、汽車、動物、抽象圖案,甚至有人還專門寫了一本 600 多頁的書(書名就是 Turtle Geometry,烏龜幾何),發掘 LOGO 帶給人們的無限可能(這本書會告訴你,用 LOGO 來學習包括微積分在內的各種高等數學知識也不是不可能的)。

讓孩子對電腦編程,而不是讓電腦對孩子編程——編程之父

回顧自己第一次接觸帕普特時受到的觸動,圖靈獎獲得者艾倫·凱(Alan Kay)說,帕普特讓他意識到,我們教給孩子的不應該是一種經過稀釋的知識,孩子要學的並不是大人所掌握的知識的小孩版。我們首先要了解孩子的學習機制,才能為其提供很好的教育。孩子對周圍的世界總是會充滿好奇,而這樣的好奇本身就能成為教學內容的一部分。艾倫·凱於 2004 年參與發起了「一百美元電腦」項目,旨在讓每一個孩子都能用得上電腦,並且還不是你在商店買的普通電腦,而是內置了許多學習軟件的 OLPC 電腦,由於所有的軟件都是開源的,而且很容易找到源碼,孩子可以自行修改這些軟件,來滿足他們的需要。這正是帕普特所提倡的讓孩子對電腦進行編程的精神之傳承。

反觀今天絕大多數給小孩開發的軟件,本質上都是電腦對孩子編程,而非孩子對電腦編程。電腦的普及,並沒有讓孩子受惠,反而讓他們成為了奴隸。

Powerful ideas

你是不是一直都認為,小學數學就該從數數開始學,然後一路加深難度,直到大學的時候,才把微積分給祭出來?

但你知道嗎?小孩子對數數本身也許興趣不大,他們更感興趣的反而是微積分!

其實小孩真正感興趣的是理解他身處的世界,而微積分則是已知的認識這個物理世界最好的數學工具之一。在帕普特開發的 LOGO 語言環境裡,孩子們可以創作任何圖案,他們一開始通常會想到畫正方形、三角形,然後自然就會想到去畫圓形,畫花瓣。要畫圓形的話,就需要指揮小海龜往北走一小段路,然後左轉,再走一小段路,再往北,然後往左,如是反覆上千次之後,你就能畫出一個比較接近圓的圖案了。而這個過程本身,跟微積分的思維本質上就是一致的。所以小孩在畫圓的時候,就不知不覺地學習到微積分了。

讓孩子對電腦編程,而不是讓電腦對孩子編程——編程之父

實體版的小海龜。圖:cyberneticzoo.com

再舉一個例子,如果孩子對汽車怎麼移動這一現象感興趣,那我們完全可以用電腦對此進行模擬(用最簡單的 LOGO 就能做出這樣的模擬),孩子可以觀察電腦模擬,在老師的引導之下,自己找到汽車加速的規律。他們可以一邊玩玩具,一邊掌握加速度這樣的物理概念。

世界需要像牛頓這樣的天才來發明微積分,而我們這些凡夫俗子只需身處一個恰當的環境,就能領悟到微積分的奇妙,而像帕普特這樣的好老師的價值,就體現在他們給孩子創造出了非常真實的模擬環境。

帕普特並不是為了發明 LOGO 而發明了 LOGO,他是希望小孩能夠通過學編程,接觸到「有力量的」數學概念,而編程則是實現這一目標的極佳手段。1980 年出版的 Mindstorms 一書的副標題是 Children, Computers, and Powerful Ideas,大多數人只看到副標題裡的孩子和計算機,卻忽視了 powerful ideas。其實 powerful ideas 才是帕普特最為關注的東西。

編程本身並不能使你成為更懂得思考的人,只有當你通過編程,在電腦上做了某些模擬,然後加深了對世界的理解和認識之後,你才真正接觸到了帕普特說的 powerful ideas。

假如說這個世界是由上帝創造的,那這位上帝應該是一位數學家。我們身處的這個世界,從城市交通、空氣汙染,到橋樑結構、地質演變,再到經濟活動以及人際互動,無不可以用數學模型來幫助我們理解。帕普特自身是一位數學家,他深深明白這一點。而且他相信,這些模型不需要讀到研究生才有資格去學習,一個小孩也能學習,而且說不定小孩還能發現模型的漏洞。在整個世界都日趨複雜的今天,我們更是需要懂得這種思維的人。而電腦則是培養這樣的思維的最好的工具,只是非常可惜,大家都只把電腦當作升級版的電視,沒有看到電腦的程序可供性(procedural affordance)。

思考怎麼思考

You can’t think about thinking without thinking about thinking about something.

帕普特的這句話流傳甚廣,翻譯成中文,大致意思是,我們不能只是思考思考本身,除非我們有一個思考的對象,否則我們只是在那裡思考就會一無所獲。這個想法第一次出現,是在帕普特給神經網絡早期研究者沃倫·麥卡洛(Warren McCullough)的 Embodiments of Mind 一書所寫的序言裡,其後,帕普特在另一篇同題論文裡對此有展開論述(強烈建議大家下載閱讀原文)。

MIT 媒體實驗室創始人尼古拉斯·尼葛洛龐蒂(Nicholas Negroponte)在一次研討會上說這句話對他影響深遠。他因此而改變了思考所有問題的方式。比如,當同事跟他討論如何為媒體實驗室籌款時,尼葛洛龐蒂就會說,我們應該討論的是,我們該如何思考為媒體實驗室籌款這件事本身。這一法則適用於其他任何場景,它能幫助你找到問題的本質。因此,尼葛洛龐蒂認為,我們向帕普特學習,最重要一點,就是要理解帕普特的思維方式。

讓孩子對電腦編程,而不是讓電腦對孩子編程——編程之父

圖:來自帕普特的 Mindstorms 一書

帕普特所提倡的教育理念之核心,在於為孩子賦能,創造出能夠讓孩子發揮其好奇心的環境,而這本身就是對傳統工業化教育理念的反思和顛覆。在 Mindstorms 一書裡,帕普特特別強調了調試(debugging)之於思考的意義。所有寫過電腦程序的人都知道,很多時候你寫出來的程序不一定能運行良好,你需要調試,改變某個參數,或者修改某項指令,改完後再測試,假如不行,再改,如此反覆,直到最後程序能按照預期那樣運行。LOGO 的環境就給孩子提供了一個非常好的場域,他們對程序的任何修改是否有效,馬上就能看出來。其實帕普特最初是做了一個長得像海龜的機器人,孩子可以通過編程來指揮小海龜機器人運動,而對孩子來說,小海龜有足夠的吸引力,他們只覺得自己在玩,而不是像在學校那樣,被迫做很多自己搞不懂為什麼的練習。

其實,不論是大人還是小孩,為了不讓我們的思想過時,我們都該時不時對自己的思想進行調試。

帕普特提出的教育命題迄今依然沒有獲得廣泛關注,科技的革新並沒有帶來真正意義上的教育革新。原因何在?也許我們該回到帕普特那裡去找到答案。


分享到:


相關文章: