風(fēng)雨十年:一個(gè)老程序員的心里話(huà)(下)http://tech.163.com/school · 2005-03-18 22:15:57 · 來(lái)源: CSDN 第1頁(yè):風(fēng)雨十年:一個(gè)老程序員的心里話(huà)(下) 第2頁(yè):風(fēng)雨十年:一個(gè)老程序員的心里話(huà)(下) 第3頁(yè):風(fēng)雨十年:一個(gè)老程序員的心里話(huà)(下) 第4頁(yè):風(fēng)雨十年:一個(gè)老程序員的心里話(huà)(下) 第5頁(yè):風(fēng)雨十年:一個(gè)老程序員的心里話(huà)(下) 第6頁(yè):風(fēng)雨十年:一個(gè)老程序員的心里話(huà)(下) 風(fēng)雨十年:一個(gè)老程序員的心里話(huà)(上)4.對教育的反思與教書(shū)生涯2002年下半年,我參加了北京高校青年教師崗前培訓。一位杜教授的兩堂課讓我印象深刻,其中兩句話(huà)讓我深深震動(dòng):第一句話(huà):我是一個(gè)教書(shū)匠,教書(shū)匠好啊,好就好在“匠心獨運”!第二句話(huà):做什么工作都要達到變魔術(shù)的境界!是的,作為一名教師,就必須起到一個(gè)傳聲筒與放大器的作用,將人類(lèi)最聰明的人探索世界所得到的知識予以拓寬發(fā)展,以便讓更多的人能夠掌握這些知識并進(jìn)而應用于實(shí)踐,從而推動(dòng)人類(lèi)的不斷進(jìn)步。作為一名計算機專(zhuān)業(yè)的教師,就要努力把先進(jìn)的計算機技術(shù)以盡可能高的效率傳授給廣大的學(xué)生,引導他們直接面對真實(shí)的軟件世界,而不是向他們硬灌各種各樣的理論知識,強迫他們去死記硬背以應付考試。我是一個(gè)小人物,才低學(xué)淺,但我真的認為高校計算機教育存在嚴重的問(wèn)題。我在打工期間的開(kāi)發(fā)經(jīng)歷,以及閱讀國外相關(guān)資料的時(shí)候,發(fā)現學(xué)校中教的和社會(huì )上用的差得太遠!都已經(jīng)是什么時(shí)代了,許多大學(xué)還設立foxpro課程,難道就不能直接用現代主流的數據庫如oracle,sql server,哪怕是access也好,來(lái)講授數據庫知識?還有所謂的計算機等級考試,呵呵,過(guò)了三級學(xué)生的我見(jiàn)過(guò)不少,但他們真正對軟件,對計算機又理解多少?在中國甚至于升職稱(chēng)也要考計算機,我看了一本職稱(chēng)計算機考試教材,里面幾乎原樣照搬計算機原理課程中的相關(guān)章節,弄得我給搞藝術(shù)的大嫂講了一個(gè)小時(shí)的二進(jìn)制與八進(jìn)制、十六進(jìn)制的轉換方法,她還是弄不太清。我都泄氣了,對啊,他們搞藝術(shù)的,有必要去分清二進(jìn)制的10與十進(jìn)制的2有何分別嗎?他們八輩子也用不上。但是考試用得上,呵呵,又是中國特色。拿c++來(lái)說(shuō),我講過(guò)c++課,許多的國內教材對c++語(yǔ)法下了大功夫,卻對體現了c++精華的stl只字不提,對代碼背后所體現的軟件開(kāi)發(fā)思想與方法更是視而不見(jiàn),我用c++也編過(guò)不少程序了,說(shuō)句實(shí)話(huà),我用到的特性不到c++的三分之一!于是就出現了這種怪現象,許多學(xué)生考試可以拿八九十分,給他一個(gè)簡(jiǎn)單的實(shí)際問(wèn)題他卻不知如何下手!還有uml,現在好象很火的樣子,我們讀研時(shí)就開(kāi)了這門(mén)課,講句實(shí)話(huà),當時(shí)這門(mén)課我就沒(méi)聽(tīng)懂,可后來(lái)我嘗試著(zhù)用c++用面向對象的方法來(lái)編程序,然后,由代碼倒推回uml類(lèi)圖,一下子就明白了,原來(lái)uml只不過(guò)是一種描述面向對象系統的符號罷了,如果學(xué)生沒(méi)進(jìn)行過(guò)真正的oop,那就是為了學(xué)uml而學(xué)uml,根本就本末倒置。還有軟件工程,我的感覺(jué),一個(gè)人如果沒(méi)寫(xiě)過(guò)一萬(wàn)行以上的程序,他看軟件工程書(shū)就同看政治書(shū)差不多,每句都對,呵呵,就不知道為什么對。我完成了那個(gè)幾萬(wàn)行的vb程序之后,再回過(guò)頭看看理論,真是句句是真理!每個(gè)理論背后都是大量實(shí)踐經(jīng)驗的總結?;叵胛易鲕浖捏w會(huì ),我發(fā)現所有的知識都是一個(gè)完整的體系,根本就無(wú)法區分哪些知識是本科的,哪些知識是研究生課程。于是,一種想法產(chǎn)生了,我主講程序語(yǔ)言類(lèi)的課程,那我就直接以真實(shí)的軟件開(kāi)發(fā)過(guò)程為主線(xiàn),實(shí)踐中需要什么我就講什么。講c++/,我就拋開(kāi)了指定的教材,c++我講了stl,我講了ooad,兩者我都講了用rose進(jìn)行雙向工程,引導學(xué)生去學(xué)uml,一開(kāi)始就用uml去描述自己開(kāi)發(fā)的程序,何必浪費大量的時(shí)間去學(xué)結構化的編程方法?我現在簡(jiǎn)直成了面向對象技術(shù)的布道者,我下學(xué)期即將開(kāi)設ooad基礎選修課,從實(shí)際項目中抽取典型的案例,講uml,講rose,講設計模式,講軟件體系結構,例子代碼橫跨c++/和.net下的開(kāi)發(fā)語(yǔ)言(c#和vb.net),這對于我一個(gè)技術(shù)水平有限公司的董事長(cháng)而言,實(shí)在有點(diǎn)不自量力,我鼻子上才插上幾根蔥,就想裝大象?但我想,如果我能成功地激發(fā)出哪怕1%的學(xué)生的興趣,能引導他們走向我認為是正確的方向,能啟發(fā)他們思考,能直接面向真實(shí)的軟件開(kāi)發(fā)活動(dòng)而不是學(xué)校的考試,就是我的成績(jì)。我現在正在看引進(jìn)的原版書(shū)籍---《設計模式解析》,時(shí)時(shí)擊節贊嘆!《設計模式》經(jīng)典但難懂難用,而《解析》一書(shū)的兩位作者既有豐富的從業(yè)經(jīng)驗,又對ooad進(jìn)行了深入的思索,真知灼見(jiàn)時(shí)時(shí)展露于書(shū)中,我現在剛看了這本書(shū)的80%,基本上可以用一個(gè)成語(yǔ)來(lái)描述這部書(shū):深入淺出!要做到深入淺出談何容易!只有同時(shí)具備技術(shù)專(zhuān)家與文學(xué)作家素質(zhì)的人才能做到!反觀(guān)我們國內的大量教材,還有大量的垃圾論文(包括碩士,博士的,本科的就算了,我看絕大部分根本不能稱(chēng)之為論文),全都是“淺入深出”,作者自己都未必明白,就東拼西湊,擺出個(gè)樣子嚇人。本來(lái)完全可以用大白話(huà)三言?xún)烧Z(yǔ)講清楚讓人明白的道理,有人專(zhuān)門(mén)要繞一大圈,專(zhuān)挑用高深的數學(xué)公式來(lái)表達,唯恐別人容易理解,顯得他水平不高!呵呵,什么東西一沾上“數學(xué)”,立馬身價(jià)百倍。我就聽(tīng)過(guò)一個(gè)北師大的一個(gè)在讀博士說(shuō)過(guò):如果一篇博士論文中沒(méi)有一個(gè)數學(xué)公式,根本就不算是博士論文。這句話(huà)對不對,大家可以多思索。我數學(xué)不好,沒(méi)資格討論數學(xué),我的直覺(jué):數學(xué)是工具,但如果為了發(fā)表論文等目的而故弄玄虛,為數學(xué)而數學(xué),是不合道理的。中國的學(xué)術(shù)水平與現狀,大家都心知肚明,不用我廢話(huà)了?,F在每年都畢業(yè)大批的計算機專(zhuān)業(yè)學(xué)生,可其中真正具備扎實(shí)根基的可以很快勝任工作的我看只有5%(95%的學(xué)生不要扁我,不同意就當我在說(shuō)胡話(huà),我很瘦的,一扁就沒(méi)了)。多年以來(lái),我國高校計算機教育是按照計算機科學(xué)研究者來(lái)培養的,可事實(shí)上,有多少學(xué)生能從事計算機方面研究的能力?我看應分流,80%的學(xué)生按工程師方向來(lái)培養,20%的學(xué)生按研究者方向來(lái)培養,而且應大幅減少必修課的數量,計算機領(lǐng)域太深太廣,樣樣都想教給學(xué)生,反而成了夾生飯,一個(gè)想從事硬件設計的學(xué)生和一個(gè)想從事軟件開(kāi)發(fā)的學(xué)生,能給他們一樣的飯吃嗎?學(xué)校應提供各種條件和資源去引導學(xué)生,激發(fā)學(xué)生的創(chuàng )造性與主動(dòng)探索性,讓他們去嘗試,去發(fā)現自己的長(cháng)處,最終找到最適合自己的發(fā)展方向。不這樣做,中國軟件后繼乏人,沒(méi)希望。
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請
點(diǎn)擊舉報。