【學與業壯遊】程式小天才的誕生過程

友善列印版本

「我們去某頂尖大學的資訊工程碩博班分享,台下學生露出不可置信的表情─這些學生都沒上的『機器人與人工智能』 ,這個當時才剛升上國二的小男生修課通過認證,而且是特優。」

在當天的談話之中,我想我一定也常常作出不可置信、深受震驚的表情。

程式小天才,兩年前只是普通電玩小孩

廖爸的表情很平淡,沒有特別高興、欣喜,或是驕傲─和聊各種生活瑣事一樣的表情。也許他習慣了,也許他打從心底覺得,這個情況才是「正常狀態」。

在去年暑假,我在一個程式教學的場合認識了廖爸和他的孩子 Adrian——一個十四歲的少年,將升國三的年紀─看起來太純真可愛,我本來以為是五年級。我後來發現不能小看這個孩子,原來他差不多是助教,他在場的主要功能是指導那些高中年紀的學員。

 這是異常,是天才,或者,這可能是未來教育的正常狀態(的一種)?在我訪問廖爸和 Adrian 的時候,這個問題不斷出現在腦中。

其實,Adrian 開始認真學電腦的時間並不特別早,他從小也是玩遊戲、上網、應用程式,一直到小六。

小學畢業的那一年暑假,廖爸讓 Adrian 報名了一個程式研習營。這個創新的程式研習營,使用麻省理工學院開發的 Scratch 這個視覺化的程式軟體,教學生程式語言的基礎概念。

這是所有改變的開始。

方法對、思維對,學習可以自然而然

 這可不是玩玩而己——Adrian 竟然在這個課程的期末作業,用這個軟體做了一個類似超級馬利的遊戲:一個人偶可以跑、可以跳躍避開陷阱,最後升級破關。

在這門課程後的另一個成果,是寫一個平面幾何的程式。我們都知道 Y=aX+b 這個式子,可以在平面座標系上畫成一條直線。Adrian 寫了一個程式─在輸入 a 值和 b 值後,由電腦畫出直線;或是拉動直線,自動算出 a 值和 b 值。

 Adrian 玩出了興趣,於是國一後繼續參加研習營,老師教學生們使用 Udacity 這個網站,讓學生們自修「電腦概論」這門課。這門課的影片有中文字幕,但是非常難,比一般資工系大一教得還深,最後的期末專案也不是開玩笑:做搜尋引擎,並且將搜尋結果排序。

這門課是很大的挑戰,因為開始要使用非圖像化的程式語言,而且是在家自修線上課程,並沒有老師在旁邊盯進度、逐級解說。即使這樣,Adrian 還是花了三個月上完。他每天看課程大約一小時,周末 3-5 小時。

完成「電腦概論」之後之後,Adrian 就不繼續和老師上課了。他開始自學程式課程。

早上五點起床學程式:不為成績!

他開始自己在 Udacity 網站上逛街、找課來上修。他為自己選了「網頁程式」這門課,花兩個月上完。這門課在學習上又更難一級,因為沒有中文字幕,只有英文字幕 ─但也因為這樣,Adrian 的英文程度突飛猛進。

接著,Adrian 又選了「程式語言」這門課,這門課其實是在解釋一個很抽象困難的運作原理:人寫的程式語言如何編譯成機器運作的電子指令。

在修這些課的時候,Adrian 常常早上五點自己起床看影片上課,直到必須去學校上學,然後晚上放學回家,做完功課後再繼續上課,一直學到晚上睡覺前。這一門課雖然作業不多,但是內容卻非常難,在一般大學資工系是開在大學三年級的程度。

在國一升國二的暑假,Adrian 自己說這是一個「瘋狂砍課」的階段。這兩個月之中,他選了「網路遊戲開發」、「立體圖像」,這兩門課各花了大約三周。國二之後繼續修了「機器人與人工智能」、「電腦程式設計」,這些都是一般大學資工系大三以上的課程。

例如,在「立體圖像」這個課程結束後,Adrian 做了一個魔術方塊的專案─先用亂數產生一個魔術方塊,用程式算出解方,然後用 3D 立體圖像展示解魔術方塊的過程。

我愈聽愈驚訝,我們總以為青少年只愛打電動。但其實,一個國中年紀的孩子,只要在合適的教材、合適的引導向,完全有可能自動自發學習程式:沒人強迫,沒有考試。

Adrian 的個案,並非顯示了他有多天才多優秀,而是預示了未來學習的一個可能性。

關鍵字: 天才教育

作者