本教材的目的是培养学生树立计算思维的理论体系,掌握一些常见算法解决实际问题的能力。教材内容围绕什么是计算、什么是计算思维、计算机是如何计算的等中心问题,如何分析解决一些实际问题、如何构思算法、解决复杂的工程问题,介绍程序设计中的基本概念、基本思想和基本方法。
社会信息化进程正以人们无法预测的速度突飞猛进地发展。信息技术的发展和日益丰富的社会需求对高校的计算机教育提出了新的挑战,对当代大学生计算机能力的培养提出了更高的要求。为了满足当前社会对计算机人才的需求,大学生计算机基础课程不应该只是注重技能和操作能力的培养,更应该着眼于培养和提高学生的计算机科学素养。目前,以“增强计算思维能力培养,提高计算机科学素养”为目的的大学计算机基础教育成为改革方向。针对普通院校非计算机专业学生的特点和培养定位,从培养学生建立计算思维理论体系、促进学生的计算思维与各专业思维交叉融合的角度出发,我们编写了这本适合非计算机专业学生的计算思维导论教材。
“计算思维导论”是学生进入大学的第一门计算机课程。针对课程学习对象的特点和课程的教学要求,本书设计了9个章节,分别是绪论、计算基础、计算平台、计算机网络基础、数据库技术基础、逻辑思维、问题求解、数据挖掘基础、计算机新技术。通过本书的学习,学生能够了解利用计算手段求解社会问题或自然问题的基本思维模式,理解网络的原理与构建,从而形成网络化思维,了解抽象复杂系统或复杂问题的基本思维模式,了解由问题到算法再到程序的问题求解思维模式,了解数据管理和挖掘的手段,并体验基于数据库和数据挖掘的数据运用方法,理解大数据、人工智能等技术的社会影响。
本书旨在为各专业学生今后设计、构造和应用各种计算系统求解学科问题奠定思维基础,帮助学生提高解读真实世界系统并解决复杂问题的能力。本书会为学生学习后续的计算机应用课程及其他相关课程奠定基础,并且为他们拥有走向工作岗位应具备的技能提供有力保障。
为了便于教师使用本教材,本书配有电子教案和实验指导书等教学资料,电子教案可从华章官网ww.hzbook.com免费下载。本书适合作为普通高等学校非计算机专业计算机基础课程教材,也可作为成人高等教育或其他培训机构的培训教材或自学参考书。
本书源于大学计算机基础教育工作者的教学和实践,凝聚了一线任课教师的教学经验与科研成果。本书在编写过程中得到了机械工业出版社的大力支持和帮助,在此表示衷心的感谢。同时,对书末所列参考文献的作者表示谢意。
由于时间仓促,书中难免有不足之处,敬请读者批评指正。
编 者
2019年7月
前言
第1章 绪论 1
1.1 计算的概念 1
1.1.1 什么是计算 1
1.1.2 普适计算与计算无所不在 2
1.2 计算思维概述 2
1.2.1 计算思维的概念 2
1.2.2 计算思维的本质 3
1.2.3 计算思维示例 4
1.2.4 计算思维的特征 5
1.2.5 计算思维的思维模式 6
1.2.6 日常生活中的计算思维 6
1.3 计算工具与计算机 7
1.3.1 计算机的产生 7
1.3.2 计算机的分代与分类 11
1.3.3 计算机的局限性 13
1.3.4 计算机的发展趋势 14
1.3.5 计算机的应用 16
习题 18
第2章 计算基础 19
2.1 数制 19
2.1.1 数制的概念 19
2.1.2 数制的转换 21
2.2 数据的存储 23
2.2.1 数据的组织形式 23
2.2.2 计算机中数据的运算 23
2.3 数据在计算机中的表示形式 25
2.3.1 计算机中数值型数据的表示 25
2.3.2 计算机中西文字符的表示 28
2.3.3 计算机中中文字符的表示 29
2.3.4 声、图信息的表示 31
习题 33
第3章 计算平台 35
3.1 计算机硬件系统概述 35
3.1.1 计算机系统构成 35
3.1.2 冯·诺依曼计算机的基本组成 36
3.2 计算机基本工作原理 37
3.2.1 指令和指令系统 37
3.2.2 程序的执行过程 38
3.3 微型计算机硬件组成 39
3.3.1 微型计算机的主要性能指标 39
3.3.2 主板 39
3.3.3 中央处理器 43
3.3.4 存储器 45
3.3.5 输入/输出设备 53
3.3.6 其他设备 56
3.4 计算机软件系统分类 57
3.4.1 系统软件和应用软件 57
3.4.2 本地软件和在线软件 58
3.4.3 商业软件、免费软件、自由软件和开源软件 58
3.4.4 软件许可证 59
3.5 操作系统的功能和分类 59
3.5.1 操作系统的概念 59
3.5.2 操作系统的分类 60
3.5.3 操作系统的引导 61
3.5.4 操作系统的功能 61
习题 66
第4章 计算机网络基础 68
4.1 计算机网络概述 68
4.1.1 计算机网络的定义和功能 68
4.1.2 计算机网络的形成和发展 69
4.1.3 计算机网络的组成 70
4.1.4 计算机网络的分类 71
4.2 计算机网络的体系结构 76
4.2.1 OSI参考模型 76
4.2.2 TCP/IP参考模型 78
4.3 网络基础知识 79
4.3.1 网络互连设备 79
4.3.2 传输介质 81
4.3.3 网络地址和域名 83
4.4 因特网概述 85
4.4.1 因特网简介 85
4.4.2 因特网的接入方式 87
4.4.3 因特网的基本服务功能 89
4.5 计算机局域网 93
4.5.1 局域网的组成 94
4.5.2 局域网的组建步骤 94
4.5.3 局域网的组建实例 94
4.6 无线局域网 98
4.6.1 无线局域网的特点 98
4.6.2 无线局域网协议标准 98
4.6.3 身份验证方式 98
4.6.4 无线网络设备 99
4.6.5 无线局域网的组建模式 100
4.6.6 无线局域网的组建实例 101
4.7 网络安全及防护 104
4.7.1 网络安全 104
4.7.2 网络安全面临的威胁 105
4.7.3 网络安全技术 107
习题 110
第5章 数据库技术基础 112
5.1 数据管理技术的发展 112
5.1.1 人工管理阶段 112
5.1.2 文件系统阶段 113
5.1.3 数据库系统阶段 114
5.2 数据库系统的基本概念 114
5.2.1 数据库的基本概念 114
5.2.2 数据模型的基本概念 116
5.2.3 关系模型的基本概念 118
5.3 Access 数据库管理系统 123
5.3.1 Access 数据库的建立和维护 124
5.3.2 查询 131
5.3.3 SQL语句 134
5.3.4 窗体设计 141
5.3.5 报表设计 144
习题 150
第6章 逻辑思维 152
6.1 逻辑思维相关概念 152
6.1.1 逻辑思维的概念 152
6.1.2 逻辑思维的特征 153
6.1.3 数理逻辑的概念 153
6.2 命题及命题判断 154
6.2.1 命题的概念 154
6.2.2 命题的类型 154
6.2.3 命题的判断方法 155
6.3 命题符号化和联结词 156
6.3.1 命题符号化 156
6.3.2 联结词 156
6.4 逻辑代数与真值表 160
6.4.1 逻辑代数 160
6.4.2 逻辑代数的应用 160
6.4.3 真值表及其构建方法 161
6.5 等值演算与逻辑推理 163
6.5.1 等值演算 163
6.5.2 主析取范式与主合取范式 165
6.5.3 逻辑推理 167
习题 171
第7章 问题求解 172
7.1 算法和算法描述 172
7.1.1 计算思维与传统思维 172
7.1.2 算法的定义 174
7.1.3 程序设计的三大结构 174
7.1.4 算法的描述 175
7.1.5 算法的程序实现 184
7.2 常用算法 186
7.2.1 枚举法 186
7.2.2 递推法 188
7.2.3 递归法 189
7.2.4 迭代法 190
7.2.5 查找法 192
7.2.6 排序法 194
7.2.7 分治法 198
7.2.8 动态规划法 199
7.2.9 贪心法 200
7.2.10 回溯法 201
习题 202
第8章 数据挖掘基础 204
8.1 数据挖掘概述 204
8.1.1 数据挖掘的背景 204
8.1.2 数据挖掘的定义 205
8.1.3 数据挖掘的步骤 206
8.2 数据采集 207
8.2.1 数据来源 207
8.2.2 数据采集方法 209
8.3 数据探索 210
8.3.1 数据质量分析 210
8.3.2 数据特征分析 212
8.4 数据预处理 215
8.4.1 数据清洗 216
8.4.2 数据集成 217
8.4.3 数据变换 218
8.4.4 数据归约 219
8.5 分类和预测 220
8.5.1 分类 220
8.5.2 预测 226
8.6 聚类算法 228
8.6.1 聚类的概念 228
8.6.2 系统聚类法 229
8.6.3 K-means聚类法 231
8.7 关联规则 233
8.7.1 关联规则挖掘的基本概念 233
8.7.2 Apriori算法 234
习题 236
第9章 计算机新技术 237
9.1 大数据技术 237
9.1.1 大数据的概念与特点 237
9.1.2 大数据的度量 238
9.1.3 大数据生态圈 238
9.1.4 大数据典型应用 240
9.1.5 大数据的发展趋势 242
9.2 人工智能 242
9.2.1 人工智能的概念 242
9.2.2 人工智能的发展 243
9.2.3 人工智能的主要研究领域 244
9.2.4 人工智能的主要实现技术 245
9.2.5 人工智能典型应用 246
9.3 量子计算机 247
9.3.1 量子计算机的概念 247
9.3.2 量子计算机的发展 248
9.3.3 量子计算机典型应用 249
9.4 BIM 250
9.4.1 BIM的概述与意义 250
9.4.2 BIM的代表软件 250
9.4.3 BIM典型应用 251
9.5 其他计算机新技术 253
9.5.1 云计算 253
9.5.2 物联网 253
9.5.3 智能家居 254
9.5.4 智慧建筑 254
9.5.5 智慧城市 254
9.5.6 VR、AR 和MR 255
习题 256
参考文献 257