- 相關(guān)推薦
計算機科學與技術(shù)專業(yè)優(yōu)秀教材與參考書介紹
高等教育學科組成的滯后性是國內(nèi)外高等教育界公認的定論,而由于計算機科學與技術(shù)學科前沿發(fā)展的速度決定了這個問題在本學科內(nèi)就更為突出。如何解決這一問題是世界公認題。自從《作為學科的計算科學》報道經(jīng)過美計算機協(xié)會(ACM)教育委員會通過并向全世界發(fā)布后,美國各個大學計算機科學學科在基礎(chǔ)學科課程教學改革方面走在了最前沿。·如果說我國教育界現(xiàn)在的力量還不足以引進大批國外本學科相當出色的大師來講學,那么采用國外優(yōu)秀教材應(yīng)當是快速改革不合理的教學內(nèi)容以及涉足學科新內(nèi)容的最行之有效的方法之一。對于處在高校中的學生,如果我們不能夠改變中國的高等教育,那么我們可以改變對待所接受的高等教育的學習方式。在課下參考本課程領(lǐng)域內(nèi)的經(jīng)典教材進行深入的自學也成為補充課堂所講內(nèi)容無法涉及的理論與實踐知識的必要手段。為此,我打算撰一篇《計算機科學與技術(shù)專業(yè)優(yōu)秀教材與參考書介紹》的文章。將分為三個專題向大家介紹:
第一部分為:算法與計算理論
第二部分為:程序設(shè)計語言
第三部分為:其他基礎(chǔ)課程與專業(yè)課程相關(guān)書籍推薦
一。算法與計算理論專題·倘若你去問一個木匠學徒:你需要什么樣的工具進行工作,他可能會回答你:“我只要一把錘子和一個鋸”。但是如果你去問一個老木工或者是大師級的建筑師,他會告訴你“我需要一些精確的工具”。由于計算機所解決的問題都是從生活中抽象出來的問題,其復(fù)雜性不言而喻,所以我們需要這樣精確有效的工具去解決現(xiàn)實生活中的復(fù)雜問題。算法、數(shù)據(jù)結(jié)構(gòu)都是程序設(shè)計中必不可少的精確工具。算法的重要性是每一個計算機專業(yè)的大學生都十分清楚的。
·程序設(shè)計當中解決的相當一部分問題都會涉及各種各樣的科學計算,這需要程序員具有什么樣的基礎(chǔ)呢?實際問題轉(zhuǎn)換為程序,要經(jīng)過一個對問題抽象的過程,建立起完善的數(shù)學模型,只有這樣,我們才能建立一個設(shè)計良好的程序。從中我們不難看出計算數(shù)學在程序設(shè)計領(lǐng)域的重要性。
·算法與計算理論是計算機程序設(shè)計領(lǐng)域的靈魂所在,是發(fā)揮程序設(shè)計者嚴謹,敏銳思維的有效工具。任何的程序設(shè)計語言都試圖將之發(fā)揮得淋漓盡致。作為計算機專業(yè)軟件相關(guān)無可厚非的最重要基礎(chǔ)類核心課程,我們首先對于這個領(lǐng)域的優(yōu)秀參考進行一個推薦。
----------------------------------------------------------------------------------
《 算法導(dǎo)論(第二版影印版) 》
英文名稱:Introduction to Algorithms
作者:Thomas H. Cormen ,Charles E. Leiserson ,Ronald L. Rivest ,Clifford Stein
·本書的主要作者來自麻省理工大學計算機,作者之一Ronald L.Rivest 由于其在公開秘鑰密碼算法RSA上的貢獻獲得了圖靈獎。這本書目前是算法的標準教材,美國許多名校的計算機系都使用它,國內(nèi)有些院校也將本書作為算法課程的教材。另外許多專業(yè)人員也經(jīng)常引用它。本書基本包含了所有的經(jīng)典算法,程序全部由偽代碼實現(xiàn),這更增添了本書的通用性,使得利用各種程序設(shè)計語言進行程序開發(fā)的程序員都可以作為參考。語言方面通俗,很適合作為算法教材和自學算法之用。國內(nèi)的很多作品名為數(shù)據(jù)結(jié)構(gòu),從本書中斷章取義,把數(shù)據(jù)結(jié)構(gòu)與算法混為一談,搞得作者自己都迷迷糊糊。這也是不十分愿意向大家推薦國內(nèi)作品的原因。你會發(fā)現(xiàn),現(xiàn)在基本上所有的數(shù)據(jù)結(jié)構(gòu)與算法書籍都會將本書作為參考文獻之一,更可以說明一個問題,本書是作為讀者進行算法學習的最佳選擇。作為本書的補充內(nèi)容,我愿意向大家推薦下面的學習資料:你可以通過這個地址找到本書的所有練習答案:http://www.itu.dk/people/beetle/ 。為了更好的學習本書中的內(nèi)容,最好的指導(dǎo)當然是來自作者本身講述本書的課程,讀者們可以通過下列地址獲得課程的錄像。
http://18.89.1.101/sma/5503fall2001/index5503fall2001.html
·哦,你也許會對我說:“天哪,《 算法導(dǎo)論(第二版影印版) 》上面都是偽代碼,我程序設(shè)計功底沒有那么強啊”。是的,對于大部分的大學生來說的確存在一個很嚴峻的問題,就是程序設(shè)計還沒有堅實的基礎(chǔ),而你此時需要掌握一些算法知識,那么這個時候一本帶有理論的具體語言實現(xiàn)的指導(dǎo)教材便是絕佳的參考:
----------------------------------------------------------------------------------
《 算法Ⅰ-Ⅳ(C++實現(xiàn))——基礎(chǔ)、數(shù)據(jù)結(jié)構(gòu)、排序和搜索(第三版) 》
· 此書屬于Algorithms in C++系列中的一本。作者都是普林斯頓大學計算機系赫赫有名的教授Robert Sedgewick, 他是Donald.E.Knuth大師們下的高徒。算法理論方面并不遜色于CLRS,對于初學者來說附帶理論關(guān)鍵部分的原程序是個很好的參考,這系列書提供了兩個語言版本:分別為C++和Java程序員和學習者量身定做。Java版本的叫做Alogorithms in Java,國內(nèi)清華大學出版社引進了本書并出版了影印版:《 JAVA算法(影印版)(第3版 第1卷) 》。作為專門語言的算法書籍參考,這兩本也是我唯一愿意向大家推薦的。可以作為《算法導(dǎo)論》一書的補充。
·如果將《算法導(dǎo)論》稱作“計算機算法的圣經(jīng)”那么《計算機程序設(shè)計藝術(shù)》當之無愧的稱為“計算機程序設(shè)計理論的荷馬史詩”。
----------------------------------------------------------------------------------
《計算機程序設(shè)計藝術(shù)》
包含:《 計算機程序設(shè)計藝術(shù) 第1卷 基本算法 (第3版) 》、《 計算機程序設(shè)計藝術(shù) 第2卷 半數(shù)值算法(第3版) 》、《 計算機程序設(shè)計藝術(shù) 第3卷 排序與查找 (第2版) 》
英文名稱:The Art of Computer Programming
作者:Donald.E.Knuth
Donald.E.Knuth人生最輝煌的時刻在斯坦福大學計算機系渡過,美國計算機協(xié)會圖靈獎的獲得者,是本領(lǐng)域內(nèi)當之無愧的泰斗。被簡稱為TAOCP的這本巨著內(nèi)容博大精深,幾乎涵蓋了計算機程序設(shè)計算法與理論最重要的內(nèi)容,F(xiàn)在發(fā)行的只有三卷,分別為基礎(chǔ)運算法則,半數(shù)值算法,以及分揀和搜索?偣矐(yīng)當有7卷。以我個人對本系列書的把握,大家除了可以如其它書籍那樣閱讀本書,也可以將其作為計算機程序設(shè)計的字典。畢竟內(nèi)容涵蓋實在是太廣泛,相當?shù)膬?nèi)容未見得你能夠用上,還是那句話,按需吧?幢緯鴷r最關(guān)注的應(yīng)當是作者嚴謹?shù)乃季S方法。每個人都有自己的讀書方法,一些大師們說應(yīng)當順序讀本書,因為它被寫得簡直就像是詩,然而這還要看大家個人的體會。至于本書的價值我覺得Bill Gates先生的話足以說明問題:“如果你認為你是一名真正優(yōu)秀的程序員讀Knuth的《計算機程序設(shè)計藝術(shù)》,如果你能讀懂整套書的話,請給我發(fā)一份你的簡歷”。作者數(shù)學方面的功底造就了本書嚴謹?shù)娘L格,雖然本書不是用當今流行的程序設(shè)計語言描述的,但這絲毫不損傷它“程序設(shè)計史詩”的地位。道理很簡單,它內(nèi)涵的設(shè)計思想是永遠不會過時的。除非英語實在有困難,否則建議讀者選用英文版。
----------------------------------------------------------------------------------
離散數(shù)學在計算機數(shù)學理論領(lǐng)域的位置顯然是首屈一指的,首先向大家推薦的就是:
《 離散數(shù)學及其應(yīng)用(原書第4版) 》
英文名稱:Discrete Mathematics and Its Applications,Fourth Edition
作者:Kenneth H.Rosen
·本書的價值已經(jīng)被全世界幾百所大學所證實,作為離散數(shù)學領(lǐng)域的經(jīng)典教材,全世界幾乎所有知名的院校都曾經(jīng)使用本書作為教材。以我個人觀點看來,這本書可以稱之為離散數(shù)學百科。書中不但介紹了離散數(shù)學的理論和方法,還有豐富的歷史資料和相關(guān)學習網(wǎng)站資源。更為令人激動的便是這本書少有的將離散數(shù)學理論與應(yīng)用結(jié)合得如此的好。你可以看到離散數(shù)學理論在邏輯電路,程序設(shè)計,商業(yè)和互聯(lián)網(wǎng)等諸多領(lǐng)域的應(yīng)用實例。考慮到大多數(shù)讀者的基礎(chǔ),這里推薦給大家的是本書的中文版(原書第四版),本書的英文版(第五版)當中更增添了相當多的數(shù)學和計算機科學家的傳記,是計算機科學歷史不可多得的參考資料。作為教材這本書配有相當數(shù)量的練習。每一章后面還有一組課題,把學生已經(jīng)學到的計算和離散數(shù)學的內(nèi)容結(jié)合在一起進行訓(xùn)練。這本書也是我個人在學習離散數(shù)學時讀的唯一的英文教材,實為一本值得推薦的好書。
----------------------------------------------------------------------------------
《 具體數(shù)學:計算機科學基礎(chǔ)(英文版.第2版) 》
英文名稱:Concrete Mathematics A Foundation for Computer Science(Second Edition)
作者:Ronald L.Graham,Donald E.Knuth,Oren Patashnik
·傳統(tǒng)數(shù)學研究的對象過于抽象,導(dǎo)致對具體的問題關(guān)心不夠。為了直接面向應(yīng)用的需要,偉大的計算機科學家以及數(shù)學家Donald.E.Knuth在麻省理工大學提出了“具體數(shù)學”。自從那天起,“具體數(shù)學”便成了計算機科學的基礎(chǔ)。所以下面為大家推薦的就是一本經(jīng)久不衰的著作:
英文名稱:Concrete Mathematics A Foundation for Computer Science(Second Edition)
·很令人興奮的就是這本書的主要作者正是泰斗Donald.E.Knuth以及他的同事Ronald L.Graham。書稿是他們在1970年的時候在計算機系教授研究生本門課程的基礎(chǔ)上整理出來的教材。內(nèi)容上是Knuth的巨著TAOCP第一部的擴展,有些比TAOCP中談及地又深入了許多。重點放在高級計算機程序設(shè)計話題以及算法分析上,涉及了計算機科學領(lǐng)域內(nèi)相當全面的數(shù)學知識。具體數(shù)學是離散數(shù)學和連續(xù)數(shù)學的綜合,書中這點做得極為出色,許多經(jīng)典問題的解答比目前廣泛流傳的解法更為通俗易懂。對于提高大家的計算數(shù)學修養(yǎng)有很大幫助。之所以TAOCP有的時候讀者們讀不懂就是因為計算數(shù)學基礎(chǔ)不是十分扎實,但以我個人經(jīng)驗,若能對本書中內(nèi)容有一個比較好的理解,會給你閱讀如TAOCP這樣的曠世巨著帶來很大的方便。
·作為計算機專業(yè)的學生,大概至少都曾經(jīng)聽說過ACM-ICPC程序設(shè)計大賽,這也是至今為止代表著全世界最高水平的程序設(shè)計大賽。每年國內(nèi)也有很多學生參加此賽事,然而此賽事涉及面之廣令不少人望而卻步,也正是因為比賽涉及的計算理論內(nèi)容之深廣,才使大賽的水平得到了全世界的認可。如果你也在準備這方面的比賽,除了上面的《計算機程序設(shè)計藝術(shù)》你不是必須參考外,都應(yīng)當予以足夠的重視,此外下面這本書也是不錯的選擇:
----------------------------------------------------------------------------------
《 算法藝術(shù)與信息學競賽 》
·哦,是的,劉汝佳和黃亮,這兩個名字對于曾經(jīng)關(guān)注過NOI,IOI以及ACM-ICPC比賽的你來說一定不是陌生的名字,也可以這樣說,他們是在這些比賽以及相關(guān)培訓(xùn)中相當活躍的兩個人,由于書的作者號召力相當大,我在這本書出版后很快就買到了并進行了研讀。內(nèi)容涉及上述三種比賽,算法原理闡述扼要,內(nèi)含大量比賽原題,題庫中的經(jīng)典試題以及各個著名院校隊伍自擬的優(yōu)秀算法題。主要內(nèi)容分為:算法與數(shù)據(jù)結(jié)構(gòu),數(shù)學知識和方法以及計算幾何學。是一本算法與計算理論相關(guān)較為完善的資料結(jié)集。2003年如果你還苦于公開出版的相關(guān)書籍版本太老,沒有新內(nèi)容,那么本書便是你近期參加NOI,IOI以及ACM-ICPC比賽的不二選擇。
計算機數(shù)學理論方面可推薦的書籍是相當多的,究竟哪些數(shù)學理論基礎(chǔ)是我們應(yīng)當涉足的,哪些基本上我們是不需要的,大家可以參考《CSDN開發(fā)高手》9月刊上的《計算機科學技術(shù)數(shù)學理論淺談》。
概言之,算法與數(shù)學乃程序設(shè)計之本,計算科學之精華,尚需同學們予以足夠的重視。但有一點需指明,不論是理論計算科學還是程序設(shè)計,皆通一理:不是所有的內(nèi)容都需要大家掌握,長遠之計乃是在大學學習相關(guān)學科的時候?qū)υ搶W科有一個全攬,曉之用途,在自己極為感興趣或者研究、開發(fā)需要的時候深入其中……
【計算機科學與技術(shù)專業(yè)優(yōu)秀教材與參考書介紹】相關(guān)文章:
計算機科學與技術(shù)專業(yè)求職信(精選6篇)10-13
對經(jīng)濟院校計算機科學與技術(shù)本科專業(yè)建設(shè)的思考04-28
計算機科學與技術(shù)專業(yè)畢業(yè)生自我鑒定01-05
計算機科學與技術(shù)專業(yè)畢業(yè)生的求職信02-05
計算機科學與技術(shù)實習報告09-22
計算機科學與技術(shù)實習報告12-13
廈門大學智能科學與技術(shù)專業(yè)建設(shè)介紹04-28
計算機科學與技術(shù)學習心得04-25
計算機科學與技術(shù)求職信01-23