《国外计算机类经典教材》由会员分享,可在线阅读,更多相关《国外计算机类经典教材(5页珍藏版)》请在金锄头文库上搜索。
1、高等教育学科组成的滞后性是国内外高等教育界公认的定论,而由于计算机科学与技术学科 前沿发展的速度决定了这个问题在本学科内就更为突出。如何解决这一问题是世界公认题。 自从作为学科的计算科学报道经过美计算机协会(ACM)教育委员会通过并向全世界发布 后,美国各个大学计算机科学学科在基础学科课程教学改革方面走在了最前沿。如果说我国教育界现在的力量还不足以引进大批国外本学科相当出色的大师来讲学, 那么采用国外优秀教材应当是快速改革不合理的教学内容以及涉足学科新内容的最行之有效 的方法之一。对于处在高校中的学生,如果我们不能够改变中国的高等教育,那么我们可以 改变对待所接受的高等教育的学习方式。在课下参
2、考本课程领域内的经典教材进行深入的自 学也成为补充课堂所讲内容无法涉及的理论与实践知识的必要手段。为此,我打算撰一篇 计算机科学与技术专业优秀教材与参考书介绍的文章。将分为三个专题向大家介绍:第一部分为:算法与计算理论第二部分为:程序设计语言第三部分为:其他基础课程与专业课程相关书籍推荐一。算法与计算理论专题倘若你去问一个木匠学徒:你需要什么样的工具进行工作,他可能会回答你:“我只 要一把锤子和一个锯” 。但是如果你去问一个老木工或者是大师级的建筑师,他会告诉你 “我需要一些精确的工具” 。由于计算机所解决的问题都是从生活中抽象出来的问题,其复 杂性不言而喻,所以我们需要这样精确有效的工具去解
3、决现实生活中的复杂问题。算法、数 据结构都是程序设计中必不可少的精确工具。算法的重要性是每一个计算机专业的大学生都 十分清楚的。 程序设计当中解决的相当一部分问题都会涉及各种各样的科学计算,这需要程序员具 有什么样的基础呢?实际问题转换为程序,要经过一个对问题抽象的过程,建立起完善的数 学模型,只有这样,我们才能建立一个设计良好的程序。从中我们不难看出计算数学在程序 设计领域的重要性。算法与计算理论是计算机程序设计领域的灵魂所在,是发挥程序设计者严谨,敏锐思 维的有效工具。任何的程序设计语言都试图将之发挥得淋漓尽致。作为计算机专业软件相关 无可厚非的最重要基础类核心课程,我们首先对于这个领域的
4、优秀参考进行一个推荐。- - 算法导论(第二版影印版) 英文名称:Introduction to Algorithms作者:Thomas H. Cormen ,Charles E. Leiserson ,Ronald L. Rivest ,Clifford Stein本书的主要作者来自麻省理工大学计算机,作者之一 Ronald L.Rivest 由于其在公 开秘钥密码算法 RSA 上的贡献获得了图灵奖。这本书目前是算法的标准教材,美国许多名校 的计算机系都使用它,国内有些院校也将本书作为算法课程的教材。另外许多专业人员也经 常引用它。本书基本包含了所有的经典算法,程序全部由伪代码实现,这更增添
5、了本书的通 用性,使得利用各种程序设计语言进行程序开发的程序员都可以作为参考。语言方面通俗, 很适合作为算法教材和自学算法之用。国内的很多作品名为数据结构,从本书中断章取义, 把数据结构与算法混为一谈,搞得作者自己都迷迷糊糊。这也是不十分愿意向大家推荐国内 作品的原因。你会发现,现在基本上所有的数据结构与算法书籍都会将本书作为参考文献之 一,更可以说明一个问题,本书是作为读者进行算法学习的最佳选择。作为本书的补充内容, 我愿意向大家推荐下面的学习资料:你可以通过这个地址找到本书的所有练习答案: http:/www.itu.dk/people/beetle/ 。为了更好的学习本书中的内容,最好的
6、指导当然是 来自作者本身讲述本书的课程,读者们可以通过下列地址获得课程的录像。http:/18.89.1.101/sma/5503fall2001/index5503fall2001.html 哦,你也许会对我说:“天哪, 算法导论(第二版影印版) 上面都是伪代码, 我程序设计功底没有那么强啊” 。是的,对于大部分的大学生来说的确存在一个很严峻的问 题,就是程序设计还没有坚实的基础,而你此时需要掌握一些算法知识,那么这个时候一本 带有理论的具体语言实现的指导教材便是绝佳的参考:- - 算法-(C+实现)基础、数据结构、排序和搜索(第三版) 此书属于 Algorithms in C+系列中的一本
7、。作者都是普林斯顿大学计算机系赫赫 有名的教授 Robert Sedgewick, 他是 Donald.E.Knuth 大师们下的高徒。算法理论方面并不 逊色于 CLRS,对于初学者来说附带理论关键部分的原程序是个很好的参考,这系列书提供了 两个语言版本:分别为 C+和 Java 程序员和学习者量身定做。Java 版本的叫做 Alogorithms in Java,国内清华大学出版社引进了本书并出版了影印版: JAVA 算法(影 印版) (第 3 版 第 1 卷) 。作为专门语言的算法书籍参考,这两本也是我唯一愿意向大家 推荐的。可以作为算法导论一书的补充。如果将算法导论称作“计算机算法的圣经
8、”那么计算机程序设计艺术当之无 愧的称为“计算机程序设计理论的荷马史诗” 。- - 计算机程序设计艺术 包含: 计算机程序设计艺术 第 1 卷 基本算法 (第 3 版) 、 计算机程序设计艺术 第 2 卷 半数值算法(第 3 版) 、 计算机程序设计艺术 第 3 卷 排序与查找 (第 2 版) 英文名称:The Art of Computer Programming作者:Donald.E.KnuthDonald.E.Knuth 人生最辉煌的时刻在斯坦福大学计算机系渡过,美国计算机协会图灵 奖的获得者,是本领域内当之无愧的泰斗。被简称为 TAOCP 的这本巨著内容博大精深,几乎 涵盖了计算机程序
9、设计算法与理论最重要的内容。现在发行的只有三卷,分别为基础运算法 则,半数值算法,以及分拣和搜索。总共应当有 7 卷。以我个人对本系列书的把握,大家除 了可以如其它书籍那样阅读本书,也可以将其作为计算机程序设计的字典。毕竟内容涵盖实 在是太广泛,相当的内容未见得你能够用上,还是那句话,按需吧。看本书时最关注的应当 是作者严谨的思维方法。每个人都有自己的读书方法,一些大师们说应当顺序读本书,因为 它被写得简直就像是诗,然而这还要看大家个人的体会。至于本书的价值我觉得 Bill Gates 先生的话足以说明问题:“如果你认为你是一名真正优秀的程序员读 Knuth 的计算 机程序设计艺术 ,如果你能
10、读懂整套书的话,请给我发一份你的简历” 。作者数学方面的功 底造就了本书严谨的风格,虽然本书不是用当今流行的程序设计语言描述的,但这丝毫不损 伤它“程序设计史诗”的地位。道理很简单,它内涵的设计思想是永远不会过时的。除非英 语实在有困难,否则建议读者选用英文版。- - 离散数学在计算机数学理论领域的位置显然是首屈一指的,首先向大家推荐的就是: 离散数学及其应用(原书第 4 版) 英文名称:Discrete Mathematics and Its Applications,Fourth Edition作者:Kenneth H.Rosen本书的价值已经被全世界几百所大学所证实,作为离散数学领域的经
11、典教材,全世界 几乎所有知名的院校都曾经使用本书作为教材。以我个人观点看来,这本书可以称之为离散 数学百科。书中不但介绍了离散数学的理论和方法,还有丰富的历史资料和相关学习网站资 源。更为令人激动的便是这本书少有的将离散数学理论与应用结合得如此的好。你可以看到 离散数学理论在逻辑电路,程序设计,商业和互联网等诸多领域的应用实例。考虑到大多数 读者的基础,这里推荐给大家的是本书的中文版(原书第四版) ,本书的英文版(第五版) 当中更增添了相当多的数学和计算机科学家的传记,是计算机科学历史不可多得的参考资料。 作为教材这本书配有相当数量的练习。每一章后面还有一组课题,把学生已经学到的计算和 离散数
12、学的内容结合在一起进行训练。这本书也是我个人在学习离散数学时读的唯一的英文教材,实为一本值得推荐的好书。- - 具体数学:计算机科学基础(英文版.第 2 版) 英文名称:Concrete Mathematics A Foundation for Computer Science(Second Edition)作者:Ronald L.Graham,Donald E.Knuth,Oren Patashnik传统数学研究的对象过于抽象,导致对具体的问题关心不够。为了直接面向应用的需 要,伟大的计算机科学家以及数学家 Donald.E.Knuth 在麻省理工大学提出了“具体数学” 。 自从那天起, “
13、具体数学”便成了计算机科学的基础。所以下面为大家推荐的就是一本经久 不衰的著作: 英文名称:Concrete Mathematics A Foundation for Computer Science(Second Edition)很令人兴奋的就是这本书的主要作者正是泰斗 Donald.E.Knuth 以及他的同事 Ronald L.Graham。书稿是他们在 1970 年的时候在计算机系教授研究生本门课程的基础上整理出来 的教材。内容上是 Knuth 的巨著 TAOCP 第一部的扩展,有些比 TAOCP 中谈及地又深入了许多。 重点放在高级计算机程序设计话题以及算法分析上,涉及了计算机科学领
14、域内相当全面的数 学知识。具体数学是离散数学和连续数学的综合,书中这点做得极为出色,许多经典问题的 解答比目前广泛流传的解法更为通俗易懂。对于提高大家的计算数学修养有很大帮助。之所 以 TAOCP 有的时候读者们读不懂就是因为计算数学基础不是十分扎实,但以我个人经验,若 能对本书中内容有一个比较好的理解,会给你阅读如 TAOCP 这样的旷世巨著带来很大的方便。作为计算机专业的学生,大概至少都曾经听说过 ACM-ICPC 程序设计大赛,这也是至 今为止代表着全世界最高水平的程序设计大赛。每年国内也有很多学生参加此赛事,然而此 赛事涉及面之广令不少人望而却步,也正是因为比赛涉及的计算理论内容之深广,才使大赛 的水平得到了全世界的认可。如果你也在准备这方面的比赛,除了上面的计算机程序设计 艺术你不是必须参考外,都应当予以足够的重视,此外下面这本书也是不错的选择:- - 算法艺术与信息学竞赛 哦,是的,刘汝佳和黄亮,这两个名字对于曾经关注过 NOI,IOI 以及 ACM-ICPC 比赛 的你来说一定不是陌生的名字,也可以这样说,他们是在这些比赛以及相关培训中相当活跃 的两个人,由于书的作者号召力相当大,我在这本书出版后很快就买到了并进行了研读。内 容涉及上述三种比赛,算法原理阐述扼要,内含大量比赛原题,题库中