軟件專業教學改革三原則

軟件專業教學改革三原則

    好嘛,上來就是三條原則,累不累?沒辦法,現在就興這個,不搞出個三什麼四什來就顯得沒份量,只好隨大流了。

一、實踐至上原則

    學生背書是風氣,哪個專業都這樣(不用讀書的專業除外)。可是在軟件專業就格外有害,因爲期望值不一樣。別的專業畢業後人家不指望你能幹什麼:年輕人嘛,慢慢兒鍛鍊。軟件專業不行,你幹不了什麼就去當藍領,就跟下車間掃鐵末一樣。學生眼睛瞪圓了盯着那幾個高薪職位,恨不得一畢業就填進去。這麼高的期望值,靠背書怕是不行。有些人的確善背,不管懂不懂,硬是能背出個高分來。不過那不能當飯吃,什麼都沒弄明白,到了工作單位照樣兩眼一抹黑。所以要談實踐至上原則。
    所謂實踐至上,就是強調動手去做,通過做把問題弄明白。走得遠一點兒,就是所謂擬向教學:從應用開發入手,需要什麼再去學什麼。當然不能走極端,把什麼課都當研究對象。象數學、外語這樣的基礎課,只能從一開始就強加給學生,不能等大家都明白其“偉大意義”後再開課。不過,現在實際上是另一個極端:強加給學生的東西太多。學生對軟件設計沒有多少感性認識,就面臨着一大堆概念要去對付。他們實在弄不明白這些概念都是什麼含義,但是還要通過考試,只能靠死記硬背了。比較有靈性的學生可以隱約品出個中含義,裝在腦子裏留待考察。以後他們會慢慢把問題弄明白。這樣的學生往往是最優秀的學生,可惜這樣的學生並不多。很多學生到畢業也沒把那些東西弄明白。當然不能指望學生把什麼都吃透,很多東西只能在工作實踐中慢慢體會。這裏有一個度量的問題:大部分學懂了還是基本上糊里糊塗,這是本質的區別。
    實踐至上不是說不學基本原理,學生整天上機做課題就行了。《數據結構》算是基本原理,藉助數學式的抽象方法來闡述算法(可惜現在的《數據結構》還不夠味兒,不知何時能有人拋出更象數學的《數據結構》來)。可是,只講算法,不上機實現,天知道能有幾個學生明白那些絮絮叨叨的算法是在忙什麼。網絡協議那一層層的關係講得夠清楚的,可是有的學生會問:搞那麼多層幹什麼,爲什麼不在一層全部實現?面對毫無設計經驗的學生,教師實在無言以答。要是教師也沒有設計經驗,就只能在書上找現成的答案了,或是王顧左右而言他。其實,學生只要多少做過一點網絡通信,哪怕是一個簡單的串行通信練習,也會勝過萬語千言。所以說,基本原理必須要學,但何時開課,以什麼基礎知識來講授,大有探討的餘地。課開早了,學生缺少感性認識和實踐手段;開晚了則學生的實踐將缺少理論和方法的指導。
    各方面的經驗說明,學生最好能早一點掌握一種編程工具,越早越好。但編程工具不等於編程語言。現代編程工具中語言的含量越來越少,更多的是語言之外的設計方法,但這些東西好象 IT 界還沒來得及歸納總結,還沒形成系統的理論框架。所謂結構化設計方法和 OOP 之類,只能概括其中一部分。很多東西只是作爲零散的經驗隱含在設計實踐中。學生花一兩個學期掌握一堆語法之類的東西,只能用來玩玩小程序,並不能真用來做什麼,其實是被關在了設計大門之外,失去寶貴的實踐機會。從這一點來看,學生應該儘早掌握一種易學易用而又功能強大且富有理論內涵的設計工具。
    學生做設計實踐最大的問題是碰到難題不知如何往下走。其實很多隻是些小問題,但學生沒見過,花了很多上機時間也解決不了,有些人就此喪失信心。這時候就需要有經驗的指導教師點撥一下。所以說,主講者需要有設計經驗,實驗指導也需要有設計經驗。從某種意義上來說,後者比前者更重要。有些規模不算小的學院,教師中也幾乎無人有設計經驗,讓學生做的課題教師自己也做不出來。真不知這種學院怎麼辦下去。教育體制所限,恐怕這類問題一時也解決不了。

二、自學爲主原則

    進大學就是進課堂,這好象是天經地義的(至少本科以下是這樣)。一說哪個教師課上得好,就是講課如何生動。差一點的,學生會說,那個教師還行,至少上課大家都醒着,如此這般。學校考察教師也是看課堂教學。總之,全是圍着課堂轉,傳統觀念無不如此。記得以前讀過一個真實的笑話,說是西方人來中國大學考察教育改革,問起淘汰的教師怎麼安排,回答是:這好辦,去圖書館。來者瞠目,因爲他們那裏是最棒的人去圖書館。從這裏也可以看出我們大學的特色。
    其實,有些很不錯的教師並不擅長課堂表演,但擅長推動學生的課外學習,也教出了不少好學生。這樣的人應該比那些只會表演的教師更適合當教師。當然,教師最好各方面更全面一些,但要求過高畢竟不現實,特別是計算機類各專業,知識更新如此之快,生一場病回來,就發現面前是一堆新術語,都快成外行了。再加上體制上的原因,很多人整天忙的就是湊論文提職稱,無心坐下來搞研究。這樣一羣人,能在課堂上念真經的恐怕不在多數。既然如此,那何不乾脆把功夫下在鼓勵學生去自學呢?
    鼓勵學生自學並不是把大學變成自學考試。課還是要上,只是上得少一點,精一點,給學生更多的自由支配時間。有人可能會覺得,這樣一來學生就可以甩開膀子泡網吧聊天玩遊戲了。其實,關鍵在於如何考試如何檢查學生的成績。那種背一通就能應付的考試起不到什麼作用。與其那樣,倒不如規定一本書讓學生去啃,考試只考這本書讀了沒讀,沒讀的通不過。我們的大學非常注重精耕細作,差不多每門課都要求學生學懂吃透,還要把旮旮旯旯的細節都記住,要不然就很難考出好成績來。做學問自然需要把問題弄明白,但這需要一定的知識面作爲前提。好讀書而不求甚解,結果是什麼都知什麼都不知;死鑽若干細節問題而不去廣泛閱讀,只見樹木不見森林,也同樣做不好學問。我們的大學一般不要求學生廣泛閱讀,有的學校圖書館甚至沒多少書可讀(這一點和西方的大學很不同)。有些教師給學生推薦書目,有些學生能博覽羣書,大都是自發行爲,一般並不體現在學習成績中。因此一般學生只啃啃指定課本也過去了。外籍教師一來了就要求學生讀這讀那,弄得很多學生不適應。這種差別恐怕正是我們進不了世界級大學的原因之一吧。
    設計實踐也是這樣,說起來好象很重視,其實普遍地不重視。學生隨便交個作業就能通過,怎麼知道那個作業不是下載或複製來的?如果規定每個學生都要通過答辯,說說自己的設計是怎麼個思路,情況就大爲不同。筆者曾做過類似試驗,結果把有些學生憋得半死,最後居然也搞出個象模象樣的東西來。有的學生自己也沒想到還有這麼大本事,這大概就是潛能的釋放吧。當然,這樣搞法,教師要付出很多心血,但其收效遠遠超過付出,能否實施,就在於教育管理體制了。
    教師不一定非要比學生懂得多,這是教育界的常識。總有些肯用功又愛動腦筋的學生,不聲不響琢磨出些真知來。讓學生相互交流,比教師在那裏指手畫腳要好。課堂上也能讓學生交流,但畢竟時間有限,再加上學生在教師面前總有些縮手縮腳的感覺,課堂交流只能作爲一種演示,不可能解決根本問題。這就需要教學管理者和教師相互配合,爲學生創造出課外交流的氣氛和機會。

三、瞎子過河原則

    越說越沒譜了,高等教育怎麼成瞎子過河啦?抱歉,實在找不到合適的詞兒,大概意思是:現在的教學方式基本上是“規劃”出來的,從教學大綱、教材到授課方式,一切都有規劃,可是很多規劃實在讓人不敢恭維,倒不如把規劃放寬鬆一點,讓教師試探着往前走。
    比起數學、物理學這些傳統學科來,計算機科學還是個幼兒,無論是理論還是方法都很稚嫩。軟件學科連幼兒也算不上,頂多是個嬰兒。那一本本大部頭的教科書,看起來挺嚇人,其實裏面沒有多少是成熟的東西。拿軟件工程來說,講起來一套一套的,真用起來感覺怎麼用怎麼不順手。學生學了軟件工程,以爲掌握了一件利器,從此可以按科學方法設計軟件了,但畢業後一接觸實際,發現大家並不遵守那些設計原則,於是從產業體制上找原因。體制上是有問題,但軟件工程學本身也有問題。最大的問題就是企圖用尚不成熟的設計方法指導複雜的工程設計。現在很多人認識到,複雜的軟件是生長出來的,不是規劃出來的。軟件工程還需要下大力氣研究軟件生長的規律,不能總是圍着如何規劃設計轉圈兒。
    舉這個例子是想說明,一個年輕學科,其教學方式應當與成熟的傳統學科有所區別,應當給教師更大的選擇權,不宜把教學計劃看得太重。本來我國教育體制就有管得太死的弊端,傳統學科也深受其害,急劇發展的年輕學科更是可想而知。管理層總是傾向於“有罪推定”,總覺得不管得嚴一點教師將放任自流,不負責任,學生也將一片散沙,不可收拾。但這種管理方式恰恰違背了教授治校的基本原則,教師中蘊藏的真知灼見和學生的創造精神就這樣被扼殺了。
    哪個學生都希望能有適合自己的教學起點和教學進度,恰恰這一點讓教師很難辦。不光是衆口難調的問題(除非信息革命造就真正的特殊教育,這個問題恐怕永遠也解決不了),更大的問題是教學規劃和學生實際不符合,教師還要繼續按照規劃教下去。教學規劃只能按照一般經驗來制定,它常常不符合學生實情,也常常落後於 IT 的發展。可是,教師沒有權利隨便更改上邊制定的教學規劃,明知這樣教下去對學生很不利,也只能硬着頭皮往前走。
    很多學校都時興由學生給教師打分,有的學校甚至每月一評。筆者也曾“有幸”參與過這類評測管理軟件的設計。看着那些戒律般的評測項目,真不知教師還敢做什麼。相信大多數學生都想公正地評判自己的恩師,但學生畢竟不瞭解教學細節,只能按照固定格式填寫評測卡,由此形成的統計平均值成了一種統一框架,教師一律都被格式化。這種模式很容易迫使教師走向平庸,變成思想遲鈍的教書匠,甚至迫使有創見勇於改革的教師選擇棄教而去。最終的受害者還是學生。
    大學生應該有選擇學習內容和學習方式的權利。同樣道理,大學教師也應該有選擇教學內容和教學方式的權利。當然,這種權利不是絕對的,需要跟管理方和學生協商,但最終決策者應該是教師本人。大學教師不是保姆,不需要懷揣一本“保姆須知”去照看和遷就學生。教師的基本工作是自己做學問和幫助學生做學問。教師應該善於獨立思考,有獨特的教學風格,用自己追求真理的科學精神去影響和帶動學生。這樣的教師羣體含有多種維生素,教師把各自的個性充分展示出來,學生可以在不同觀念、不同風格的碰撞中經受薰陶,體驗治學真蒂。反之,一個不求有功但求無過的教師羣體能給學生提供什麼樣的學習環境?這種不求進取的教學風氣或許對某些學科尚無大礙,但對信息科學特別是急需創新的軟件學科非常有害(衆多事實已經說明了這一點)。相信形成這種局面絕非大多數學生的本意。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章