2016年3月3日 星期四

高一自學生 Michael 的故事

先生和我算是程式設計的老兵,Michael 是我的孩子,也許是耳濡目染的緣故,在小學三年級時他就要求學程式。

當初他提這個要求,其實蠻困擾我的。市面上並沒有適合小孩學習的教材,我想,也許應該先教 BASIC 吧?

於是我買了一本 BASIC 的書,教了他幾頁,還教他畫流程圖(flow chart)。其實,「畫流程圖」來學程式的方式非常枯燥,連我都教得不起勁。於是請他看書自己學。結果,他也放棄了。

因為他很喜歡玩樂高,也上了學校的社團課,於是我開始關注如何幫他一把。很可惜當時學校的樂高程式課程停開,但我很懶惰,從沒想過大老遠地送他去上課。所以我從內湖某個 Yahoo 賣家那裡,扛了兩大箱的樂高回家,買了一些入門書。

但我跟他說,請你自己看書自己試試看。就這樣,他對程式的真正啟蒙,是自學來的。

國小四年級時,大一歲的表姐在學校電腦課學了 Scratch,將這個有趣的創意工具傳授給他,從此開始了他快樂的 Scratch 旅程。國小六年級時,就讀的國小也有 Scratch 課程,因為他已經會了,所以在課堂上製作了許多好笑的動畫,引來同學注目與讚賞,讓他對程式設計更是充滿了憧憬與期待。

Michael 與 Adrian 同年,他們升國中一年級的暑假一起學了 ScratchEd 的教材(「Coding for Fun」是這份教材的本土化)。為了陪伴他,加上我曾從事程式設計 15 年,所以我加入了兒童程式設計的教學。


「自動打螞蟻」,當螞蟻跑到射程內會擊發子彈。 



 「泡泡龍」遊戲



原本我們討論好,Michael 升國中要去唸私立國中,因為他想讀前三志願的學校。但難題來了,上了私中,每天晚上九點多才能回到家,如何發展他的興趣?這個問題在我心裡翻攪、困擾了許久。他老神在在說,這怎麼是問題?

後來在私校報到當天,看到暑假還要寫兩本數學題本,他終於被我說服了。於是我們趕緊到三峽國中報到入學。這個轉折,對他而言相當意外!

因為我們家離學校很近,所以他每天下午4點10分前就能回到家,沒參加過任何課業輔導。每天有許多時間做他想做的事。

國一時學校電腦老師發現 Michael 的 Scratch 能力傑出,第一次組隊參加新北市比賽,Adrian 也代表他的學校參加比賽。和其他參賽者不同的是,他們兩位都是自己選擇題目,自己創作,完全沒有求助家長與學校老師,兩人的作品都獲得「優勝」的肯定。

和 Adrian 一樣,Michael 同時期也開始學習 Udacity 的 CS101 「Introduction to Computer Science:Building a Search Engine」,也拿到了證書。

可能是我們給予中文字幕的緣故,Michael 的英文能力在這個課程中並未大幅提升,在接下來的「Web Development」課程便進入撞牆期。因為這門課不僅沒有中文字幕,許多基礎的知識也被簡化了(註:後來 Udacity 補充了其他的基礎課程)。課程下方用英文寫的提示,Michael 因為沒注意、沒有讀,所以他的進度變得緩慢。

不過同一時間,他試著用 pygame(一種 Python 程式模組)來寫遊戲。因為只有英文的指引與範例,為了要完成第一個「井字棋」遊戲,他使用 google 翻譯來了解內容,不知不覺中,英文閱讀能力增強了。

此外,Michael 也運用 Python 來解學校的數學問題「一元一次方程式」,比方說使用者輸入「2x+1=0」,會得到答案「x=-0.5」;輸入「2x+3=5」,會得到答案「x=1」。誰說數學要不斷地手寫演練呢?

後來學 Udacity 課程「HTML5 Game Development」時,Miahael 以 Javascript 寫了一個結合 Box2D 的遊戲。Box2D 是ㄧ組物理引擎,憤怒鳥就是以它做開發的。 


HTML 5 遊戲「Duck Attack」





Michael 的夢想是寫出好玩的益智遊戲。

「黑白棋」遊戲(Python)



Michael 設計了我們的網站(http://coding4fun.tw)。老實說,這個網站從無到有,都是他一手包辦,因為我和先生的專長都不在此。

他就靠著 Udacity 課程,加上不斷地查詢資料,把網站建構起來。雖然未臻完美,但我們清楚明白,

這條程式之路,就靠他自學了!

網站是他國三上學期完成的,同時我們也開始思考高中自學的可能性。現在,他是個快樂的高一自學生。

附註:

除了程式設計,自學學些什麼呢?簡述一下:

數學:均一高中數學 (http://www.junyiacademy.org/root/math-grade-10
物理:How things work (https://www.coursera.org/learn/how-things-work
閱讀:金庸小說、與外國經典小說
英文:VoiceTube HERO 課程(家教一對一,朋友熱情贊助)
體育:跑步
社團:參與程式相關社群

此外,每學期安排一門大學旁聽課。



沒有留言:

張貼留言