·美国知名的理工高校哈维玛德学院发的“计算机科学通识”课程教材 ·美国克莱蒙特学院联盟的众多名校采用 ·用独特的方法介绍计算机科学,带领读者这一充满智慧和活力的知识领域 ·随书附赠大量教学资源,包括完整的授课PPT、丰富的每周作业集、一些附带的软件和文档,下载方式请见前言部分的配套网站
售 价:¥
纸质售价:¥38.70购买纸书
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐
版权
版权声明
内容提要
前 言
资源与支持
第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 结论
关键术语
练习
判断题
填空题
简答题和讨论题
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜