本书根据应用型本科高校计算机及相关专业的教学需求编写,针对大学一年级学生的认知特点,按照计算机发展的主线,系统地介绍了计算机科学的主要理论和技术应用。全书共10章,主要内容包括:计算机发展史、计算机的组成与工作原理、数据的表示和存储、数据结构和算法、程序设计和软件工程、操作系统、计算机网络与因特网、数据库系统、大数据与人工智能以及实验等。本书旨在帮助学生对计算机学科进行整体认知,引发学生对计算机科学的兴趣,因此在内容选择上注重理论引导,兼顾动手实践,达到学以致用的目的。
本书可作为应用型本科高校计算机类专业的计算机导论或专业导论教材,也可作为非计算机专业的计算机基础教材,还可作为广大计算机爱好者了解计算机基础知识的参考书。
“计算机导论”课程是计算机科学与技术以及相关专业(包括数据科学与大数据技术、智能科学与技术、人工智能、计算机网络、软件工程、信息管理与信息系统等)的一门通识基础课。课程的目的是引导学生对本专业的基础知识和前沿发展有一个整体的认识,为学生后续的专业学习建立良好的开端,打下扎实的基础。
本书针对应用型本科高校学生的特点,由浅入深地讲解计算机科学与技术的相关知识和发展动态,在内容的组织上紧紧把握3个主线:一是以计算机发展的历史为时间主线,贯穿计算机科学的各个主要知识模块;二是以计算机各种资源的虚拟化为空间主线,从具体到抽象、以模块化的方式介绍计算机科学的相关思想、理论和方法;三是以社会、道德与职业素养的培养为思政主线,将未来信息技术人才必备的道德、法律、文化、伦理等基本素质和能力融入相应知识点进行讲解,并开展开放性的专题讨论。
本书在内容的选择上,以计算思维的思想为指引,理论联系实际,讲解计算机的硬件、软件、应用等科学问题,兼顾知识性与趣味性。在知识点的选择上,本书深度适中,更侧重于广度。每一章首先通过一个案例的导入,引起学生的学习兴趣;然后通过本章导读,进一步启发学生进行思考;最后通过一个应用案例,将本章内容的理论学习应用于解决具体的实际问题,做到理论联系实际。
全书共10章,编写分工为:第一章和第十章由陈燕副教授编写,第二章和第三章由吴炜炜教授编写,第四章和第七章由汪红霞副教授编写,第五章和第六章由王德成教授编写,第八章由吕腾教授编写,第九章由刁艳玉老师编写。全书由吕腾统稿,配套的幻灯片由姚静同学制作完成。
本书为安徽省高等学校省级质量工程一流教材建设项目(2021yljc063)。
由于编写者水平有限,加之计算机科学与技术的发展一日千里,书中难免存在一些不足之处,恳请读者批评指正。
编 者?
2022年4月
第一章 计算机发展史 1
1.1 计算工具的发展 2
1.1.1 手动式计算工具 2
1.1.2 机械式计算工具 3
1.2 现代电子计算机的诞生和发展 4
1.2.1 世界上第一台计算机ENIAC 5
1.2.2 现代计算机的主要特征 5
1.2.3 电子计算机的发展 5
1.3 计算机的分类 6
1.3.1 按用途分类 6
1.3.2 按性能分类 7
1.4 微型机的发展 8
1.5 我国计算机的发展 9
1.5.1 我国计算机的初创时期 9
1.5.2 我国计算机的发展历程 10
1.5.3 我国计算机的主要成就 11
1.6 计算机的应用 13
本章小结 14
习题 14
第二章 计算机的组成与工作原理 16
2.1 冯?诺依曼体系结构 17
2.1.1 冯?诺依曼计算机的基本特征 17
2.1.2 冯?诺依曼计算机的基本部件 18
2.1.3 冯?诺依曼计算机的工作原理 19
2.2 计算机硬件系统 20
2.2.1 CPU 20
2.2.2 存储器 21
2.2.3 输入设备 25
2.2.4 输出设备 27
2.2.5 主板 28
2.3 计算机软件系统 29
本章小结 31
习题 31
第三章 数据的表示和存储 33
3.1 信息与数据 34
3.2 计算机中的数制 36
3.2.1 十进制(Decimal) 36
3.2.2 二进制(Binary) 36
3.2.3 八进制(Octal) 37
3.2.4 十六进制(Hexadecimal) 37
3.3 数制间的转换 38
3.3.1 二进制数、八进制数和十六
进制数转换成十进制数 38
3.3.2 十进制数转换成二进制数、
八进制数和十六进制数 38
3.3.3 二进制数转换成八进制数和
十六进制数 39
3.3.4 八进制数和十六进制数
转换成二进制数 40
3.4 数值型数据的表示 40
3.4.1 定点数的表示方法 40
3.4.2 浮点数的表示方法 41
3.5 字符型数据的编码表示 41
3.5.1 ASCII码 41
3.5.2 大端法和小端法 42
3.6 汉字的编码表示 44
3.7 应用案例——查看和修改操作
?系统的文字编码 45
本章小结 48
习题 48
第四章 数据结构和算法 49
4.1 数据结构 50
4.1.1 线性结构 52
4.1.2 树形结构 56
4.1.3 图形结构 59
4.2 算法 61
4.2.1 算法概述 61
4.2.2 搜索 66
4.2.3 排序 67
4.2.4 并行算法 70
4.3 应用案例——排序算法的实现 73
本章小结 76
习题 76
第五章 程序设计和软件工程 79
5.1 程序设计语言 80
5.1.1 程序的概念 80
5.1.2 程序设计语言的分类 80
5.1.3 程序设计语言的选择 82
5.2 程序设计方法 83
5.2.1 程序设计的基本过程 83
5.2.2 结构化程序设计方法 83
5.2.3 面向对象程序设计方法 85
5.3 软件工程 87
5.3.1 软件危机 88
5.3.2 软件工程 89
5.3.3 软件生命周期 91
5.3.4 软件工程方法学 93
5.3.5 软件测试 97
5.4 设计模式 100
5.4.1 设计模式的原则 101
5.4.2 设计模式的类型 102
5.5 应用案例——九九乘法表 106
本章小结 107
习题 107
第六章 操作系统 109
6.1 操作系统概述 110
6.1.1 操作系统的目标和作用 110
6.1.2 操作系统的发展史 115
6.2 操作系统的功能 122
6.2.1 处理机管理功能 122
6.2.2 存储器管理功能 125
6.2.3 设备管理功能 126
6.2.4 文件管理功能 128
6.2.5 操作系统与用户之间的接口 129
6.3 常用操作系统介绍 130
6.4 应用案例——Windows的使用 132
6.4.1 桌面、图标和任务栏 133
6.4.2 窗口 134
6.4.3 对话框 136
6.4.4 控制面板 137
本章小结 141
习题 141
第七章 计算机网络与因特网 143
7.1 计算机网络概述 144
7.1.1 计算机网络的定义 144
7.1.2 计算机网络的发展 144
7.1.3 计算机网络的组成 146
7.1.4 计算机网络的功能与分类 147
7.1.5 计算机网络的性能指标 149
7.2 计算机网络体系结构 151
7.2.1 计算机网络体系结构的形成 151
7.2.2 划分层次的必要性 152
7.2.3 具有七层协议的体系结构 152
7.2.4 实体、协议、服务和
服务访问点 153
7.2.5 TCP/IP体系结构 154
7.3 因特网介绍 155
7.3.1 因特网概述 155
7.3.2 Internet的接入 162
7.3.3 IP地址与MAC地址 163
7.3.4 WWW服务 168
7.3.5 域名系统 173
7.3.6 电子邮件 175
7.3.7 文件传输 176
7.4 应用案例——计算机和网络的
?简单配置和测试 177
本章小结 185
习题 186
第八章 数据库系统 188
8.1 数据管理技术的发展概况 189
8.1.1 人工管理阶段 190
8.1.2 文件系统管理阶段 190
8.1.3 数据库系统管理阶段 192
8.2 数据库技术发展概况 194
8.2.1 网状和层次数据库管理系统 194
8.2.2 关系数据库管理系统 196
8.2.3 数据库管理系统和
方法的新进展 197
8.2.4 我国数据库技术发展概况 203
8.3 数据库系统简述 205
8.3.1 数据库 206
8.3.2 数据库管理系统 206
8.3.3 系统的开发、维护和
使用人员 207
8.3.4 管理信息系统 207
8.4 数据模型 208
8.4.1 概念模型 208
8.4.2 逻辑模型 209
8.4.3 物理模型 209
8.5 关系模型和关系代数 209
8.5.1 基本术语 210
8.5.2 关系的性质 211
8.5.3 关系完整性约束 212
8.5.4 关系代数 212
8.6 关系模式的规范化 218
8.6.1 函数依赖 219
8.6.2 范式 221
8.7 数据库设计 224
8.7.1 数据库设计的步骤 225
8.7.2 需求分析 225
8.7.3 概念设计 226
8.7.4 逻辑结构设计 227
8.7.5 物理结构设计 229
8.8 应用案例——学籍管理系统的
?实现 229
本章小结 233
习题 233
第九章 大数据与人工智能 235
9.1 大数据 236
9.1.1 大数据概述 236
9.1.2 数据科学和数据思维 237
9.1.3 大数据处理与可视化 239
9.2 人工智能 249
9.2.1 人工智能概述 249
9.2.2 人工神经网络和深度学习 256
9.2.3 机器人 270
9.3 大数据与人工智能的关系 272
9.4 大数据与人工智能的应用
?及社会问题 273
9.5 应用案例——手写数字识别 275
本章小结 277
习题 278
第十章 实验 279
参考文献 280