计算机科学概论(Python版)pdf/doc/txt格式电子书下载
本站仅展示书籍部分内容
如有任何咨询
请加微信10090337咨询
书名:计算机科学概论(Python版)pdf/doc/txt格式电子书下载
推荐语:
作者:(美)克里斯汀·阿尔瓦拉多(ChristineAlvarado),扎卡里·道兹(ZacharyDodds),吉奥夫·昆宁(GeoffKuenning),兰·列别斯科(RanLibesk),王海鹏译
出版社:人民邮电出版社
出版时间:2020-06-01
书籍编号:30616835
ISBN:9787115535542
正文语种:中文
字数:228115
版次:1
所属分类:计算机-程序设计
版权信息
书名:计算机科学概论(Python版)
ISBN:978-7-115-53554-2
本书由人民邮电出版社发行数字版。版权所有,侵权必究。
您购买的人民邮电出版社电子书仅供您个人使用,未经授权,不得以任何方式复制和传播本书内容。
我们愿意相信读者具有这样的良知和觉悟,与我们共同保护知识产权。
如果购买者有侵权行为,我们可能对该用户实施包括但不限于关闭该帐号等维权措施,并可能追究法律责任。
版权
著 [美] 克里斯汀·阿尔瓦拉多(Christine Alvarado)
[美] 扎卡里·道兹(Zachary Dodds)
[美] 吉奥夫·昆宁(Geoff Kuenning)
[美] 兰·列别斯科(Ran Libesk)
译 王海鹏
责任编辑 陈冀康
人民邮电出版社出版发行 北京市丰台区成寿寺路11号
邮编 100164 电子邮件 315@ptpress.com.cn
网址 http://www.ptpress.com.cn
读者服务热线:(010)81055410
反盗版热线:(010)81055315
版权声明
Simplified Chinese translation copyright © 2020 by Posts and Telecommunications Press Co. Ltd ALL RIGHTS RESERVED
CS for All: An Introduction to Computer Science Using Python, by Christine Alvarado, Zachary Dodds, Geoff Kuenning and Ran Libeskind-Hadas.
Copyright © 2020 Franklin, Beedle & Associates Incorporated.
本书中文简体版由Franklin, Beedle & Associates公司授权人民邮电出版社有限公司出版。未经出版者书面许可,对本书的任何部分不得以任何方式或任何手段复制和传播。
版权所有,侵权必究。
内容提要
本书是美国哈维玛德学院 “计算机科学通识”课程的配套教材,用独特的方法介绍计算机科学,带领读者进入这一充满智慧和活力的知识领域。
全书共7章。第1章介绍计算机科学的概念,引入了用于控制虚拟的“Picobot”机器人的一种简单的编程语言;第2章和第3章介绍Python编程语言,并且结合Python介绍了函数式编程的思想和概念;第4章深入计算机的内部工作原理,从数字逻辑到机器组织,再到用机器语言编程;第5章探讨计算中更复杂的思想,同时探讨诸如引用和可变性等概念,以及包括循环在内的构造、数组和字典;第6章探讨面向对象编程和设计中的一些关键思想;第7章针对问题解决,在计算复杂性和可计算性方面,提供了一些优雅的,但数学上非常合理的处理方法,最终证明了计算机上无法解决的许多计算问题。
本书适合想要通过Python编程来系统学习和了解计算机科学的读者阅读,也可以作为高等院校计算机相关专业的教学参考书。
前 言
欢迎你阅读本书!本书采用了独特的方法介绍计算机科学。简而言之,我们的目标是将计算机科学作为一个智慧丰富和充满活力的领域,而不是专注于计算机编程。虽然编程肯定是我们的方法中一个重要且普遍的元素,但我们强调概念和解决问题,而不是语法和编程语言特性。
本书是美国哈维玛德学院“计算机科学通识”课程的配套教材,随后在美国许多学院和大学中被采用。在哈维玛德学院,几乎每个一年级学生都会学习这门课程(不论学生的最终专业是什么),它是学院核心课程的一部分。我们的教材也被克莱蒙特学院联盟的许多学校采用,包括主修人文科学、社会科学和艺术的学生都在使用。因此,这是学生的第一门计算课程,无论他们的专业是什么。
从第1章开始,本书强调解决问题和重要思想的特点就很明确。我们在第1章中描述了一种非常简单的编程语言,用于控制虚拟的“Picobot”机器人。读者花十分钟就可以掌握其语法,但这里提出的计算问题是深刻而有趣的。
本书的其余部分遵循了同样的思路。我们使用Python语言,因为它的语法简单,并且有一套丰富的工具和软件包,让新手程序员能够编写有用的程序。在第2章中,我们对使用Python进行编程的介绍仅限于该语言语法的有限子集,这体现了函数式编程语言的精神。通过这种方式,读者很早就掌握了递归,并意识到他们可以用极少的代码编写有趣的程序。
第3章在函数式编程上更进一步,介绍了高阶函数的概念。第4章关注一个问题:“我的计算机如何做到这一切?”我们研究了计算机的内部工作原理,从数字逻辑到计算机组织,再到用机器语言编程。
既然已经揭开了计算机的“神秘面纱”,读者也看到了“幕后”发生的事情的物理表示,于是我们在第5章中继续探讨了计算中更复杂的思想,同时探讨了诸如引用和可变性等概念,以及包括循环在内的构造、数组和字典。我们利用第4章介绍的计算机物理模型来解释这些概念和结构。根据我们的经验,如果读者建立了底层的物理模型,就更容易理解这些概念。所有这些都是在读者熟悉的场景下完成的,这就是一个推荐程序,就像在线购物中使用的那种。
内容新!有改进!有许多“边缘的”有用注释!
在第6章中,我们探讨了面向对象编程和设计中的一些关键思想。这里的目标不是培养专业级的程序员,而是解释面向对象范式的基本原理,并让读者了解一些关键概念。最后,在第7章中,我们研究了问题的“难度”——在计算复杂性和可计算性方面,提供了一些优雅的,但数学上非常合理的处理方法,最终证明了计算机上无法解决的许多计算问题。我们使用Python作为模型,而不是使用形式化的计算模型(如图灵机)。
本书意在与我们为课程开发的大量资源一起使用,这些资源可从网站https://www.cs. hmc.edu/csforall上获得。这些资源包括完整的授课PPT、丰富的每周作业集、一些附带的软件和文档,以及关于该课程已发表的论文。
我们有意让这本书的篇幅相对较短,并努力让它变得有趣、可读性好。本书准确地反映了课程的内容,而不是一本不可能在一个学期学完的、令人望而生畏的百科全书。我们编写这本书时相信,读者可以随着课程的进行而舒适地阅读所有内容。
祝各位读者阅读愉快、计算愉快!
致谢
作者非常感谢美国国家科学基金会,通过CPATH 0939149的资助,为本课程的开发提供了方方面面的支持。多年来,这本书从许多学生和教师的反馈中不断得到改善。巴克内尔大学的Dan Hyde教授提供的详细建议,为本书带来了大量改进。此外,巴克内尔大学的Richard Zaccone教授、史蒂文斯理工学院的David Naumann教授和Dan Duchamp教授、波士顿大学的Dave Sullivan博士、Eran Segev先生以及几位匿名的审稿人提供了许多宝贵的意见和建议。Chris Butler、Nic Dodds、Ciante Jones和Dylan McGarvey帮助完成了许多最终的制作任务。
最后,感谢Franklin Beedle出版社的Jaron Ayres、Brenda Jones和Tom Sumner的团队,他们凭着良好的判断力出版了这本书,热情地、耐心地支持我们完成了这次“探险”。
我们努力做到准确和正确。本文中的所有错误完全由作者负责。
Christine Alvarado (UC San Diego)
Zachary Dodds (Harvey Mudd College)
Geoff Kuenning (Harvey Mudd College)
Ran Libeskind-Hadas (Harvey Mudd College)
资源与支持
本书由异步社区出品,社区(https://www.epubit.com/)为您提供相关资源和后续服务。
提交勘误
作者和编辑尽最大努力来确保书中内容的准确性,但难免会存在疏漏。欢迎您将发现的问题反馈给我们,帮助我们提升图书的质量。
当您发现错误时,请登录异步社区,按书名搜索,进入本书页面,单击“提交勘误”,输入勘误信息,单击“提交”按钮即可。本书的作者和编辑会对您提交的勘误进行审核,确认并接受后,您将获赠异步社区的100积分。积分可用于在异步社区兑换优惠券、样书或奖品。
与我们联系
我们的联系邮箱是contact@epubit.com.cn。
如果您对本书有任何疑问或建议,请您发邮件给我们,并请在邮件标题中注明本书书名,以便我们更高效地做出反馈。
如果您有兴趣出版图书、录制教学视频或者参与图书翻译、技术审校等工作,可以发邮件给我们;有意出版图书的作者也可以到异步社区在线提交投稿(直接访问www.epubit.com/ selfpublish/submission即可)。
如果您是学校、培训机构或企业,想批量购买本书或异步社区出版的其他图书,也可以发邮件给我们。
如果您在网上发现有针对异步社区出品图书的各种形式的盗版行为,包括对图书全部或部分内容的非授权传播,请您将怀疑有侵权行为的链接发邮件给我们。您的这一举动是对作者权益的保护,也是我们持续为您提供有价值的内容的动力之源。
关于异步社区和异步图书
“异步社区”是人民邮电出版社旗下IT专业图书社区,致力于出版精品IT技术图书和相关学习产品,为作译者提供优质出版服务。异步社区创办于2015年8月,提供大量精品IT技术图书和电子书,以及高品质技术文章和视频课程。更多详情请访问异步社区官网https://www.epubit.com。
“异步图书”是由异步社区编辑团队策划出版的精品IT专业图书的品牌,依托于人民邮电出版社近30年的计算机图书出版积累和专业编辑团队,相关图书在封面上印有异步图书的LOGO。异步图书的出版领域包括软件开发、大数据、AI、测试、前端、网络技术等。
异步社区
微信服务号
0 xxWx -> E 1
0 xxxx -> W 0
1 xxxx -> E 1 1 xExx -> W 0
0 xxWx -> E 1 0 xxxx -> W 0 1 xxxx -> E 1 1 xExx -> W 0
0 xxxx -> W 0 0 xxWx -> E 1 1 xxxx -> E 1 1 xExx -> W 0
0 **x* -> W 0 0 **W* -> E 1 1 *x** -> E 1 1 *E** -> W 0
0 Nxxx -> X 1
0 **x* -> W 0 0 **W* -> E 1 1 *x** -> E 1 1 *E** -> W 0
第1章 引言
计算机科学对于信息革命,就像是机械工程对于工业革命。
——Robert Keller
1.1 什么是计算机科学
你可能不确定计算机科学(Computer Science,CS)是什么,但你每天都在使用它。当你使用Google或智能手机,或观看有特效的电影时,其中有很多CS的功劳。当你通过互联网订购产品时,网站也包含了CS,用加密的方式来保证你的信用卡安全,而且联邦快递也利用CS规划其送货车辆,以便尽快将你的订单送达。尽管如此,就算是计算机科学家也很难回答这个问题:“究竟什么是CS?”
许多其他科学试图理解事物的运作方式:物理学试图理解物理世界,化学试图理解物质的组成,生物学试图理解生命。那么计算机科学试图理解什么呢?计算机?可能不是——计算机是由人类设计和建造的,因此它们的内部运作方式是已知的(至少对某些人来说是这样!)。
也许它就是研究编程。编程对于计算机科学家来说确实很重要,正如语法对于作者很重要,或望远镜对于天文学家很重要。但是没有人会认为写作就是研究语法,或者天文学就是研究望远镜。同样,编程是计算机科学的一个重要部分,但它不是计算机科学的全部。
如果我们转向源头,计算机科学起源于不同的领域,其中包括工程、数学和认知科学等。一些计算机科学家设计事物,就像工程师一样。另一些科学家寻求解决计算问题的新方法,分析他们的解决方案,并证明他们是正确的,就像数学家一样。还有一些科学家思考人类如何与计算机和软件进行交互,这与认知科学和心理学密切相关。所有这些都是计算机科学的一部分。
所有计算机科学家(几乎)有一个统一的主题,即他们对从
....
本站仅展示书籍部分内容
如有任何咨询
请加微信10090337咨询