在別的青少年在打電動的時候,一個剛上國中的孩子,沒人強迫,沒有考試,沒有老師當面講授,沒有同學砥礪,卻可以利用線上課程,在短時間內自學程式,許多人可能認為,一切只是因為這個孩子特別天才。
真的嗎?
到目前為止,Adrian已經在Udacity拿了七張修課認證,都是最優異的等第。在了解他的學習經驗之後,我非常好奇地問Adrian和他的父親廖爸:這是意外,或是只是我們還不習慣的常態?
擋不住的自主學習,背後有原因
面對我的問題,Adrian認為這不是意外,也不是他本身有多特別,而是他認為,無論Scratch或是Udacity,他們都掌握了課程編排的藝術,學生被吸引、進入門檻低、學習有效率,這是課程精心設計的結果。
在Udacity上,大課程被切成許多兩分鐘到五分鐘的片段,每個片段講解一個重要的觀念,之後接著一個小測驗,每看懂了一個觀念、做完了一個小測 驗,就往前進了一步,就像電動遊戲破關,讓學員非常有成就感。Adrian 的原話是說:「當課程編排得好,一步步學習會讓人有『莫名的爽感』;學習一點都不覺得難受、壓迫,看到喜歡的課就會想鑽下去學。」
並且,雖然 Adrian年紀尚小,他卻已經極了解這些課程、講師的價值─他說,這些課深入淺出地解說世界上最前緣的科技發展趨勢,讓人深受震憾。
舉例來說,「機器人與人工智能 (link is external)」 這門課是 Google 智能車計畫的主導者(Sebastian Thrun)親自規劃與授課,而且其實他在卡內基.美隆大學、史丹佛大學,都開授過這門課。他真的能將這個領域最核心、最精華的內容,用最淺近的方式說明 解釋。在我們聊天的時候,Adrian 好幾次用「經典」、「世界級」這些詞來描述他修過的課。
自學不是自己學,有同伴和成就感
現在,自學已經不再是自己孤單地學;線上和實體的社群,讓全世界的學習者們能溝通和交流。
自發性的交流社群一直是軟體界重要的傳統。Adrian開始學習程式後不久,就開始參加台北Agile Code Camp這樣的社群活動─這是一個初學者教學相長的地方,再笨、再基礎的問題也可以問,許多人在其中毫無架子地互相分享資訊,教導彼此突破難關。在台北的 Agile Code Camp,有時甚至有外國人參加,Adrian 還能在其中建立國際友誼。
Adrian在國二的時候完成了一套自動解魔術方塊的程式;但在上了「電腦程式設計 (link is external)」這門課之後,學到了分析課題與設計規劃的技巧,於是他再寫了一個結構更有條理的版本。也因為寫了這個相當優秀的版本,他在程式語言社群聚會當中登台發表,這年他也才國三。Adrian晚上則經常去參加業界實務社群的聚會、研討會、也因此打開他的視野。