展开全部

主编推荐语

美国知名的理工高校哈维玛德学院开发的“计算机科学通识”课程教材。

内容简介

本书是美国哈维玛德学院 “计算机科学通识”课程的配套教材,用独特的方法介绍计算机科学,带领读者进入这一充满智慧和活力的知识领域。全书共7章。第1章介绍计算机科学的概念,引入了用于控制虚拟的“Picobot”机器人的一种简单的编程语言;第2章和第3章介绍Python编程语言,并且结合Python介绍了函数式编程的思想和概念;第4章深入计算机的内部工作原理,从数字逻辑到机器组织,再到用机器语言编程;第5章探讨计算中更复杂的思想,同时探讨诸如引用和可变性等概念,以及包括循环在内的构造、数组和字典;第6章探讨面向对象编程和设计中的一些关键思想;第7章针对问题解决,在计算复杂性和可计算性方面,提供了一些优雅的,但数学上非常合理的处理方法,最终证明了计算机上无法解决的许多计算问题。

目录

  • 版权信息
  • 版权声明
  • 内容提要
  • 前言
  • 资源与支持
  • 第1章 引言
  • 1.1 什么是计算机科学
  • 1.1.1 数据
  • 1.1.2 算法
  • 1.1.3 编程
  • 1.1.4 抽象
  • 1.1.5 解决问题和创造力
  • 1.2 Picobot
  • 1.2.1 Roomba问题
  • 1.2.2 环境
  • 1.2.3 状态
  • 1.2.4 局部思考,全局行动
  • 1.2.5 不管怎样
  • 1.2.6 算法和规则
  • 1.2.7 Picobot的挑战
  • 1.2.8 一个迷宫,朋友们
  • 1.2.9 不可计算的环境
  • 关键术语
  • 练习
  • 判断题
  • 讨论题
  • 编程题
  • 第2章 函数式编程(第一部分)
  • 2.1 人类、黑猩猩和拼写检查程序
  • 2.2 Python入门
  • 2.2.1 命名事物
  • 2.2.2 名称中有什么
  • 2.3 更多数据:从数字到字符串
  • 2.3.1 关于长度的简短说明
  • 2.3.2 索引
  • 2.3.3 切片
  • 2.3.4 字符串算术
  • 2.4 列表
  • 一些好消息
  • 2.5 在Python中使用函数
  • 2.5.1 关于文档字符串的简短说明
  • 2.5.2 关于注释的同样简短的说明
  • 2.5.3 函数可以有多行
  • 2.5.4 函数可以有多个参数
  • 2.5.5 为什么要编写函数
  • 2.6 做出决策
  • 2.6.1 第二个函数示例
  • 2.6.2 缩进
  • 2.6.3 多重条件
  • 2.7 递归
  • 2.7.1 第一个递归示例:阶乘
  • 2.7.2 回到编辑距离函数
  • 2.8 递归揭秘
  • 2.8.1 调用函数的函数
  • 2.8.2 递归,真正的揭秘
  • 2.9 我们来使用递归吧
  • 2.9.1 递归设计
  • 2.9.2 基本情况
  • 2.9.3 使用递归进行设计
  • 2.9.4 递归模式
  • 2.9.5 可视化工具
  • 2.10 取之弃之
  • 2.11 编辑距离
  • 2.11.1 distance的基本情况
  • 2.11.2 distance的递归情况
  • 2.12 结论
  • 关键术语
  • 练习
  • 判断题
  • 填空题
  • 讨论题
  • 编程题
  • 第3章 函数式编程(第二部分)
  • 3.1 密码学和素数
  • 3.2 一等函数
  • 3.3 生成素数
  • 3.4 过滤
  • 3.5 lambda
  • 3.6 将Google放在map上
  • 3.6.1 map
  • 3.6.2 reduce
  • 3.6.3 组合与mapReduce
  • 3.7 函数作为结果
  • 3.7.1 用Python做微积分
  • 3.7.2 高阶导数
  • 3.8 再谈RSA密码学
  • 3.9 结论
  • 关键术语
  • 练习
  • 判断题
  • 填空题
  • 讨论题
  • 编程题
  • 第4章 计算机组织
  • 4.1 计算机组织概论
  • 4.2 表示信息
  • 4.2.1 整数
  • 4.2.2 算术
  • 4.2.3 负数思维
  • 4.2.4 分数:拼接在一起
  • 4.2.5 字母和字符串
  • 4.2.6 结构化信息
  • 4.3 逻辑电路
  • 4.3.1 布尔代数
  • 4.3.2 产生其他布尔函数
  • 4.3.3 使用电路的逻辑
  • 4.3.4 逻辑计算
  • 4.3.5 内存
  • 4.4 构建完整的计算机
  • 冯·诺依曼架构
  • 4.5 Hmmm
  • 4.5.1 一个简单的Hmmm程序
  • 4.5.2 试用
  • 4.5.3 循环
  • 4.5.4 函数
  • 4.5.5 使用栈来递归
  • 4.5.6 保存“珍贵财产”
  • 4.5.7 完整的Hmmm指令集
  • 4.5.8 最后几句话
  • 4.6 结论
  • 关键术语
  • 练习
  • 判断题
  • 选择题和简答题
  • 讨论题
  • 逻辑设计与编程题
  • 第5章 命令式编程
  • 5.1 计算机了解你(比你更了解你自己)
  • 我们的目标:音乐推荐系统
  • 5.2 从用户那里获取输入
  • 类型转换
  • 5.3 重复任务:循环
  • 5.3.1 底层的递归与迭代
  • 5.3.2 有限迭代:for循环
  • 5.3.3 如何使用循环控制变量
  • 5.3.4 累积答案
  • 5.3.5 处理非预期的输入
  • 5.3.6 不确定迭代:while循环
  • 5.3.7 for循环与while循环
  • 5.3.8 故意创建无限循环
  • 5.3.9 迭代是高效的
  • 5.4 引用以及可变和不可变数据
  • 5.4.1 按引用赋值
  • 5.4.2 可变数据类型能用其他名称更改
  • 5.5 可变数据+迭代:挑选艺人
  • 5.5.1 为什么要排序?因为运行时间很重要
  • 5.5.2 一种简单的排序算法:selectionSort
  • 5.5.3 为什么selectionSort有效
  • 5.5.4 一种不同排序的swap
  • 5.5.5 二维数组和嵌套循环
  • 5.5.6 字典
  • 5.6 读写文件
  • 5.7 整合在一起:程序设计
  • 5.8 结论
  • 关键术语
  • 练习
  • 判断题
  • 选择题和简答题
  • 讨论题
  • 编程题
  • 第6章 面向对象的程序
  • 6.1 简介
  • 6.2 对象式思考
  • 6.3 有理数解决方案
  • 6.4 重载
  • 6.5 打印一个对象
  • 6.6 关于对象主题的更多讨论
  • 6.7 用OOP实现图形
  • 6.8 最后,机器人大战僵尸
  • 6.9 结论
  • 关键术语
  • 练习
  • 判断题
  • 填空题
  • 讨论题
  • 编程题
  • 第7章 问题有多难
  • 7.1 永不结束的程序
  • 7.2 3种问题:容易、困难和不可能
  • 7.2.1 容易的问题
  • 7.2.2 困难的问题
  • 7.2.3 不可能的问题
  • 7.3 停机问题:不可计算的问题
  • 7.4 结论
  • 关键术语
  • 练习
  • 判断题
  • 填空题
  • 简答题和讨论题
展开全部

评分及书评

评分不足
1个评分

出版方

人民邮电出版社

人民邮电出版社是工业和信息化部主管的大型专业出版社,成立于1953年10月1日。人民邮电出版社坚持“立足信息产业、面向现代社会、传播科学知识、服务科教兴国”,致力于通信、计算机、电子技术、教材、少儿、经管、摄影、集邮、旅游、心理学等领域的专业图书出版。