第一部分 计算思维导论 3
第1章 计算概论 3
1.1 计算 3
1.2 小结 9
习题 9
第2章 Python简介 10
2.1 Python基本元素 10
2.1.1 对象、表达式和数值类型 11
2.1.2 变量和赋值 12
2.2 分支语句 14
2.3 str类型与输入 15
2.4 循环 16
2.5 内置数据结构 18
2.5.1 列表 18
2.5.2 元组 20
2.5.3 字典 22
2.6 函数 22
2.7 文件 25
2.8 小结 26
习题 26
第3章 计算思维与计算机问题求解 29
3.1 计算思维 29
3.2 计算机问题求解 32
3.3 算法复杂度 36
3.4 计算机问题求解的核心方法 38
3.5 小结 42
习题 42
第二部分 计算机科学篇 49
第4章 递归 49
4.1 定义及应用 49
4.2 递归与数学归纳法 53
4.2.1 最大子集问题 53
4.2.2 排序 56
4.3 动态编程 58
4.4 小结 60
习题 60
第5章 信息、信息表示及处理 62
5.1 信息论基础 62
5.2 信息的数字化 64
5.2.1 数值的数字化 65
5.2.2 字符的数字化 67
5.2.3 声音的数字化 69
5.2.4 图像的数字化 70
5.3 数据压缩 71
5.3.1 Huffman编码 72
5.3.2 Python实现 75
5.4 信息加解密 78
5.5 小结 87
习题 87
第6章 面向对象程序设计 89
6.1 Python面向对象基础 90
6.2 一个实际的例子:按揭贷款 94
6.3 数据的图形化 97
6.4 小结 102
习题 102
第7章 计算机系统 103
7.1 概述 103
7.2 数字电路 105
7.2.1 逻辑门的建模与模拟 106
7.2.2 加法器 110
7.2.3 存储电路 113
7.3 计算机硬件系统 115
7.4 小结 121
习题 121
第8章 图灵机与图灵测试 123
8.1 图灵机 123
8.2 图灵测试 129
8.2.1 正则表达式简介 131
8.2.2 简单图灵测试程序 133
8.3 小结 138
习题 138
第三部分 应用篇 143
第9章 模拟、概率与统计 143
9.1 随机与概率 143
9.2 数据分布 152
9.3 正态分布与置信区间 155
9.3.1 均匀分布 156
9.3.2 指数分布 156
9.3.3 几何分布 156
9.3.4 Benford分布 158
9.4 随机数生成 160
9.5 小结 170
习题 170
第10章 蒙特卡洛模拟方法 172
10.1 概述 172
10.2 初探——模拟赌局 173
10.3 计算π 177
10.4 游荡的醉汉 179
10.5 高手赢面就大吗 188
10.6 小结 192
习题 193
第11章 数据分析概览 194
11.1 概述 194
11.2 乳腺癌的诊断 195
11.3 小结 204
习题 204
第12章 排队问题 205
12.1 排队论基础 205
12.2 SimPy简介 207
12.3 需要多少小便斗 216
12.4 小结 222
习题 223