緣起
去年四月初,兒童節剛過不久,接到郝明義先生來信,提到考慮出版少年讀者的程式書,並且提及他和唐鳳談的過程中,唐鳳建議他來問我的意見。?
我本身有自學程式、創作專案的經驗,但是參與黑客圈的經歷並不長,大部分的經驗都在自學圈與教育圈。
數學教學的經驗比較豐富,中小學的數學教育,常見的問題我大都知道如何處理。程式教育則是比較新的東西,大家都還在摸索,沒有定論。我自己的經驗是,將程式視為數學的應用,把數學教育的知能用於程式教育上、搭配上藝能科實作教學的方針,兩者合起來,是行得通的。
不過,當時因為兒子還很小,我主要是在家與妻子協同帶小孩,努力從手忙腳亂中找到節奏。過程中,家庭新節奏優先,手上幾個專案都暫停開發了,一時也沒有程式方面的授課。
當時我想,只是聊聊,分享經驗和想法也是好的,因為十二年國教資訊課綱中,程式教育進入中小學,對這一點,大家當然都有期待,也希望整體是往務實有益的方向發展。如果大塊想出程式入門書,至少把點子提供一下,讓他們有個好的方向也不錯。沒想到,聊著聊著,郝先生「你來寫這本書如何?」這句話就出現了。
程式的範圍很廣,很少有人全部都懂,我對許多範圍所知也相當有限。以網路App而言,我也只是比較熟悉用戶端、不熟悉伺服器端的開發。不過,對於入門書而言,重點不在面面俱到 ,而在引起興趣、建立初步成功經驗,以及對陌生的領域掌握其大概的範圍和知識地圖,還有延伸學習的資源引介。
這些是我可以做的,也有意願嘗試,於是我就答應了,並且以角色扮演遊戲中常見的地水火風為程式領域分類,凸顯效果、結構、溝通、實際與效能這些程式設計師在乎的價值。希望讀者一面閱讀、一面上機操作的同時,能夠有更寬廣的視野。
兩個月的撰稿過程中,很感謝唐鳳提供的專業諮詢,以及後續大塊文化、網路與書編輯團隊在表達與圖文上的討論與細修,當然也要感謝整個網路上眾多學習資源的開發者。
總而言之,書中的知識並不是我的。我只是把不同地方學到的知識,組織重整、選擇並整理成比較適合入門的樣態、並設計例子來說明,如此而已。
期望讀者將本書視為一個入門的踏腳石,經過它之後,還可以走很遠的路。
唐宗浩,2017夏