網路城邦
上一篇 回創作列表 下一篇  字體:
你的程式設計課是怎麼上的?
2019/06/14 04:01:32瀏覽1216|回應0|推薦7

我常常說我的程式設計知識技術都是自學的,嚴格講不是完全準確。大四時我確實選修過一門Fortran程式語言的課,但是大概只上了一兩周吧?我就發現這和我以前上的物理或地科課程完全不一樣!我根本不需要聽老師講解很多知識,我需要的是我實作失敗時他給我的幫助扶持。

當時(1984)還沒有電腦教室這種概念,老師還是在一般教室在黑板上書寫講解程式碼,至於程式能不能RUN?還是要自己到電算中心「上機」,跟電腦實質互動之後才知道有沒有效果。當時只看到老師猛寫黑板,學生勤抄筆記,等著下課後再到電算中心上機,看看老師講得對不對?或者我的筆記有沒有抄錯?現在的人看到這種景象一定覺得很荒謬!

我當時就會想,既然如此,上課的意義何在?如果老師多說些「為何要寫程式?」的道理,或許有點意義,但他們都沒有啊!只是在黑板上教「怎麼寫程式?」但是電腦書上就有程式碼了啊!最後學習成效的裁判是電腦,不是老師。這位老師也很開明,選修課嘛!學生也是畢業班了,不點名的!成績只是看程式執行結果的報表決定。

所以我馬上開悟,不上課了!每到上課時間不是直奔教室,而是直奔電算中心上機,我當時正常上課是在師大分部,電算中心則在本部,距離三公里。我就是直接騎腳踏車到另一個校區自學的!正課時間電算中心根本很少人使用,我等於有一個專屬的電腦教室,還可以開好幾個終端機一起玩!真正的困難是出錯時沒人幫我,當時就會想,老師為何不能在我身邊即刻幫我?而是在遠端無聊的繼續講課?學生還會睡著咧!

我想這就是我那個年代電腦高手幾乎都是自學者的原因了!不是我們特別聰明,而是我們沒有笨到以為學寫程式要像學傳統科目一樣乖乖在教室聽課!就像好廚師都是學徒出身一樣,上很多課取得的高學歷或證照,其實沒有太大的意義,如果菜煮不好一切都是白搭!如果需要的程式你寫不出來,即使你是台大資工系的博士,也沒人理你的!最多只能當教授!

我開始當教授教程式設計時,一開始就是在電腦教室上課,但是有點心虛,因為我不但不是科班出身,而且只花不到一半的時間講課,其他時間都是讓學生自己操作電腦,我真覺得自己很混,很不敬業!三小時的課我「講課」的時間其實不到一小時!這樣子還好意思領高薪鐘點費嗎?但是很快我就發現我這樣做才是對的

因為我看到很多老師在電腦教室上課時,確實很認真地努力講滿三小時,真正的原因卻不是想認真上課教會學生寫程式,而是很怕面對學生實機演練時出現的問題。他們其實對於自己上課教的程式語言或軟體沒有這麼熟練,照本宣科很容易,還很有尊嚴!但是學生上機操作失敗,程式錯誤時,他們卻無法當場解釋與解決,那才是他們心中最深的恐懼!

所以我知道,那些口沫橫飛,卻總是讓學生沒有機會在老師面前上機演練的老師都是爛老師。我講課一小時,讓學生演練兩小時,那兩個小時我隨時巡迴服務幫學生解決問題,也鼓勵學生們互相幫忙,也因此我的課從來不會有學生缺課的問題,因為真的總是很好玩,學生沒有打瞌睡的機會。其他老師總是抱怨學生蹺課或上課啃雞腿,我覺得是他們自己不好,沒有學生不愛玩的!你不讓他們好玩,是你活該!

如果你是「認真」上課,總是講滿三小時的老師,當然學生要上機演練就是課後的時間了!如果是認真的學生真的課後「自主」上機演練,遇到問題誰能幫忙呢?老師即使實力很強也已經下課休息了啊?同學即使會也沒義務幫你啊?他們的意見可能也是抓瞎亂掰的!所以最好的方式是最厲害的老師就在你身邊即刻救援

我當老師時就是這樣作的!其實寫程式會遇到的問題,有經驗的程式師當然可以立即輕鬆解答,但是你都還沒遇到的問題,上課時即使老師先講了你也不會理解,只是覺得要多「背」一些東西而已!想不睡著也難啊!更何況多數教程式設計的老師,自己都還夠不上程式設計師的一般水準!要他們當「實習助教」比要他們照著教材講課難上很多倍的!

如果在你學習寫程式的過程,尤其是初學的階段,有個真的很熟練的老師在旁邊隨時幫忙,任何想學好程式,腦袋不算太笨的人都可以很快變成信心滿滿的程式設計高手!我教的都是大家認為後段班的大學生,但是沒有幾個人抱怨程式設計很難,半數以上的人都覺得自己也能作程式師,原因就是這樣的!程式設計本來就不會比進廚房煮菜困難。

所以不要再感到挫折,以為是自己笨所以學不會寫程式了!其實都是老師的錯,你沒問題的!你只要知道寫程式跟作菜一樣,一定要自己下廚房體驗,也知道在初學階段,應該找真的會作菜的人盡量在現場幫你,你就會達到目的了!這也是線上教學很難取代老師教學的主因,我自己常常上網聽影像辨識的影音課程總是很快就睡著了!哈哈!我也是普通人嘛!無聊是會致死的!

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

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