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