資料結構與程式語言教學 - 視覺化動態輔助教學套件

寫程式、學程式,久了,往往就會忘了自己還是新手時的痛苦,忘了自己上論壇問白痴問題被修理的冏境 …我可以將一本書寫到超過 1000 頁,就像寫 「C# 範例精要解析」一書的方式,鉅細靡遺的交待每個議題的細節,但這是教科書,一學期也不就十八堂課 …

寫程式、學程式,久了,往往就會忘了自己還是新手時的痛苦,忘了自己上論壇問白痴問題被修理的冏境…在面對程式新手時,經常忘了很多理所當然的東西,對新手而言其實是相當困難的,甚至覺得程式新手怎麼老是這麼不用功,連問問題都不會,每次只想要答案?

相信絕大部份的人在教小朋友騎腳踏車時,不會斥責他這麼簡單的踩踏板動作怎麼老是作不好,也不會在教小朋友游泳時氣急敗壞的修理他說:頭埋到水裏嗆幾口水自然就會換氣了,但是換到教程式這檔子事,很容易火氣就上來了。好吧,仔細審視自己過去入門的那一段磨難時光,才發現或許自己太苛求初學者,太自以為是的從自己的角度去看新入門的程式設計師…儘管小白很多,但真正的事實是,或許有時候自己誤會了這些新手,甚至對他們造成了打擊而不自知 …

會有這番感觸,始於大約兩年前的一段機緣,工作室開始投入一系列基礎程式語言與資料結構教學用書的開發,在開發的過程中,漸漸的體認到,許多程式老手認為理所當然的東西,站在初學者或是完全沒有基礎的學生角度來看,真的是很難以理解,例如一個簡單的事件處理程序,一個簡單的堆疊,甚至遞迴運算,實際的程式可能寫寫 Code 就 OK 了,但是要具體講到學生懂?又是另外一回事了~~

這種情況讓我教學用書的開發工作陷入了兩難 ~~

我可以將一本書寫到超過 1000 頁,就像寫 「C# 範例精要解析」一書的方式,鉅細靡遺的交待每個議題的細節,但這是教科書,一學期也不就十八堂課,真的這樣寫,我看三年教不完一本書,學生還沒學好就先陣亡了,饒了出版社,饒了學生也饒了我自己吧,但是,不講清楚難不成湊個幾百頁了事,然後再讓用書的學生不知道自己學了什麼鬼東西之後莫明其妙的畢業了?

好吧,兩種作法都無法被接受,後來思考良久,要精簡頁數又要讓教學產生效果,唯一可行的,就是發展輔助教材,不過,問題又來了,要發展什麼樣的輔助教材,既能讓老師容易接受,又不會超出工作室的能力範圍,也就是成本…

要達到我們的目標,必須作到幾件事,首先,書內文中的每一頁均必須有對應的輔助教材,接下來,教材必須超越靜態紙本,同時能夠稱職的擔任輔助角色 :)

1. 工作室首先想到的便是 Flash ,是呀,美好的動畫,這每一頁都是錢,逐頁對譯,一本書少說要作個五百張,有沒有那麼多錢讓我燒啊 ~~

2. 錄製教學檔,這其實很吊詭,老師教書要教學檔幹麼,上課直接播放教學檔完事,要老師作什麼?

3. 投影片,彈性大,自己就能作,可以作為書本內容的輔助

第三項似乎滿能符合需求,只是直接 Copy 書的內容,除了教學稍微方便一點,事實上意義也不大,因此,更進一步的,工作室決定採用另一種作法,製作全動態投影片,決定之後,開啟了我們一路下來,總共六本書全動態投影片的悲壯發展史,最後的成果,就是以下的廣告片(只列舉 Java 資料結構為例):

這篇先作個引言,到這裏,接下來,針對六本書的重點部份,從 C 語言、Java 到 Visual Basic,從程式語言到資料結構,我們再逐一將相關的投影片轉換成為 Flash ,與大家網上分享。