網路城邦
上一篇 回創作列表 下一篇  字體:
新書序言:真正的程式語言「課本」
2012/12/09 10:36:03瀏覽1485|回應0|推薦7

剛剛寫好一本VB 2012的入門程式語言教學用書,應該兩三個月後會出版,序言是這樣的,很能說出我對程式設計教材製作的理念:

作者序

我是一個教程式設計超過十年的大學老師,大家都知道任何與電腦相關的科系都會教程式設計,但是上完課真的會寫程式的學生卻很少!好像程式高手都是自學的天才,和上課沒關係的!某位畢業於頂尖科大的晚輩也跟我說:連該校資工系的學生都有1/3因為不會寫程式,不敢去應徵高薪的RD(研發)工程師!可見程式設計的教學在台灣是非常失敗的!多數人將此歸咎於程式設計真的很難,我完全不同意!我認為:只要教材對了,再難的科目都可以循序漸進地學會!

如果程式「語言」很難,請各位想想中小學的老師們是怎麼上國文課的?可曾有老師抱著康熙大字典來上課?當然沒有!每一課一定都是一篇很美的文章,從小學階段的童謠兒歌,到中學的散文或文言文,有幾個學生會抱怨國文太難?但是很奇怪的!請各位看看市面上的程式語言書,有幾本是這樣編寫的?是不是所有程式語言書都很像是字典或文法書?也就是以「工具書」而非「課本」的模式編寫的。我一直很納悶,難道其他教程式的老師都用這些「課本」來上課嗎?試想誰能藉著勤看字典學好作文呢?

我是個非資訊科班出身的海洋學博士,40歲之前寫程式只是我的業餘興趣;近年改以教程式語言為專業後,除了教學之外也主持開發了很多商業化的資訊系統,以及許多學術用的軟體。整個過程中我一直自學各種程式語言學得很快樂,也寫得很快樂!但是我很少抱著一本電腦書從頭讀到尾,都是先找到我要的程式範例,先模仿試作,跑出我想要的結果之後,再回頭細細學習並欣賞這些程式技術之美。整個過程真的就像在上中小學的國英文課一樣!一邊讀著優美的文章,一邊學習單字、片語或文法,非常的輕鬆愉快!

如果我自己可以經過如此快樂,且最終非常有效的途徑走進程式設計的專業,為何我的學生就不能?所以十一年前我剛開始教程式語言的時候,就嘗試用範例導引的方式上課,一開始效果就很好,學生不會抱怨程式課太難,甚至覺得很好玩!現在很多學生都已經畢業從事與寫程式相關的專業工作了。這不是因為我有補教名師般的口才與表演天分,而是寫程式、學程式真的很好玩!只要老師肯直接將優美的程式示範給學生看,讓學生模仿習作,體驗到用程式操控電腦的樂趣,多數學生都會迫不急待的想寫程式的。正如讀過「再別康橋」之後很多人都會忍不住想寫一篇自己的新詩!

這本書,與我之前的作品都是以範例導引的模式寫作!我認為程式語言與一般語文相似,我們用英文與國際人士溝通,用程式語言與電腦溝通。程式語言的入門書不是要教學生「甚麼是程式語言?」這是博士班才要深思的問題。對初學者而言,最重要的是學「怎麼寫程式?」這一本,就是直接教你如何寫程式的書。

因為以教學為主要目標,如何讓讀者看得懂,看得有趣是第一個目標!因此本書會詳細的將一個程式從無到有,到大功告成的所有步驟循序講解。保證讓所有初學者都不會因為對程式操作的陌生,或失去關鍵步驟的解說而讀不下去。羅馬不是一天造成的,任何程式都是逐步建構完成的,有如蓋房子必須先蓋好樓層,再加隔間,再加上裝潢。在本書不會只告訴你程式物件或指令的定義,而是詳細說明它們在建構具體程式時扮演的角色與使用的時機。

或許因為詳細的說明,之前讓部分讀者誤會作者寫的書「很簡單」!事實不然,正確的教學目標當然不是讓學生學完之後只能作「玩具」等級的小程式!而是真的學會可以到業界當程式師所需的專業技能!這是作者自豪之處,我真的開發過很多實用系統,熟知很多專業等級的程式技術,我不認為學程式必須「分級」,初學者就一定不能涉獵高級的技術。因此只要程式複雜度在初學者可以接受的範圍,我都會努力將進階技術融入本書的範例。譬如拖曳、碰撞偵測或動態產生物件等程式範例都是其他入門等級的程式語言書絕對看不到的,但本書都有!

另一方面,我也希望讀者們能跳脫尋找內容「完整」的程式書來學習的迷思,在網路時代其實任何的程式語言資訊都可以輕鬆的免費獲得,困難的是如何可以寫出有意義,而且是你需要的實用程式!買書的價值應該是找到能教你學會寫程式的系統化教材,而不是一本內容詳盡,但缺乏實用範例的工具書。說到「完整」沒有任何一本程式書的內容可以比MSDN Library資料庫更完整,而這個資料庫是隨時可以免費使用的!

回到前面提到的一個神祕話題!印象中好像程式高手都是不必上課自己摸索學習就會的!在周遭人眼中我也是這樣的一個典型。是剛好這些人特別聰明?還是有一本神秘的武功祕笈流傳?剛好被我們拾獲?我覺得都不是!而是這些「怪咖」幸運的一開始就用對了學習的方法!他們不拘泥於形式化的學習,直指寫程式的目的,找到適當的範例程式作為學習的目標與捷徑。正如在台灣上三年英文課的效果,還不如到美國瞎掰三個月的英文效果更好的意思一樣!

這些神秘的高手們或許因為敝帚自珍不想將秘技外傳,或者因為欠缺表達能力無法寫書,或者因為被「正統」的程式專家們所嚇唬,沒學好「物件導向」理論之前就不敢寫書,或者真的寫書了!卻不敢跳出窠臼,還是將程式書寫成很難閱讀的大部頭工具書。也因此讓所有教程式語言的大學乃至中學老師都非常頭痛!市面上連內容簡單一點,方便教學用的書都沒有,更不用提可以讓學生真的學會寫出好程式的武功祕笈了!我希望這本書可以讓大家耳目一新,這真的是一本好教也好學的程式設計「課本」,我知道!因為我就是這麼教的!

 

張逸中

寫于_台灣首府大學_數位遊戲設計學系

 

( 心情隨筆校園筆記 )
回應 推薦文章 列印 加入我的文摘
上一篇 回創作列表 下一篇

引用
引用網址:https://classic-blog.udn.com/article/trackback.jsp?uid=yccsonar&aid=7117876