星期六, 2月 08, 2014

隨需學習 (Learn on Demand)

今天看完了半個月前只看一半的一個影片:「那些年,我們一起上的BBS: 洪任諭PCMan」

之前看只有看前半段,結果重點在後半段阿...=  =。
後面他說到他寫 pcman 時的學習的方法:他剛開始什麼都不會,想做什麼就先動手,遇到問題再想辨法去學必需用到的技巧和知識。這種學習方式是比較有趣的,但是我們的教育是相反的,學校教我們很多很多東西,但是我們有時候不太知道學這些可以幹麻,學起來就會比較乏味。



這跟我最近的體悟是一毛一樣。

去年的前半年我因為生病休學,在家無聊了好一陣子,我就很大概的看了一點 python。沒有學得很多很深,但是至少看得懂程式碼,知道一些基本的東西。開學了以後又回到工作站值班,我發現我們用來建帳號的 script 是學長用 python 寫的。這個 script 已經幫我們做了大部分的事,但是建好之後還是要手動把帳密寄給申請人。信的內容幾乎是重覆的,只有帳密不一樣。當一次有二十個人要申請時這真的是一個神煩,必需一直複製貼上複製貼上。我就想反正值班的時候很閒,乾脆來改改看能不能寫出建完帳號能自動寄信的功能。經過大概一個月的摸索後我成功了。然後就有個機會來測試我的 script:我們要幫所有的碩班生建帳號。以前的方法是大家值班的時候一個一個建、一個一個寄信,我猜全部弄完應該要三四天吧,用新的 script 五分鐘就好了。

這個經驗我學到兩幾件事,第一是自動化可以節省很多時間,但更重要的是,我覺得改程式的過程,我學得很快樂。我在改的那一個月,值班的三小時都一下就過了。之前在家自己看 python 的時候,真的是在看手冊,看 list 有哪些 function、iterator 是什麼,但是常常看了就是,「喔~你可以這樣喔,阿不就好棒棒?」但是如果有了目的,變成是你有了需求而去學這個知識技巧,學了你可以去實現某樣東西,這是個很美妙的過程。這種隨著需求而學習方法我叫它隨需學習。

最近看了一些在說 hacker 的故事書,包括 <DOOM 啟示錄>,第一人稱射擊遊戲 DOOM,兩位作者的故事;<iWoz:科技頑童沃茲尼克>,是蘋果另一個創辨人的自傳;還有<黑客列傳>,從一群 MIT 的學生去偷用學校的超大台電腦說起,介紹了整個電腦史上的黑客們。這些人都一個共同點,就是他們的學習都是為了去黑某個東西,一直挖一直學,最後就變成專家了。

看了這些書,加上我自己的那個經驗,我有一度在想,是不是我可以不用透過上課來學習。我想得到去上課的理由是:老師幫你把教材整理好、講課讓你比較好吸收、出作業逼你寫讓你練習、你有問題可以問。但是,現在網路上的資訊這麼多,要書也很容易買得到,如果我已經知道我要學什麼,就大概可以知道去哪找資源;而如果學新知識是為了要做、要解決某件事,這就算是把寫做業的功能取代了;再說我會問的問題,網路上大概都有答案。當然去上課還是有好處,像是老師會分享他們的經驗,這就是光看書學不到的。只是這一路想下來,我覺得這種因為有需要而學習方式,好像讓我學到更有用的東西,而且學得很快樂。

下學期時間很多,來學其它東西試試看吧XD




沒有留言:

張貼留言