作者序
從第一本書是到今天,沒想到一晃眼就進入第五年,而出版繁簡體的電子書竟也破百本大關,當初出版電子書是希望能夠在教育界開一門Maker自造者相關的課程,沒想到一寫就已過4年,而這些書都是我學習當一個Maker累積下來的成果。
這本書可以說是我的書另一個里程碑,很久以前,這個系列開始以駭客的觀點為主,希望Maker可以擁有駭客的觀點、技術、能力,駭入每一個產品設計思維,並且成功的重製、開發、超越原有的產品設計,這才是一位對社會有貢獻的『駭客』。
如許多學習程式設計的學子,為了最新的科技潮流,使用著最新的科技工具與軟體元件,當他們面對許多原有的軟體元件沒有支持的需求或軟體架構下沒有直接直持的開發工具,此時就產生了莫大的開發瓶頸,這些都是為了追求最新的科技技術而忘卻了學習原有基礎科技訓練所致。
筆著鑒於這樣的困境,思考著『如何駭入眾人現有知識寶庫轉換為我的知識』的思維,如果我們可以駭入產品結構與設計思維,那麼了解產品的機構運作原理與方法就不是一件難事了。更進一步我們可以將原有產品改造、升級、創新,並可以將學習到的技術運用其他技術或新技術領域,透過這樣學習思維與方法,可以更快速的掌握研發與製造的核心技術,相信這樣的學習方式,會比起在已建構好的開發模組或學習套件中學習某個新技術或原理,來的更踏實的多。
目前許多學子在學習程式設計之時,恐怕最不能了解的問題是,我為何要寫九九乘法表、為何要寫遞迴程式,為何要寫成函式型式…等等疑問,只因為在學校的學子,學習程式是為了可以了解『撰寫程式』的邏輯,並訓練且建立如何運用程式邏輯的能力,解譯現實中面對的問題。然而現實中的問題往往太過於複雜,授課的老師無法有多餘的時間與資源去解釋現實中複雜問題,期望能將現實中複雜問題淬鍊成邏輯上的思路,加以訓練學生其解題思路,但是眾多學子宥於現實問題的困惑,無法單純用純粹的解題思路來進行學習與訓練,反而以現實中的複雜來反駁老師教學太過學理,沒有實務上的應用為由,拒絕深入學習,這樣的情形,反而自己造成了學習上的障礙。
本系列的書籍,針對目前學習上的盲點,希望讀者當一位產品駭客,將現有產品的產品透過逆向工程的手法,進而了解核心控制系統之軟硬體,再透過簡單易學的單晶片開發板與C語言,重新開發出原有產品,進而改進、加強、創新其原有產品固有思維與架構。如此一來,因為學子們進行『重新開發產品』過程之中,可以很有把握的了解自己正在進行什麼,對於學習過程之中,透過實務需求導引著開發過程,可以讓學子們讓實務產出與邏輯化思考產生關連,如此可以一掃過去陰霾,更踏實的進行學習。
這三年多以來的經驗分享,逐漸在這群學子身上看到發芽,開始成長,覺得Maker的教育方式,極有可能在未來成為教育的主流,相信我每日、每月、每年不斷的努力之下,未來Maker的教育、推廣、普及、成熟將指日可待。
最後,請大家可以加入Maker的Open Knowledge的行列。
曹永忠 於貓咪樂園