資訊教育向下扎根,專訪國中三年級的 Python 小王子廖偉涵
採訪整理:黃鐘瑩、李姿宜、黃雅信
攝影:黃雅信
全世界都在學寫程式的今天,Python 在入門程式設計中受到電腦老師和學生們的愛戴,連影響力遍及全球的 MIT 麻省理工學院,其程式設計基礎課程的老師也選擇用 Python 教導沒有寫程式經驗的學生。
最近兩年,台灣 Python 社群出現一位帶有點稚氣的新面孔,他是廖偉涵 (Adrian Liaw),外表之下有著對於電腦科學求知的強烈渴望,自信的談吐讓人難以想像廖偉涵正就讀達觀國中三年級。Adrian 12 歲時剛國小畢業,那年暑假第一次與一群少年體驗寫程式的樂趣。上國中後,他活躍於臺北 Python 社群 Taipei.py,每個月固定參加聚會交流的活動,與對 Python 特別有熱情的哥哥姊姊們一同切磋寫程式的技能,且不吝於在聚會中分享,贏得許多寶貴的友誼。
PyLadies 社群核心幹部黃鐘瑩與李姿宜在今年 (2015) 4 月 17 日與 Adrian 進行線上採訪,進一步認識國中生學習 Python 的過程。在訪談中發現 Adrian 是一個對自己在做的事相當專注和認真的工程師,以下為訪談的內容節選:
什麼機緣下開始接觸 Python?
Adrian:在小六升上國一的那年暑假,爸爸看我在家閒閒沒事,問我要不要去參加一個有趣的程式設計暑期班。就這樣展開人生第一次學寫程式的大冒險。老師在暑期班中教學生怎麼玩 Scratch,那是一套 MIT 麻省理工學院開發的軟體,讓學員可以很快的用圖形化的介面,以及拖拉的方式學習程式邏輯。後來因為這個計劃(兒童程式教育計劃)在入門 Scratch 後加入了 Python 和 MOOC(英語:Massive Open Online Course,大規模開放線上課程),讓我接觸到 Udacity (http://www.udacity.com/),並修習 Introduction to Computer Science 電腦科學基礎課程,課程上教授的程式語言是 Python,也就成了第一個接觸的程式語言。
Python 程式語言與其他語言有什麼不同的地方?
Adrian:因為自己現在主要接觸的語言是 Python 和 JavaScript,以這兩個語言來說,我覺得 Python 的設計絕對比 JavaScript 好得多。像在 JavaScript 裡的 comparison operators 和 scope 會讓初學者很頭痛,Python 不一樣的是可以更專注在程式的邏輯上,而且加上有很多很有用的各種內建 library,可以在開發中省去很多時間!
自學寫程式的過程中,遇到最大的挑戰是什麼?有什麼有趣的經驗?
Adrian:從 Scratch 轉到 Python 的時候,因為從拖拉到純文字的程式撰寫是比較大的挑戰,但其實適應的很快!另外一提,如果當時是學 C 的話,我現在可能會走上音樂路(編按:Adrian 自小學習古典鋼琴,擅長莫札特,最近在練巴哈)。有趣的經驗方面,由於活躍參加社群,時常會有與外國開發者交流的機會,這種機會很難得,也是因為這樣才能夠增進自己的英文會話能力!
從不會寫程式到熟悉寫程式,生活上有什麼改變嗎?
Adrian:最大的改變是發現生活中有很多事情可以用寫程式來解決。同時也發現學校教的數學課大部分都花在大量相似的計算上面,卻沒有訓練如何用各種方法去解決沒有遇過的問題。在其他的生活改變中,最明顯的就是發現自己會花很多時間寫程式而不是打電玩。以及會想要用不同的角度去解釋同一件事情,我在寫程式的時候,也常常同一件事情用不同的架構和思維寫出不同的 code!寫程式很好玩也很有趣,有很多很先進、很吸引人的技術可以玩,以後還可以賺錢,甚至改變世界。
你認為寫程式的技能對於你未來的生涯規劃產生什麼影響?
Adrian:目前的計畫是申請高中自學,這樣會擁有一般高中生身分,而實際內容會有業界實習等等,未來也有可能會出國接受教育,或者往程式以外的領域發展。因為家裡也有人從事中醫,所以也有可能在未來研究中醫與大資料的結合。這些事情都是在學習寫程式之前從來沒有想過的,我的目標曾經也是上建中、上台大,但是寫程式讓我和家人完全改觀!
其實我也想要在學校內影響其他的同學開始寫程式,但是我身邊大部份的同學都認為寫程式需要很大量、很高深的數學知識,多數人也認為 coder 就是駭客。我一直在思考 JavaScript 和 Python 到底哪一個比較容易帶新手。JavaScript 可以做一些很吸引人的視覺化程式,對初學者來說互動性比較高,但是 Python 的程式概念絕對比較好。目前可能會傾向於找一個貼近生活的專案,讓大家做專案的同時學習 Python。
今年 PyCon APAC 2015 的年會中將帶來什麼分享,又有何期待?
Adrian:除了會分享自學經驗之外,還會分享之前寫的 Python 套件——解開魔術方塊的 Python 程式,講題內容包括專門處理魔術方塊公式的模組。在年會中期待看見資料分析的議題,或者偏抽象邏輯性與結合日常生活的專案。
- PunNode 為此次《PyCon APAC 2015》支持媒體
留言討論