欢迎来到相识电子书!

标签:计算机科学

  • Elements of Programming

    作者:Alexander A. Stepano

    Elements of Programming provides a different understanding of programming than is presented elsewhere. Its major premise is that practical programming, like other areas of science and engineering, must be based on a solid mathematical foundation. The book shows that algorithms implemented in a real programming language, such as C++, can operate in the most general mathematical setting. For example, the fast exponentiation algorithm is defined to work with any associative operation. Using abstract algorithms leads to efficient, reliable, secure, and economical software. This is not an easy book. Nor is it a compilation of tips and tricks for incremental improvements in your programming skills. The book’s value is more fundamental and, ultimately, more critical for insight into programming. To benefit fully, you will need to work through it from beginning to end, reading the code, proving the lemmas, doing the exercises. When finished, you will see how the application of the deductive method to your programs assures that your system’s software components will work together and behave as they must. Following key definitions, the book describes a number of algorithms and requirements for types on which they are defined that exemplify its abstract mathematical approach. The code for these descriptions—also available on the Web—is written in a small subset of C++ meant to be accessible to any experienced programmer. This subset is defined in a special language appendix coauthored by Sean Parent and Bjarne Stroustrup. Whether you are a software developer, or any other professional for whom programming is an important activity, or a committed student, you will come to understand what the book’s experienced authors have been teaching and demonstrating for years—that mathematics is good for programming, that theory is good for practice.
  • Principles of Computer System Design

    作者:Jerome H. Saltzer,M.

    This text identifies, examines, and illustrates fundamental concepts in computer system design that are common across operating systems, networks, database systems, distributed systems, programming languages, software engineering, security, fault tolerance, and architecture. Through carefully analyzed case studies from each of these disciplines, it demonstrates how to apply these concepts to tackle practical system design problems. To support the focus on design, the text identifies and explains abstractions that have proven successful in practice such as, remote procedure call, client/service organization, file systems, data integrity, consistency, and authenticated messages. Most computer systems are built using a handful of such abstractions. The text describes how these abstractions are implemented, demonstrates how they are used in different systems, and prepares the reader to apply them in future designs. Features: Concepts of computer system design guided by fundamental principles. Cross-cutting approach that identifies abstractions common to networking, operating systems, transaction systems, distributed systems, architecture, and software engineering. Case studies that make the abstractions real: naming (DNS and the URL); file systems (the UNIX file system); clients and services (NFS); virtualization (virtual machines); scheduling (disk arms); security (TLS). Numerous pseudocode fragments that provide concrete examples of abstract concepts. Extensive support. The authors and MIT OpenCourseWare provide on-line, free of charge, open educational resources, including additional chapters, course syllabi, board layouts and slides, lecture videos, and an archive of lecture schedules, class assignments, and design projects.
  • 计算理论基础

    作者:Martin Davis,Ron Sig

    本书是理论计算机科学领域的名作,是计算机科学核心主题的导论性教材。全书分为可计算性、文法与自动机、逻辑学、复杂性及语义学5个部分,分别讲述了可计算性理论、形式语言、逻辑学与自动演绎、可计算复杂性(包括NP完全问题)和编程语言的语义等主题,并展示了它们之间如何相互关联。. 本书是计算机及相关专业高年级本科生和研究生的理想教学参考书,对于计算机领域的专业人士也是很好的技术参考书。
  • 应用组合数学

    作者:Alan Tucker

    《应用组合数学(第5版)》讲解了离散数学问题求解中组合推理和组合建模的方法、思维和运用。主要涉及图论基本概念、覆盖和图着色、搜索算法和网络运算算法等图论知识和方法,以及基本的计数方法、生成函数计数模型、递推关系模型、容斥原理、Polya枚举公式等枚举方法及其应用。作者还介绍了如何用计算机科学地处理枚举,以及逐步受限游戏的理论及其在尼姆游戏中的应用,体现了组合数学的趣味性。 《应用组合数学(第5版)》内容丰富,简明易懂,适合作为高等院校数学专业和计算机专业高年级本科生及研究生的教材,也可供对组合数学有兴趣的相关人员阅读。
  • 算法设计手册

    作者:斯基恩纳

    《算法设计手册(第2版)》是算法设计畅销书的最新版本,是设计实用且高效算法的最全面指导书。《算法设计手册(第2版)》揭密了算法的设计与分析,以简单易懂的写作风格,介绍了各种算法技术,着重强调了算法分析,全书包括两大部分,“技术”部分介绍了设计和分析计算机算法的各种方法,“资源”部分给出了大量的参考资源,以及算法实现的各种资源,此外,在作者的个人网址http://www.CS.sunysb.edu/~algorith/I-还提供了各种教学资源和参考材料,这些资源对读者很有参考价值。 《算法设计手册(第2版)》可以作为算法设计课程的主教材,也是程序人员、研究人员和学生的常备参考书。
  • 初等数论及其应用

    作者:Kenneth H.Rosen

    本书以经典理论与现代应用相结合的方式介绍了初等数论的基本概念和方法,内容包括整除、同余、二次剩余、原根以及整数的阶的讨论和计算。此外,书中附有60多位对数论有贡献的数学家的传略。 本书内容丰富,趣味性强,条理清晰,既可以作为高等院校计算机及相关专业的数论教材,也可以作为对数论和密码学感兴趣的读者的初级读物。 本书是数论课程的经典教材,自出版以来,深受读者好评,被美国加州大学伯克利分校,伊利诺伊大学,得克萨斯大学等数百所名校采用。 经典理论与现代应用的结合是本书的一大特色。第5版通过增强实例和练习,将数论的应用引入了更高的境界,同时更新并扩充了对密码学这一热点论题的讨论。与时俱进是本书的又一大特色,为使本版与最新的研究成果及近几年的新理论优美结合,作者花费了大量心血。本书还以别出心裁的习题安排而著名,书中收入的富于挑战性的习题旨在帮助读者探究数论中的关键概念,同时提供两类习题:一类是计算题;另一类是上机编程练习,这使得读者能够将数学理论与编程技巧实践联系起来。 目录 前言 符号表 何谓数论 第1章 整数 1.1 数和序列 1.2 和与积 1.3 数学归纳法 1.4 斐波那契数 1.5 整除性 第2章 整数的表示法和运算 2.1 整数的表示法 2.2 整数的计算机运算 2.3 整数运算的复杂度 第3章 素数和最大公因子 3.1 素数 3.2 素数的分布 3.3 最大公因子 3.4 欧几里得算法 3.5 算术基本定理 3.6 因子分解法和费马数 3.7 线性丢番图方程 第4章 同余 4.1 同余引言 4.2 线性同余方程 4.3 中国剩余定理 4.4 求解多项式同余方程 4.5 线性同余方程组 4.6 利用波拉德方法分解整数 第5章 同余的应用 5.1 整除性检验 5.2 万年历 5.3 循环赛赛程 5.4 散列函数 5.5 校验位 第6章 特殊的同余式 6.1 威尔逊定理和费马小定理 6.2 伪素数 6.3 欧拉定理 第7章 乘性函数 7.1 欧拉函数 7.2 因子和与因子个数 7.3 完全数和梅森素数 7.4 莫比乌斯反演 第8章 密码学 8.1 字符密码 8.2 分组密码和流密码 8.3 取幂密码 8.4 公钥密码 8.5 背包密码 8.6 密码协议及应用 第9章 原根 9.1 整数的阶和原根 9.2 素数的原根 9.3 原根的存在性 9.4 指数的算术 9.5 用整数的阶和原根进行素性检验 9.6 通用指数 第10章 原根与整数的阶的应用 10.1 伪随机数 10.2 埃尔伽莫密码系统 10.3 电话线缆绞接中的一个应用 第11章 二次剩余 11.1 二次剩余与二次非剩余 …… 第12章 十进制分数与连分数 第13章 某些非线性丢番图方程 第14章 高斯整数 附录 参考文献
  • Orange'S:一个操作系统的实现

    作者:于渊

    《Orange S:一个操作系统的实现》从只有二十行的引导扇区代码出发,一步一步地向读者呈现一个操作系统框架的完成过程。书中不仅关注代码本身,同时关注完成这些代码的思路和过程。本书不同于其他的理论型书籍,而是提供给读者一个动手实践的路线图。读者可以根据路线图逐步完成各部分的功能,从而避免了一开始就面对整个操作系统数万行代码时的迷茫和挫败感。书中讲解了大量在开发操作系统中需注意的细节问题,这些细节不仅能使读者更深刻地认识操作系统的核心原理,而且使整个开发过程少走弯路。本书分上下两篇,共11章。其中每一章都以前一章的工作成果为基础,实现一项新的功能。而在章的内部,一项大的功能被分解成许多小的步骤,通过完成每个小的步骤,读者可以不断获得阶段性的成果,从而让整个开发过程变得轻松并且有趣。 本书适合各类程序员、程序开发爱好者阅读,也可作为高等院校操作系统课程的实践参考书。
  • Coders at Work

    作者:Peter Seibel

    Peter Seibel interviews 15 of the most interesting computer programmers alive today in Coders at Work, offering a companion volume to Apress's highly acclaimed best-seller Founders at Work by Jessica Livingston. As the words "at work" suggest, Peter Seibel focuses on how his interviewees tackle the day-to-day work of programming, while revealing much more, like how they became great programmers, how they recognize programming talent in others, and what kinds of problems they find most interesting. Hundreds of people have suggested names of programmers to interview on the Coders at Work web site: www.codersatwork.com. The complete list was 284 names. Having digested everyone's feedback, we selected 15 folks who've been kind enough to agree to be interviewed: * Frances Allen: Pioneer in optimizing compilers, first woman to win the Turing Award (2006) and first female IBM fellow * Joe Armstrong: Inventor of Erlang * Joshua Bloch: Author of the Java collections framework, now at Google * Bernie Cosell: One of the main software guys behind the original ARPANET IMPs and a master debugger * Douglas Crockford: JSON founder, JavaScript architect at Yahoo! * L. Peter Deutsch: Author of Ghostscript, implementer of Smalltalk-80 at Xerox PARC and Lisp 1.5 on PDP-1 * Brendan Eich: Inventor of JavaScript, CTO of the Mozilla Corporation * Brad Fitzpatrick: Writer of LiveJournal, OpenID, memcached, and Perlbal * Dan Ingalls: Smalltalk implementor and designer * Simon Peyton Jones: Coinventor of Haskell and lead designer of Glasgow Haskell Compiler * Donald Knuth: Author of The Art of Computer Programming and creator of TeX * Peter Norvig: Director of Research at Google and author of the standard text on AI * Guy Steele: Coinventor of Scheme and part of the Common Lisp Gang of Five, currently working on Fortress * Ken Thompson: Inventor of UNIX * Jamie Zawinski: Author of XEmacs and early Netscape/Mozilla hacker What you'll learnHow the best programmers in the world do their jobs! Who this book is for Programmers interested in the point of view of leaders in the field. Programmers looking for approaches that work for some of these outstanding programmers. Table of Contents * Jamie Zawinski * Brad Fitzpatrick * Douglas Crockford * Brendan Eich * Joshua Bloch * Joe Armstrong * Simon Peyton Jones * Peter Norvig * Guy Steele * Dan Ingalls * L Peter Deutsch * Ken Thompson * Fran Allen * Bernie Cosell * Donald Knuth
  • 现代操作系统

    作者:Andrew S.Tanenbaum

    《现代操作系统(英文版第3版)》内容为:Tanenbaum教授作为三个操作系统的设计师或联合设计师,具有长期设计开发操作系统的经验,从而把其对理论的深入理解和具体实践融入书中,使《现代操作系统(英文版第3版)》成为操作系统领域的经典之作。在《现代操作系统(英文版第3版)》第3版中,作者深入讨论了许多主题,包括:进程,线程,存储管理,文件系统,I/O死锁,接口设计,多媒体,性能权衡。以及有关操作系统设计的最新趋势。书中不仅涵盖了现代操作系统的原理和实践,而且特别关注了Linux操作系统,WindowsVista操作系统、嵌入式操作系统、实时操作系统以及多媒体操作系统。 ·涉及Windows Vista以及最新的Linux/Unix操作系统。 ·用一整章(第12章)的篇幅对用于移动设备的Syrnbian操作系统进行案例分析。 ·涵盖更多,更新的安全方面的内容。 ·重新组织内容,尽早论述关键抽象概念。 ·给出与未来操作系统发展有关的新研究成果。 ·更新和增加了编程练习。 ·在线操作系统练习(http://www prenhall.com/anenbaum/details.html)采用主流windows操作系统以及开源工具。 ·包括操作系统模拟练习。 海报:
  • 通灵芯片

    作者:丹尼尔·希利斯

    本书深入浅出地阐述了计算机科学中许多基本而重要的概念,包括布尔逻辑、有限自动机、编程语言、图灵机的普遍性、信息论、算法、并行计算、量子计算、神经网络、机器学习乃至自组织系统。 作者高屋建瓴式的概括,既不失深度,又妙趣横生,相信读者读后会有很多启发。 目录: 序言:石的奇迹 第一章 通用件 第二章 万能积木 第三章 程序设计 第四章 图灵机的普适性 第五章 算法和探索法 第六章 存储:信息与密码 第七章 速度:并行计算机 第八章 自学习与自适应的计算机 第九章 跨越工程设计 致谢
  • Artificial Intelligence

    作者:Stuart Russell,Peter

    The long-anticipated revision of this #1 selling book offers the most comprehensive, state of the art introduction to the theory and practice of artificial intelligence for modern applications. Intelligent Agents. Solving Problems by Searching. Informed Search Methods. Game Playing. Agents that Reason Logically. First-order Logic. Building a Knowledge Base. Inference in First-Order Logic. Logical Reasoning Systems. Practical Planning. Planning and Acting. Uncertainty. Probabilistic Reasoning Systems. Making Simple Decisions. Making Complex Decisions. Learning from Observations. Learning with Neural Networks. Reinforcement Learning. Knowledge in Learning. Agents that Communicate. Practical Communication in English. Perception. Robotics. For computer professionals, linguists, and cognitive scientists interested in artificial intelligence.
  • 程序设计语言原理

    作者:(美)賽巴斯塔(Sebesta,R.W.

    本书从为什么学习程序设计语言入手,深入细致地讲解了命令式语言的主要结构及其设计与实现,内容涉及变量、数据类型、表达式和赋值语句、控制语句、子程序、数据抽象机制、支持面向对象程序设计(继承和动态方法绑定)、并发和异常处理等方面。最后两章介绍了函数式程序设计语言和逻辑程序设计语言。 本书内容丰富,剖析透彻,被美国和加拿大多所高等院校采用作为教材。本书既可用做高等院校计算机及相关专业本科生程序设计语言课程的教材和参考书,也可供程序设计人员参考。
  • 正则表达式必知必会

    作者:Ben Forta

    正则表达式是一种威力无比强大的武器,几乎在所有的程序设计语言里和计算机平台上都可以用它来完成各种复杂的文本处理工作。本书从简单的文本匹配开始,循序渐进地介绍了很多复杂内容,其中包括回溯引用、条件性求值和前后查找,等等。每章都为读者准备了许多简明又实用的示例,有助于全面、系统、快速掌握正则表达式,并运用它们去解决实际问题。 本书适合各种语言和平台的开发人员。
  • Machine Learning

    作者:Tom M. Mitchell

    This book covers the field of machine learning, which is the study of algorithms that allow computer programs to automatically improve through experience. The book is intended to support upper level undergraduate and introductory level graduate courses in machine learning.
  • 面向对象分析与设计

    作者:Grady Booch,Robert A

    《面向对象分析与设计(第3版)》是《Jolt大奖精选丛书》系列之一,Jolt大奖素有“软件业之奥斯卡”的美称,本丛书精选自Jolt历届获奖图书,以植根于开发实践中的独到工程思想与杰出方法论为主要甄选方向。《面向对象分析与设计(第3版)》第1版和第2版分别于1991年和1993年荣获Jolt震撼奖。 《面向对象分析与设计(第3版)》是UML创始人GradyBooch的代表作之一。 全书分为理论和应用两部分。理论部分深刻剖析了面向对象分析与设计(OOAD)的概念和方法。应用部分连续列出了5个不同类型、不同领域的应用,描述如何从初始阶段到交付阶段,将OOAD理论和方法应用到项目中。应用部分所涉及的领域包括系统架构、数据获取、密码分析、控制系统和Web开发,还给出了一些关于重要问题的有效建议,包括分类、实现策略和高性价比的项目管理。书中介绍的概念都基于牢固的理论基础。同时,作者十分注重实效,基于其丰富的经验,面向软件工程实践者的实际需要,提出了改进的对象开发方法,用于解决系统和软件开发者面临的复杂问题;运用大量例子说明了基本概念,解释了方法,并展示了在不同领域的成功应用。
  • 数据库系统概念

    作者:(美)Abraham Silbersch

    【编辑推荐】 数据库领域的殿堂级作品 夯实数据库理论基础,增强数据库技术内功的必备之选 对深入理解数据库,深入研究数据库,深入操作数据库都具有极强的指导作用! 【内容简介】 本书是数据库系统方面的经典教材之一,其内容由浅入深,既包含数据库系统基本概念,又反映数据库技术新进展。它被国际上许多著名大学所采用,包括斯坦福大学、耶鲁大学、得克萨斯大学、康奈尔大学、伊利诺伊大学等。我国也有多所大学采用本书作为本科生和研究生数据库课程的教材和主要教学参考书,收到了良好的效果。 第6版保持了前5版的总体风格,同时对内容进行了扩充,对结构进行了调整,以更好地符合数据库教学的需求和反映数据库设计、管理与使用方式的发展和变化。具体更新内容如下: 调整了内容组织结构,将SQL内容提前,并集中进行介绍。 采用一个新的模式(基于大学的数据)作为贯穿全书的运行实例。 修订和更新了对数据存储、索引和查询优化以及分布式数据库的涵盖。 修订了E-R模型、关系设计和事务管理等内容。 扩充了关于应用开发和安全性的素材。 本书配套网站(http://www.db-book.com)提供的教辅资源包括: · 书中各章的教学课件。 · 实践练习的答案。 · 未放入纸版书中的四个附录(高级关系数据库设计、其他关系查询语言、网状模型、层次模型)。 · 实验素材(包括大学模式和习题中用到的其他关系的SQL DDL和样例数据,以及关于建立和使用各种数据库系统和工具的说明书)。 · 最新勘误表。
  • 计算机程序设计艺术,卷4A:组合算法(一)(英文版)

    作者:Donald E. Knuth

    《计算机程序设计艺术(卷4A):组合算法1(英文版)》是图灵奖得主高德纳倾尽心血进行的一项巨大的写作计划,目前已经完成了前三卷。这套书被公认为计算机科学领域的权威之作,深入阐述了程序设计和算法理论,对计算机领域的发展有着极为深远的影响。《计算机程序设计艺术(卷4A):组合算法1(英文版)》主要介绍了组合算法,内容涉及布尔函数、按位操作技巧、元组和排列、组合和分区以及所有的树等。
  • Computer Architecture, Fifth Edition

    作者:John L. Hennessy,Dav

    The computing world today is in the middle of a revolution: mobile clients and cloud computing have emerged as the dominant paradigms driving programming and hardware innovation today. The Fifth Edition of Computer Architecture focuses on this dramatic shift, exploring the ways in which software and technology in the cloud are accessed by cell phones, tablets, laptops, and other mobile computing devices. Each chapter includes two real-world examples, one mobile and one datacenter, to illustrate this revolutionary change. Updated to cover the mobile computing revolution Emphasizes the two most important topics in architecture today: memory hierarchy and parallelism in all its forms. Develops common themes throughout each chapter: power, performance, cost, dependability, protection, programming models, and emerging trends ("What's Next") Includes three review appendices in the printed text. Additional reference appendices are available online. Includes updated Case Studies and completely new exercises.
  • 大师的智慧

    作者:萨 沙等

    自由作家C.拉泽里和计算机科学家D.萨沙在个人访谈的基础上写成了这本《大师的智慧》。书中介绍了15位一流的计算机科学家,其中包括8位图灵奖获得者,这是计算机界的诺贝尔奖。这些科学家们讲述了他们自己早期的想法和影响。对计算机科学的贡献和对未来的看法。萨沙和拉泽里加入了一些历史背景,并以日常概念叙述了这些科学家们的非凡成就,以便业余爱好者能够理解。 《大师的智慧》包揽了计算机科学中的所有领域: ・研究怎样与计算机对话的语言学家。 ・研究更快地解决问题。并且发现有的问题不可解的算法学家。 ・制造更好更快的计算机的体系结构设计师。 ・教计算机自己解决问题的机器智能的雕刻师。 《大师的智慧》还向读者提出了一些这些科学家目前正在研究但尚未解决的问题: ・我们可以制造出像人脑一样工作的计算机吗? ・计算机的速度有没有极限? ・虚拟现实中是否会有人类? ・为什么让计算机模拟5岁的小孩比模拟地质学家更难? ・未来的50年计算机科学将给人类带来什么?
  • 领域特定语言

    作者:Martin Fowler

    本书是DSL领域的丰碑之作,由世界级软件开发大师和软件开发“教父”Martin Fowler历时多年写作而成,ThoughtWorks中国翻译。全面详尽地讲解了各种DSL及其构造方式,揭示了与编程语言无关的通用原则和模式,阐释了如何通过DSL有效提高开发人员的生产力以及增进与领域专家的有效沟通,能为开发人员选择和使用DSL提供有效的决策依据和指导方法。 全书共57章,分为六个部分:第一部分介绍了什么是DSL,DSL的用途,如何实现外部DS和内部DSL,如何生成代码,语言工作台的使用方法;第二部分介绍了各种DSL,分别讲述了语义模型、符号表、语境变量、构造型生成器、宏和通知的工作原理和使用场景;第三部分分别揭示分隔符指导翻译、语法指导翻译、BNF、易于正则表达式表的词法分析器、递归下降法词法分析器、解析器组合子、解析器生成器、树的构建、嵌入式语法翻译、内嵌解释器、外加代码等;第四部分介绍了表达式生成器、函数序列、嵌套函数、方法级联、对象范围、闭包、嵌套闭包、标注、解析数操作、类符号表、文本润色、字面量扩展的工作原理和使用场景;第五部分介绍了适应性模型、决策表、依赖网络、产生式规则系统、状态机等计算模型的工作原理和使用场景;第六部分介绍了基于转换器的代码生成、模板化的生成器、嵌入助手、基于模型的代码生成、无视模型的代码生成和代沟等内容。