關於程式設計的課程,
教學時往往有種失落感,
失落之處不單是對同學面對程式感到挫折的同理心,
還有的,是對資訊教育環境不夠健全的無奈。
在這資訊環境趨於複雜的當下,
程式設計真的不是個簡單的領域,
但學校流於形式化的程式設計教學模式,
學生學到的,往往都是難以接軌業界的東西。
物件導向程式設計
學會環境介面 -> 變數 -> 語法 -> 類別方法 -> 事件 -> 物件 (IO, GUI...) ->封裝繼承多形 ......
視窗程式設計
學會環境介面 -> 變數 -> 語法 -> Layout -> 元件 (IO, GUI, Network) -> 事件 -> 副程式/ 方法...
網頁程式設計
介面 -> HTML -> 動態程式語言 -> 變數 -> 語法 -> 頁面元件 -> 伺服器元件 -> 副程式/ 方法 -> SQL語法 -> 資料庫連結
這樣制式化的教學看起來豐富充實,
但若以就業為考量,這真的足夠嗎?
(有些課程連這些內容都沒辦法完成)
以當下業界環境的程式設計趨勢為例,
假設一個開發專案:
UI用AJAX呈現,透過ZK / Java實作設計並且以CSS、JQuery, widget美化版面,溝通方式以REST或SOAP方式運作,透過XML, JSON做資料交換、介面溝通,並以EJB實作應用程式開發,實現SOA的軟體架構,達到SaaS的運作精神。.
這樣的內容,以受當下資訊教育訓練的學生,該怎麼面對?
老師們,您瞭解這些內容嗎?
而這些還不包含LBS (Location-based Service)應用、行動裝置程式設計 (Android, iOS應用開發), 雲端程式設計,(map / reduce 架構, Hadoop, Google App Engine....)等等
當然,
上述方式是嚴苛的條件,許多資訊公司也未必有這樣的心思去實現,
但這不足以做為資訊教育環境匱乏的藉口。
學生或許不認真不花心思排斥練習,導致老師想給予,卻總是滯礙難行。
但老師們的資訊素養是否有真的跟上時代?
更甚,系所的課程規劃是否浪費師生資源與時間?
- 不同的程式語言重覆教授基本觀念
- 老掉牙(ex: web 1.0)的技術, 觀念至今還在教
- 進入到OO時代的語言卻還教授舊的程序版本
- 課程編排毫無章法,課程間無法串聯令學生事倍功半
程式設計是需要時間與精神才得以養成的技能,
除了基本的觀念外,
它更需要的是一個整體化的規劃,而非一次次的短期訓練,
但可惜的是這些狀況一再再出現在許多資訊系所的課程編排當中,
設問受這樣教育下的學生,競爭力為何? 生存能力是什麼?
倘若學校只期望把學生丟給業界便眼不見為淨,
這樣學生受教育的意義又是為何呢?
令人擔心的是,
這樣的落後思維普遍存在當下資訊教育環境中,
若資訊系所仍未開始正視這個思維,改善當下資訊教育環境,
這對於學生求學價值、技能學習,甚至是國家資訊產業的整體競爭力,都將會是莫大的隱憂。
BP 2011.05.23
留言
張貼留言