大學計算機科學導論論文
大學計算機科學導論論文
計算機技術日新月異的今天也要求高等院校開設的大學計算機基礎課程應緊跟時代的步伐。下面是學習啦小編為大家推薦的大學計算機科學導論論文,供大家參考。
大學計算機科學導論論文范文一:大學計算機科學導論論文
計算機科學與技術這一門科學深深的吸引著我們這些同學們,原先不管是國內(nèi)還是國外都喜歡把這個系分為計算機軟件理論、計算機系統(tǒng)、計算機技術與應用。后來又合到一起,變成了現(xiàn)在的計算機科學與技術。我一直認為計算機科學與技術這門專業(yè),在本科階段是不可能切分成計算機科學和計算機技術的,因為計算機科學需要相當多的實踐,而實踐需要技術;每一個人(包括非計算機專業(yè)),掌握簡單的計算機技術都很容易(包括原先Major們自以為得意的程序設計),但計算機專業(yè)的優(yōu)勢是:我們掌握許多其他專業(yè)并不"深究"的東西,例如,算法,體系結(jié)構(gòu),等等。非計算機專業(yè)的人可以很容易地做一個芯片,寫一段程序,但他們做不出計算機專業(yè)能夠做出來的大型系統(tǒng)。今天我想專門談一談計算機科學,并將重點放在計算理論上。
1)計算機語言
隨著20世紀40年代第一臺存儲程序式通用電子計算機的研制成功,進入20世紀50年代后,計算機的發(fā)展步入了實用化的階段。然而,在最初的應用中,人們普遍感到使用機器指令編制程序不僅效率低下,而且十分別扭,也不利于交流和軟件維護,復雜程序查找錯誤尤其困難,因此,軟件開發(fā)急需一種高級的類似于自然語言那樣的程序設計語言。1952年,第一個程序設計語言Short Code出現(xiàn)。兩年后,F(xiàn)ortran問世。作為一種面向科學計算的高級程序設計語言,F(xiàn)ortran的最大功績在于牢固地樹立了高級語言的地位,并使之成為世界通用的程序設計語言。Algol60的誕生是計算機語言的研究成為一門科學的標志。該語言的文本中提出了一整套的新概念,如變量的類型說明和作用域規(guī)則、過程的遞歸性及參數(shù)傳遞機制等。而且,它是第一個用嚴格的語法規(guī)則——巴科斯范式(BNF)定義語言文法的高級語言。程序設計語言的研究與發(fā)展在產(chǎn)生了一批成功的高級語言之后,其進一步的發(fā)展開始受到程序設計思想、方法和技術的影響,也開始受到程序理論、軟件工程、人工智能等許多方面特別是實用化方面的影響。在“軟件危機”的爭論日漸平息的同時,一些設計準則開始為大多數(shù)人所接受,并在后續(xù)出現(xiàn)的各種高級語言中得到體現(xiàn)。例如,用于支持結(jié)構(gòu)化程序設計的PASCAL語言,適合于軍隊各方面應用的大型通用程序設計語言ADA,支持并發(fā)程序設計的MODULA-2,支持邏輯程序設計的PROLOG語言,支持人工智能程序設計的LISP語言,支持面積對象程序變換的SMALLTALK、C等。而且,伴隨著這些語言的出現(xiàn)和發(fā)展,產(chǎn)生了一大批為解決語言的編譯和應用中所出現(xiàn)的問題而發(fā)展的理論、方法和技術。有大量的學術論文可以證明,由高級語言的發(fā)展派生的各種思想、方法、理論和技術觸及到了計算機科學的大多數(shù)學科方向,但內(nèi)容上仍相對集中在語言、計算模型和軟件開發(fā)方法學方面。
(2)計算機模型與軟件開發(fā)方法
20世紀80年代是計算機網(wǎng)絡、分布式處理和多媒體大發(fā)展的時期。在各種高級程序設計語言中增加并發(fā)機構(gòu)以支持分布式程序設計,在語言中通過擴展繪圖子程序以支持計算機圖形學程序設計成為當時程序設計語言的一種時尚。之后,在模數(shù)/數(shù)模轉(zhuǎn)換等接口技術和數(shù)據(jù)庫技術的支持下,通過擴展高級語言的程序庫又實現(xiàn)了多媒體程序設計的構(gòu)想。進入20世紀90年代之后,并行計算機和分布式大規(guī)模異質(zhì)計算機網(wǎng)絡的發(fā)展又將并行程序設計語言、并行編譯程序、并行操作系統(tǒng)、并行與分布式數(shù)據(jù)庫系統(tǒng)等試行軟件的開發(fā)的關鍵技術依然與高級語言和計算模型密切相關,如各種并行、并發(fā)程序設計語言,進程代數(shù),PETRI網(wǎng)等,它們正是軟件開發(fā)方法和技術的研究中支持不同階段軟件開發(fā)的程序設計語言和支持這些軟件開發(fā)方法和技術的理論基礎——計算模型。
(3)計算機應用
用計算機來代替人進行計算,就得首先研究計算方法和相應的計算機算法,進而編制計算機程序。由于早期計算機的應用主要集中在科學計算領域,因此,數(shù)值計算方法就成為最早的應用數(shù)學分支與計算機應用建立了聯(lián)系。最初的時候,由于計算機的存儲器容量很小,速度也不快,為了計算一些稍稍大一點的題目,人們常常要挖空心思研究怎樣節(jié)省存儲單元,怎樣減少不需要的操作。為此,發(fā)展了像稀疏矩陣計算理論來進行方程組的求解;發(fā)展了雜湊函數(shù)來動態(tài)地存儲、訪問數(shù)據(jù);發(fā)展了虛擬程序設計思想和程序覆蓋技術在內(nèi)存較小的計算機上運行較大的程序;在子程序和程序包的概念提出之后,許多人開始將數(shù)學中的一些通用計算公式和計算方法寫成子程序,并進一步開發(fā)成程序包,通過簡潔的調(diào)用命令向用戶開放。子程序的提出是今日軟件重用思想的開端。
在計算機應用領域,科學計算是一個長久不衰的方向。該方向主要依賴于應用數(shù)學中的數(shù)值計算的發(fā)展,而數(shù)值計算的發(fā)展也受到來自計算機系統(tǒng)結(jié)構(gòu)的影響。早期,科學計算主要在單機上進行,經(jīng)歷了從小規(guī)模數(shù)值分析到中大規(guī)模數(shù)值分析的階段。隨著并行計算機和分布式并行計算機的出現(xiàn),并行數(shù)值計算開始成為科學計算的熱點,處理的問題也從中大規(guī)模數(shù)值分析進入到中大規(guī)模復雜問題的計算。所謂中大規(guī)模復雜問題并不是由于數(shù)據(jù)的增大而使計算變得困難,使問題變得復雜,而主要是由于計算中考慮的因素太多,特別是一些因素具有不確定性而使計算變得困難,使問題變得復雜,其結(jié)果往往是在算法的研究中精度與復雜性的矛盾難于克服。
幾何是數(shù)學的一個分支,它實現(xiàn)了人類思維方式中的數(shù)形結(jié)合。在計算機發(fā)明之后,人們自然很容易聯(lián)想到了用計算機來處理圖形的問題,由此產(chǎn)生了計算機圖形學。計算機圖形學是使用計算機輔助產(chǎn)生圖形并對圖形進行處理的科學。并由此推動了計算機輔助設計(CAD)、計算機輔助教學(CAI)、計算機輔助信息處理、計算機輔助測試(CAT)等方向的發(fā)展。
在各種實際應用系統(tǒng)的開發(fā)中,有一個重要的方向值得注意,即實時系統(tǒng)的開發(fā)。
利用計算機證明數(shù)學定理被認為是人工智能的一個方向。人工智能的另一個方向是研究一種不依賴于任何領域的通用解題程序或通用解題系統(tǒng),稱為GPS。特別值得一提的是在專家系統(tǒng)的開發(fā)中發(fā)展了一批新的技術,如知識表示方法、不精確性推理技術等,積累了經(jīng)驗,加深了對人工智能的認識。20世紀70年代末期,一部分學者認識到了人工智能過去研究工作基礎的薄弱,開始轉(zhuǎn)而重視人工智能的邏輯基礎研究,試圖從總結(jié)和研究人類推理思維的一般規(guī)律出發(fā)去研究機器思維,并于1980年在《Artificial Intelligence》發(fā)表了一組非單調(diào)邏輯的研究論文。他們的工作立即得到一大批計算機科學家的響應,非單調(diào)邏輯的研究很快熱火朝天地開展起來,人工智能的邏輯基礎成為人工智能方向發(fā)展的主流。
數(shù)據(jù)庫技術、多媒體技術、圖形學技術等的發(fā)展產(chǎn)生了兩個新方向,即計算可視化技術與虛擬現(xiàn)實技術。
隨著計算機網(wǎng)絡的發(fā)展,分布在全世界的各種計算機正在以驚人的速度相互連接起來。網(wǎng)絡上每天都在進行著大量政治、經(jīng)濟、軍事、外交、商貿(mào)、科學研究與藝術信息的交換與交流。網(wǎng)絡上大量信息的頻繁交換,雖然縮短了地域之間的距離,然而同時也使各種上網(wǎng)的信息資源處在一種很難設防的狀態(tài)之中。于是,計算機信息安全受到各國政府的高度重視。除了下大力氣研究對付計算機病毒的軟硬件技術外,由于各種工作中保密的需要,計算機密碼學的研究更多地受到各國政府的重視。
實際上,在計算機科學中計算機模型和計算機理論與實現(xiàn)技術同樣重要。但現(xiàn)在許多學生往往只注重某些計算機操作技術,而忽略了基礎理論的學習,并因為自己是“操作高手”而沾沾自喜,這不僅限制了自己將研究工作不斷推向深入,而且有可能使自己在學科發(fā)展中處于被動地位。例如,在20世紀50年代和20世紀60年代,我國隨著計算機研制工作和軟件開發(fā)工作的發(fā)展,陸續(xù)培養(yǎng)了在計算機制造和維護中對計算機某一方面設備十分精通的專家,他們能準確地弄清楚磁芯存儲器、磁鼓、運算器、控制器,以及整機線路中哪一部分有問題并進行修理和故障排除,能夠編制出使用最少存儲單元而運算速度很快的程序,對機器代碼相當熟悉。但是,當容量小的磁芯存儲器、磁鼓、速度慢的運算器械、控制器很快被集成電路替代時,當程序設計和軟件開發(fā)廣泛使用高級語言、軟件開發(fā)工具和新型軟件開發(fā)方法后,這批技術精湛的專家,除少量具有堅實的數(shù)學基礎、在工作中已有針對性地將研究工作轉(zhuǎn)向其他方向的人之外,相當一部分專家伴隨著新技術的出現(xiàn),在替代原有技術的發(fā)展過程中而被淘汰。因此,在計算機科學中,計算比實現(xiàn)計算的技術更重要。只有打下堅實的理論基礎,特別是數(shù)學基礎,學習計算機科學技術才能事半功倍,只有建立在高起點理論基礎之上的計算機科學技術,才有巨大的潛力和發(fā)展前景。
計算機理論的一個核心問題
我國計算機科學系里的傳統(tǒng)是培養(yǎng)做學術研究,尤其是理論研究的人(方向不見得有多大的問題,但是做得不是那么盡如人意)。而計算機的理論研究,說到底了,如網(wǎng)絡安全學,圖形圖像學,視頻音頻處理,哪個方向都與數(shù)學有著很大的關系,雖然也許是正統(tǒng)數(shù)學家眼里非主流的數(shù)學。這里我還想闡明我的一個觀點:我們都知道,數(shù)學是從實際生活當中抽象出來的理論,人們之所以要將實際抽象成理論,目的就在于想用抽象出來的理論去更好的指導實踐,有些數(shù)學研究工作者喜歡用一些現(xiàn)存的理論知識去推導若干條推論,殊不知其一:問題考慮不全很可能是個錯誤的推論,其二:他的推論在現(xiàn)實生活中找不到原型,不能指導實踐。嚴格的說,我并不是一個理想主義者,政治課上學的理論聯(lián)系實際一直是指導我學習科學文化知識的航標(至少我認為搞計算機科學與技術的應當本著這個方向)。
我個人的淺見是:計算機系的學生,對數(shù)學的要求固然跟數(shù)學系不同,跟物理類差別則更大。通常非數(shù)學專業(yè)的所?高等數(shù)學",無非是把數(shù)學分析中較困難的理論部分刪去,強調(diào)套用公式計算而已。而對計算機系來說,數(shù)學分析里用處最大的恰恰是被刪去的理論部分。記上一堆曲面積分的公式,難道就能算懂了數(shù)學?那倒不如現(xiàn)用現(xiàn)查,何必費事記呢?再不然直接用Mathematica或是Matlab好了。退一萬步。華羅庚在數(shù)學上的造詣不用我去多說,但是他這光輝的一生做得我認為對我們來說,最重要的幾件事情:首先是它籌建了中國科學院計算技術研究所,這是我們國家計算機科學的搖籃。在有就是他把很多的高等數(shù)學理論都交給了做工業(yè)生產(chǎn)的技術人員,推動了中國工業(yè)的進步。第三件就是他一生寫過很多書,但是對高校師生價值更大的就是他在病期間在病床上和他的愛徒王元寫了《高等數(shù)學引論》(王元與其說是他的愛徒不如說是他的同事,是中科院數(shù)學所的老一輩研究員,對歌德巴赫猜想的貢獻全世界僅次于陳景潤)這書在我們的圖書館里居然找得到,說實話,當時那個書上已經(jīng)長了蟲子,別人走到那里都會閃開,但我卻格外感興趣,上下兩冊看了個遍,我的最大收獲并不在于理論的闡述,而是在于他的理論完全的實例化,在生活中去找模型。這也是我為什么比較喜歡具體數(shù)學的原因,正如我在上文中提到的,理論脫離了實踐就失去了它存在的意義。正因為理論是從實踐當中抽象出來的,所以理論的研究才能夠更好的指導實踐,不用于指導實踐的理論可以說是毫無價值的。
正如上面所論述的,計算機系的學生學習高等數(shù)學:知其然更要知其所以然。你學習的目的應該是:將抽象的理論再應用于實踐,不但要掌握題目的解題方法,更要掌握解題思想,對于定理的學習:不是簡單的應用,而是掌握證明過程即掌握定理的由來,訓練自己的推理能力。只有這樣才達到了學習這門科學的目的,同時也縮小了我們與數(shù)學系的同學之間思維上的差距。
關于計算機技術的學習我想是這樣的:學校開設的任何一門科學都有其滯后性,不要總認為自己掌握的某門技術就已經(jīng)是天下無敵手了,雖然現(xiàn)在Java,VB,C,C++用的都很多,怎能保證沒有被淘汰的一天,我想.NET平臺的誕生和X#語言的初見端倪完全可以說明問題。換言之,在我們掌握一門新技術的同時就又有更新的技術產(chǎn)生,身為當代的大學生應當有緊跟科學發(fā)展的素質(zhì)。舉個例子,就像有些同學總說,我做網(wǎng)頁設計就喜歡直接寫html,不愿意用什么Frontpage,Dreamweaver。能用語言寫網(wǎng)頁固然很好,但有高效的手段你為什么不使呢?僅僅是為了顯示自己的水平高,unique? 我看真正水平高的是能夠以最快的速度接受新事物的人。高級程序設計語言的發(fā)展日新月異,今后的程序設計就像人們在說話一樣,我想大家從xml中應是有所體會了。難道我們真就寫個什么都要用匯編,以顯示自己的水平高,真是這樣倒不如直接用機器語言寫算了。反過來說,想要以最快的速度接受并利用新技術關鍵還是在于你對計算機科學地把握程度。
大學計算機科學導論論文范文二:大學計算機科學導論論文
計算機科學與技術這一門科學深深的吸引著我們這些同學們,原先不管是國內(nèi)還是國外都喜歡把這個系分為計算機軟件理論、計算機系統(tǒng)、計算機技術與應用。后來又合到一起,變成了現(xiàn)在的計算機科學與技術。我一直認為計算機科學與技術這門專業(yè),在本科階段是不可能切分成計算機科學和計算機技術的,因為計算機科學需要相當多的實踐,而實踐需要技術;每一個人(包括非計算機專業(yè)),掌握簡單的計算機技術都很容易(包括原先Major們自以為得意的程序設計),但計算機專業(yè)的優(yōu)勢是:我們掌握許多其他專業(yè)并不"深究"的東西,例如,算法,體系結(jié)構(gòu),等等。非計算機專業(yè)的人可以很容易地做一個芯片,寫一段程序,但他們做不出計算機專業(yè)能夠做出來的大型系統(tǒng)。今天我想專門談一談計算機科學,并將重點放在計算理論上。
1)計算機語言
隨著20世紀40年代第一臺存儲程序式通用電子計算機的研制成功,進入20世紀50年代后,計算機的發(fā)展步入了實用化的階段。然而,在最初的應用中,人們普遍感到使用機器指令編制程序不僅效率低下,而且十分別扭,也不利于交流和軟件維護,復雜程序查找錯誤尤其困難,因此,軟件開發(fā)急需一種高級的類似于自然語言那樣的程序設計語言。1952年,第一個程序設計語言Short Code出現(xiàn)。兩年后,F(xiàn)ortran問世。作為一種面向科學計算的高級程序設計語言,F(xiàn)ortran的最大功績在于牢固地樹立了高級語言的地位,并使之成為世界通用的程序設計語言。Algol60的誕生是計算機語言的研究成為一門科學的標志。該語言的文本中提出了一整套的新概念,如變量的類型說明和作用域規(guī)則、過程的遞歸性及參數(shù)傳遞機制等。而且,它是第一個用嚴格的語法規(guī)則——巴科斯范式(BNF)定義語言文法的高級語言。程序設計語言的研究與發(fā)展在產(chǎn)生了一批成功的高級語言之后,其進一步的發(fā)展開始受到程序設計思想、方法和技術的影響,也開始受到程序理論、軟件工程、人工智能等許多方面特別是實用化方面的影響。在“軟件危機”的爭論日漸平息的同時,一些設計準則開始為大多數(shù)人所接受,并在后續(xù)出現(xiàn)的各種高級語言中得到體現(xiàn)。例如,用于支持結(jié)構(gòu)化程序設計的PASCAL語言,適合于軍隊各方面應用的大型通用程序設計語言ADA,支持并發(fā)程序設計的MODULA-2,支持邏輯程序設計的PROLOG語言,支持人工智能程序設計的LISP語言,支持面積對象程序變換的SMALLTALK、C等。而且,伴隨著這些語言的出現(xiàn)和發(fā)展,產(chǎn)生了一大批為解決語言的編譯和應用中所出現(xiàn)的問題而發(fā)展的理論、方法和技術。有大量的學術論文可以證明,由高級語言的發(fā)展派生的各種思想、方法、理論和技術觸及到了計算機科學的大多數(shù)學科方向,但內(nèi)容上仍相對集中在語言、計算模型和軟件開發(fā)方法學方面。
(2)計算機模型與軟件開發(fā)方法
20世紀80年代是計算機網(wǎng)絡、分布式處理和多媒體大發(fā)展的時期。在各種高級程序設計語言中增加并發(fā)機構(gòu)以支持分布式程序設計,在語言中通過擴展繪圖子程序以支持計算機圖形學程序設計成為當時程序設計語言的一種時尚。之后,在模數(shù)/數(shù)模轉(zhuǎn)換等接口技術和數(shù)據(jù)庫技術的支持下,通過擴展高級語言的程序庫又實現(xiàn)了多媒體程序設計的構(gòu)想。進入20世紀90年代之后,并行計算機和
分布式大規(guī)模異質(zhì)計算機網(wǎng)絡的發(fā)展又將并行程序設計語言、并行編譯程序、并行操作系統(tǒng)、并行與分布式數(shù)據(jù)庫系統(tǒng)等試行軟件的開發(fā)的關鍵技術依然與高級語言和計算模型密切相關,如各種并行、并發(fā)程序設計語言,進程代數(shù),PETRI網(wǎng)等,它們正是軟件開發(fā)方法和技術的研究中支持不同階段軟件開發(fā)的程序設計語言和支持這些軟件開發(fā)方法和技術的理論基礎——計算模型。
(3)計算機應用
用計算機來代替人進行計算,就得首先研究計算方法和相應的計算機算法,進而編制計算機程序。由于早期計算機的應用主要集中在科學計算領域,因此,數(shù)值計算方法就成為最早的應用數(shù)學分支與計算機應用建立了聯(lián)系。最初的時候,由于計算機的存儲器容量很小,速度也不快,為了計算一些稍稍大一點的題目,人們常常要挖空心思研究怎樣節(jié)省存儲單元,怎樣減少不需要的操作。為此,發(fā)展了像稀疏矩陣計算理論來進行方程組的求解;發(fā)展了雜湊函數(shù)來動態(tài)地存儲、訪問數(shù)據(jù);發(fā)展了虛擬程序設計思想和程序覆蓋技術在內(nèi)存較小的計算機上運行較大的程序;在子程序和程序包的概念提出之后,許多人開始將數(shù)學中的一些通用計算公式和計算方法寫成子程序,并進一步開發(fā)成程序包,通過簡潔的調(diào)用命令向用戶開放。子程序的提出是今日軟件重用思想的開端。
在計算機應用領域,科學計算是一個長久不衰的方向。該方向主要依賴于應用數(shù)學中的數(shù)值計算的發(fā)展,而數(shù)值計算的發(fā)展也受到來自計算機系統(tǒng)結(jié)構(gòu)的影響。早期,科學計算主要在單機上進行,經(jīng)歷了從小規(guī)模數(shù)值分析到中大規(guī)模數(shù)值分析的階段。隨著并行計算機和分布式并行計算機的出現(xiàn),并行數(shù)值計算開始成為科學計算的熱點,處理的問題也從中大規(guī)模數(shù)值分析進入到中大規(guī)模復雜問題的計算。所謂中大規(guī)模復雜問題并不是由于數(shù)據(jù)的增大而使計算變得困難,使問題變得復雜,而主要是由于計算中考慮的因素太多,特別是一些因素具有不確定性而使計算變得困難,使問題變得復雜,其結(jié)果往往是在算法的研究中精度與復雜性的矛盾難于克服。
幾何是數(shù)學的一個分支,它實現(xiàn)了人類思維方式中的數(shù)形結(jié)合。在計算機發(fā)明之后,人們自然很容易聯(lián)想到了用計算機來處理圖形的問題,由此產(chǎn)生了計算機圖形學。計算機圖形學是使用計算機輔助產(chǎn)生圖形并對圖形進行處理的科學。并由此推動了計算機輔助設計(CAD)、計算機輔助教學(CAI)、計算機輔助信息處理、計算機輔助測試(CAT)等方向的發(fā)展。
在各種實際應用系統(tǒng)的開發(fā)中,有一個重要的方向值得注意,即實時系統(tǒng)的開發(fā)。
利用計算機證明數(shù)學定理被認為是人工智能的一個方向。人工智能的另一個方向是研究一種不依賴于任何領域的通用解題程序或通用解題系統(tǒng),稱為GPS。
特別值得一提的是在專家系統(tǒng)的開發(fā)中發(fā)展了一批新的技術,如知識表示方法、不精確性推理技術等,積累了經(jīng)驗,加深了對人工智能的認識。20世紀70年代末期,一部分學者認識到了人工智能過去研究工作基礎的薄弱,開始轉(zhuǎn)而重視人工智能的邏輯基礎研究,試圖從總結(jié)和研究人類推理思維的一般規(guī)律出發(fā)去研究機器思維,并于1980年在《Artificial Intelligence》發(fā)表了一組非單調(diào)邏輯的研究論文。他們的工作立即得到一大批計算機科學家的響應,非單調(diào)邏輯的研究很快熱火朝天地開展起來,人工智能的邏輯基礎成為人工智能方向發(fā)展的主流。
數(shù)據(jù)庫技術、多媒體技術、圖形學技術等的發(fā)展產(chǎn)生了兩個新方向,即計算可視化技術與虛擬現(xiàn)實技術。
隨著計算機網(wǎng)絡的發(fā)展,分布在全世界的各種計算機正在以驚人的速度相互連接起來。網(wǎng)絡上每天都在進行著大量政治、經(jīng)濟、軍事、外交、商貿(mào)、科學研究與藝術信息的交換與交流。網(wǎng)絡上大量信息的頻繁交換,雖然縮短了地域之間的距離,然而同時也使各種上網(wǎng)的信息資源處在一種很難設防的狀態(tài)之中。于是,計算機信息安全受到各國政府的高度重視。除了下大力氣研究對付計算機病毒的軟硬件技術外,由于各種工作中保密的需要,計算機密碼學的研究更多地受到各國政府的重視。
實際上,在計算機科學中計算機模型和計算機理論與實現(xiàn)技術同樣重要。但現(xiàn)在許多學生往往只注重某些計算機操作技術,而忽略了基礎理論的學習,并因為自己是“操作高手”而沾沾自喜,這不僅限制了自己將研究工作不斷推向深入,而且有可能使自己在學科發(fā)展中處于被動地位。例如,在20世紀50年代和20世紀60年代,我國隨著計算機研制工作和軟件開發(fā)工作的發(fā)展,陸續(xù)培養(yǎng)了在計算機制造和維護中對計算機某一方面設備十分精通的專家,他們能準確地弄清楚磁芯存儲器、磁鼓、運算器、控制器,以及整機線路中哪一部分有問題并進行修理和故障排除,能夠編制出使用最少存儲單元而運算速度很快的程序,對機器代碼相當熟悉。但是,當容量小的磁芯存儲器、磁鼓、速度慢的運算器械、控制器很快被集成電路替代時,當程序設計和軟件開發(fā)廣泛使用高級語言、軟件開發(fā)工具和新型軟件開發(fā)方法后,這批技術精湛的專家,除少量具有堅實的數(shù)學基礎、在工作中已有針對性地將研究工作轉(zhuǎn)向其他方向的人之外,相當一部分專家伴隨著新技術的出現(xiàn),在替代原有技術的發(fā)展過程中而被淘汰。因此,在計算機科學中,計算比實現(xiàn)計算的技術更重要。只有打下堅實的理論基礎,特別是數(shù)學基礎,學習計算機科學技術才能事半功倍,只有建立在高起點理論基礎之上的計算機科學技術,才有巨大的潛力和發(fā)展前景。
計算機理論的一個核心問題
我國計算機科學系里的傳統(tǒng)是培養(yǎng)做學術研究,尤其是理論研究的人(方向不見得有多大的問題,但是做得不是那么盡如人意)。而計算機的理論研究,說到底了,如網(wǎng)絡安全學,圖形圖像學,視頻音頻處理,哪個方向都與數(shù)學有著很大的關系,雖然也許是正統(tǒng)數(shù)學家眼里非主流的數(shù)學。這里我還想闡明我的一個觀點:我們都知道,數(shù)學是從實際生活當中抽象出來的理論,人們之所以要將實際抽象成理論,目的就在于想用抽象出來的理論去更好的指導實踐,有些數(shù)學研究工作者喜歡用一些現(xiàn)存的理論知識去推導若干條推論,殊不知其一:問題考慮不全很可能是個錯誤的推論,其二:他的推論在現(xiàn)實生活中找不到原型,不能指導實踐。嚴格的說,我并不是一個理想主義者,政治課上學的理論聯(lián)系實際一直是指導我學習科學文化知識的航標(至少我認為搞計算機科學與技術的應當本著這個方向)。
我個人的淺見是:計算機系的學生,對數(shù)學的要求固然跟數(shù)學系不同,跟物理類差別則更大。通常非數(shù)學專業(yè)的所?高等數(shù)學",無非是把數(shù)學分析中較困難的理論部分刪去,強調(diào)套用公式計算而已。而對計算機系來說,數(shù)學分析里用處最大的恰恰是被刪去的理論部分。記上一堆曲面積分的公式,難道就能算懂了數(shù)學?那倒不如現(xiàn)用現(xiàn)查,何必費事記呢?再不然直接用Mathematica或是Matlab好了。退一萬步。華羅庚在數(shù)學上的造詣不用我去多說,但是他這光輝的一生做得我認為對我們來說,最重要的幾件事情:首先是它籌建了中國科學院計算技術研究所,這是我們國家計算機科學的搖籃。在有就是他把很多的高等數(shù)學理論都交給了做工業(yè)生產(chǎn)的技術人員,推動了中國工業(yè)的進步。第三件就是他一生寫過很多書,但是對高校師生價值更大的就是他在病期間在病床上和他的愛徒王元寫了《高等數(shù)學引論》(王元與其說是他的愛徒不如說是他的同事,是中科院數(shù)學所的老一輩研究員,對歌德巴赫猜想的貢獻全世界僅次于陳景潤)這書在我們的圖書館里居然找得到,說實話,當時那個書上已經(jīng)長了蟲子,別人走到那里都會閃開,但我卻格外感興趣,上下兩冊看了個遍,我的最大收獲并不在于理論的闡述,而是在于他的理論完全的實例化,在生活中去找模型。這也是我為什么比較喜歡具體數(shù)學的原因,正如我在上文中提到的,理論脫離了實踐就失去了它存在的意義。正因為理論是從實踐當中抽象出來的,所以理論的研究才能夠更好的指導實踐,不用于指導實踐的理論可以說是毫無價值的。
正如上面所論述的,計算機系的學生學習高等數(shù)學:知其然更要知其所以然。你學習的目的應該是:將抽象的理論再應用于實踐,不但要掌握題目的解題方法,更要掌握解題思想,對于定理的學習:不是簡單的應用,而是掌握證明過程即掌握定理的由來,訓練自己的推理能力。只有這樣才達到了學習這門科學的目的,同時也縮小了我們與數(shù)學系的同學之間思維上的差距。
關于計算機技術的學習我想是這樣的:學校開設的任何一門科學都有其滯后性,不要總認為自己掌握的某門技術就已經(jīng)是天下無敵手了,雖然現(xiàn)在Java,VB,C,C++用的都很多,怎能保證沒有被淘汰的一天,我想.NET平臺的誕生和X#語言的初見端倪完全可以說明問題。換言之,在我們掌握一門新技術的同時就又有更新的技術產(chǎn)生,身為當代的大學生應當有緊跟科學發(fā)展的素質(zhì)。舉個例子,就像有些同學總說,我做網(wǎng)頁設計就喜歡直接寫html,不愿意用什么Frontpage,Dreamweaver。能用語言寫網(wǎng)頁固然很好,但有高效的手段你為什么不使呢?僅僅是為了顯示自己的水平高,unique? 我看真正水平高的是能夠以最快的速度接受新事物的人。高級程序設計語言的發(fā)展日新月異,今后的程序設計就像人們在說話一樣,我想大家從xml中應是有所體會了。難道我們真就寫個什么都要用匯編,以顯示自己的水平高,真是這樣倒不如直接用機器語言寫算了。反過來說,想要以最快的速度接受并利用新技術關鍵還是在于你對計算機科學地把握程度。