今天參加了師生座談會,探討了許多議題與建議。座談會接近尾聲時,主任從大一班代開始個別詢問,想聽聽各年級的心聲。其中一位同學說要替學弟妹發聲,他所提出的問題是:

大二的選修課「資訊安全」,課程的 project 會用到 Java。可是系上很久沒開 Java 了,有同學反應沒教過不會寫。

雖然這是跟教授們反應的意見,不過我還是忍不住舉手回應了他的建議:

學生在學習過一個語言後,應該要有能力自學其他語言,大部分程式語言的概念都是一樣的。

我也忘了我全部到底講了什麼,講了滿多句的,但不過大概就這個意思吧。在講的當下似乎聽到某些教授們對於我這番話給予了肯定,不過在我講完後,我也聽到另一位大學部的同學說:

那念資訊系幹嘛,都自學就好了啊。

看來這位同學真的對資訊系有很大的誤會,我想資訊系在你進來的第一年,就教了你一學期的 C 語言以及 C++,所以也學了一年了。基本上大多數語言的邏輯概念都是一樣的,大概 functional programming language 或是 HTML、CSS 除外。

難道一定要教授有教過才會寫嗎?教授教的都只是基本的語言結構與邏輯,學了這些也不算會這個語言,語言的深入也是靠自己學習。如果只是要學程式語言,那其實不用念資訊系的,可以考慮去巨 x 或是聯 x 上課就好了,學費相較之下可能比較便宜。我想這位同學你也修了資料結構或甚至是演算法了,一支程式是由演算法與資料結構組成,程式語言只是工具。資訊系教你的是程式的核心,不是只教你怎麼使用工具。

資訊工程學系主要教的是電腦科學工程方法,不是只有程式語言。建議好好考慮一下,這是不是你想要學的東西。

其實這其中最大的問題是-沒教過就不會。害我馬上就想到一句中國經典用語「知識點超綱了」,也就是這篇標題。這是很有趣的現象,好像有部分學生都認為只要會老師教的東西就好。不過離開學校後,再也沒有老師了,難道就不用學習新東西的嗎?這個世界變化的很快,尤其是科技。大部分就學期間學習的事物,在畢業後可能就被淘汰了。不懂得主動學習新事物,那你也就被淘汰了,如果因為這樣而失業,就別怪什麼經濟差找不到工作了。

現今的科技不如以往,幾乎什麼資訊都可以在網路上找到。就以該學生提的 Java 來說,以「Java 教學」作為 Google 的關鍵字搜尋,前五的頁面為:

線上資源整個很豐富,有了一年的 C/C++ 的基礎了,要上手應該不難。而且 Java 很多語法跟 C/C++ 很類似,class 的概念在 C++ 也有提及,門檻應該又降低了。如果你懶的在搜尋結果裡面挑出連結,那麼一樣可以用「Java 教學」作為 Google 的關鍵字,並按下「好手氣」。那麼他會直接帶你到「Java 程式語言教學」這個頁面,很方便吧!

不過第二位同學說的也不是沒道理阿!在這個資訊網路蓬勃發展的社會,大多數的知識都唾手可得,來學校好像也沒學到比較多。這也是未來各學校需要省思的問題,究竟學校在未來會扮演了什麼樣的角色?未來學校要帶給學生的是什麼?或許不再是那些網路上就唾手可得的資訊了。如此一來,對於不肯自主學習的學生大概會更慘,學校再也不教基礎,只教進階衍生的知識。

這不經令我想到「電的旅程」這本書,過去的科學家都在一無所知的情況下鑽研未知的項目,而現在的學生有著大量的資源,卻不肯主動去學習。一個是感動,一個是感嘆

另外,第二位同學在會議開始後,也提了第一個問題,他認為科目間應該有擋修,因為基礎沒扎好,無法學習進階的知識,我想他應該能懂基礎沒扎好的感覺。這麼有熱忱,再聯想到他的問題,突然覺得我誤會他了,其實他是嫌學校教的東西網路上都有。既然網路上都有,來學校幹嘛,都自學就好了阿。

題外話:跨平台程式設計(系上的 Java 課程)也只停開一年(去年),因為剛好那年曾老師輪休。