
全书共分为9章,主要内容包括:计算机与计算思维、信息技术基础、操作系统基础、算法与数据结构、程序设计基础、多媒体技术、数据库技术基础、计算机网络和软件工程。本书以计算思维为统领和导向,结构严谨,叙述准确,实践性强。重点培养学生利用计算机处理和解决实际问题的理念、方法和综合应用能力,为后续程序设计课程和信息系统的开发奠定坚实基础。 本书可作为高校各专业“计算机基础教育”课程的教材,也可作为计算机技术培训用书和计算机爱好者自学用书。
前 言 随着计算机科学和信息技术的飞速发展,计算机在经济和社会发展中的地位日益突出。大学计算机素质教育已经从传承计算文化、弘扬计算科学,向培养大学生计算思维、提高计算机应用能力的课程改革方向转变。大学计算机基础教育已踏上了新的台阶,步入了一个新的发展阶段,各专业对学生的计算机应用能力提出了更高的要求。为适应计算机科学技术和应用技术的迅猛发展,适应高等学校新生知识结构的变化,我们总结了多年来的教学实践经验,同时依据教育部计算机基础教学指导委员会《关于进一步加强高等学校计算机基础教学的意见》和《大学计算机基础课程教学基本要求》,结合《中国高等院校计算机基础教育课程体系》报告,编写了本教材。 大学计算机是高等教育非计算机专业的公共必修课,是学习其他计算机相关技术课程的前导和基础课程。本教材编写的宗旨是使读者较全面、系统地了解计算机基础知识,具备计算机实际应用能力,并能在各自的专业领域自觉地使用计算机进行学习与研究。在教材内容的组织上,舍弃了传统的以计算机办公软件为主体内容的大学计算机基础教材组织模式,采用了以培养计算思维和逐步构建信息系统开发为导向的内容组织形式,加强了算法与数据结构、程序设计基础、数据库技术、计算机网络和软件工程等方面的基础概念、原理和方法的介绍。通过学习本教材,可以使学生在提高计算机基本素养、培育计算思维的前提下,为后续进一步学习程序设计技术、计算机应用软件、信息管理系统等课程奠定坚实基础。 全书内容共分9章,密切结合了教育部关于该课程的基本教学要求,兼顾计算机软件和硬件的最新发展,逐步切入计算思维和信息系统开发所必备的基本知识,结构严谨,层次分明,叙述准确,为教师发挥个人特长留有较大的余地。在教学内容上,各高校可根据教学学时、学生的接受程度进行选取。讲授本书约需48学时(包括实验24学时)。 本书由包空军担任主编,程静、尚展垒和王鹏远担任副主编。参加本书编著工作的还有陈嫄玲、郭瑞、李萍、苏虹、孙占锋、耿雪春、韩怿冰、张凯、程明远和陈慧。其中,第1章由包空军和耿雪春编著;第2章由程静和韩怿冰编著;第3章由尚展垒和程明远编著;第4章由王鹏远和陈慧编著;第5章由李萍编著;第6章由苏虹编著;第7章由陈嫄玲编著;第8章由孙占锋和张凯编著;第9章由郭瑞编著。包空军负责全书的统稿和组织工作。 在本书的编著和出版过程中,得到了郑州轻工业学院、河南省高校计算机教育研究会、电子工业出版社的大力支持和帮助,在此表示感谢。 由于编者水平有限,书中的选材和叙述难免会有不足和疏漏之处,敬请各位读者批评指正。 编 者
目 录 第1章 计算机与计算思维/1 1.1 计算机 / 2 1.1.1 计算机的发展和应用领域概述 / 2 1.1.2 计算机系统的基本构成 / 6 1.1.3 计算机的主要部件 / 7 1.2 计算机应用系统的计算模式 / 13 1.2.1 单主机计算模式 / 13 1.2.2 分布式客户/服务器计算模式 / 13 1.2.3 浏览器/服务器计算模式 / 14 1.2.4 新的计算模式 / 15 1.3 计算思维概述 / 16 1.3.1 科学思维 / 16 1.3.2 计算科学 / 17 1.3.3 计算思维 / 17 1.3.4 计算思维的应用 / 18 1.4 计算机的社会问题和道德问题/ 18 1.4.1 社会问题 / 18 1.4.2 道德问题 / 20 习题 / 21 第2章 信息技术基础/23 2.1 计算机硬件基础 / 24 2.1.1 布尔逻辑和门电路 / 24 2.1.2 计算机基本结构和工作原理 / 26 2.1.3 指令和指令系统 / 28 2.2 数制和数制转换 / 29 2.2.1 进位计数制 / 29 2.2.2 不同数制之间的相互转换 / 30 2.2.3 二进制数的算术运算 / 33 2.3 信息编码 / 35 2.3.1 基于计算机的信息处理/ 35 2.3.2 信息在计算机内的表示/ 37 2.4 条形码和RFID / 43 2.4.1 一维条形码 / 43 2.4.2 二维条形码 / 44 2.4.3 RFID / 44 2.5 多媒体信息编码 / 45 2.5.1 图形图像信息的数字化 / 45 2.5.2 音频信息的数字化 / 45 2.5.3 颜色信息的数字化 / 46 2.6 信息标准化 / 46 习题 / 47 第3章 操作系统基础/49 3.1 操作系统概述 / 50 3.1.1 操作系统的含义 / 50 3.1.2 操作系统的基本功能 / 50 3.1.3 操作系统的分类 / 58 3.2 微机操作系统的演化过程 / 60 3.2.1 DOS / 60 3.2.2 Windows操作系统 / 61 3.3 网络操作系统 / 62 3.4 常见的操作系统 / 63 3.4.1 UNIX/Linux / 63 3.4.2 Mac OS / 64 3.4.3 移动设备操作系统 / 64 3.5 常用的Windows操作系统 / 66 3.5.1 Windows 7简介 / 66 3.5.2 Windows 8简介 / 66 3.5.3 Windows 10简介 / 66 习题 / 67 第4章 算法与数据结构/69 4.1 算法的基本概念 / 70 4.1.1 算法定义与性质 / 70 4.1.2 设计算法的原则和过程/ 71 4.1.3 算法的基本表达 / 72 4.2 数据结构 / 76 4.2.1 数据结构概述 / 76 4.2.2 数组 / 77 4.2.3 链表 / 79 4.2.4 栈 / 80 4.2.5 队列 / 80 4.2.6 树 / 81 4.2.7 二叉树 / 82 4.2.8 图 / 84 4.3 基本算法 / 85 4.3.1 累加的算法 / 85 4.3.2 连乘的算法 / 87 4.3.3 统计的算法 / 87 4.3.4 求最大值和最小值的算法 / 88 4.3.5 排序的算法 / 89 4.3.6 查找 / 96 4.4 算法分析 / 99 4.4.1 算法的时间复杂度 / 100 4.4.2 算法的空间复杂度 / 101 4.4.3 时间复杂度和空间复杂度比较 / 101 习题 / 102 第5章 程序设计基础/104 5.1 程序设计的概念 / 105 5.1.1 程序 / 105 5.1.2 文档 / 105 5.1.3 程序设计 / 105 5.2 程序设计的基本原则 / 106 5.2.1 模块化程序设计概念 / 106 5.2.2 程序设计的风格 / 107 5.2.3 结构化程序设计的原则/ 108 5.2.4 面向对象的程序设计 / 109 5.3 程序设计的基本控制结构 / 110 5.3.1 顺序结构 / 111 5.3.2 选择(分支)结构 / 111 5.3.3 循环结构 / 111 5.4 常用程序设计语言 / 112 5.4.1 程序设计语言 / 112 5.4.2 C和C++ / 115 5.4.3 Visual Basic / 119 5.4.4 JAVA / 120 5.4.5 Python / 122 5.5 集成开发环境 / 124 5.5.1 .NET / 124 5.5.2 Raptor / 125 习题 / 126 第6章 多媒体技术及应用/129 6.1 多媒体技术的基本概念 / 130 6.1.1 多媒体概述 / 130 6.1.2 多媒体技术概述 / 130 6.1.3 多媒体技术 / 131 6.1.4 多媒体技术的发展 / 133 6.1.5 多媒体技术的应用 / 133 6.2 多媒体系统的组成 / 135 6.2.1 多媒体计算机硬件系统/ 135 6.2.2 多媒体计算机软件系统/ 137 6.3 音频处理技术 / 139 6.3.1 音频概述 / 139 6.3.2 音频的数字化 / 140 6.3.3 音频文件格式 / 142 6.4 图形图像处理技术 / 143 6.4.1 图形图像概述 / 143 6.4.2 图像的数字化 / 144 6.4.3 图像文件格式 / 145 6.5 动画制作技术 / 147 6.5.1 动画的分类 / 147 6.5.2 动画的技术参数 / 148 6.5.3 动画文件格式 / 148 6.5.4 Flash动画制作软件 / 149 6.6 视频处理技术 / 150 6.6.1 视频概述 / 151 6.6.2 视频的数字化 / 151 6.6.3 常用视频文件格式 / 152 6.6.4 视频编辑软件Premiere和After Effects / 153 6.7 多媒体数据压缩技术 / 154 6.7.1 多媒体数据压缩的必要性和可能性 / 154 6.7.2 多媒体数据压缩的分类/ 155 6.7.3 多媒体数据压缩标准 / 155 习题 / 157 第7章 数据库技术基础/159 7.1 数据库技术基本概念 / 160 7.1.1 数据管理和数据管理技术 / 160 7.1.2 数据库 / 160 7.1.3 数据库管理系统 / 160 7.1.4 数据库系统 / 161 7.2 数据库管理系统的发展 / 162 7.2.1 人工管理阶段 / 162 7.2.2 文件管理阶段 / 162 7.2.3 数据库系统管理阶段 / 163 7.3 数据库管理系统的基本功能 / 165 7.4 数据库的体系结构和数据模型/ 166 7.4.1 数据库体系结构 / 166 7.4.2 数据模型 / 167 7.4.3 数据库管理系统的分类/ 170 7.5 关系模型 / 172 7.5.1 基本概念 / 172 7.5.2 关系完整性约束 / 173 7.5.3 基本关系运算 / 174 7.6 数据库设计 / 174 7.7 结构化查询语言 / 175 7.7.1 数据定义 / 176 7.7.2 数据操纵 / 178 7.7.3 数据查询 / 179 7.8 数据仓库积数据挖掘 / 179 7.8.1 数据仓库的定义 / 180 7.8.2 数据仓库和数据库的区别 / 180 7.8.3 数据挖掘 / 180 7.9 大数据 / 181 7.9.1 大数据概述 / 181 7.9.2 大数据分析 / 182 7.9.3 大数据处理技术 / 183 习题 / 184 第8章 计算机网络/186 8.1 计算机网络概述 / 187 8.1.1 计算机网络的定义 / 187 8.1.2 计算机网络的发展 / 187 8.1.3 计算机网络的组成 / 188 8.1.4 计算机网络的功能与分类 / 193 8.1.5 网络协议和体系结构 / 194 8.2 计算机局域网 / 196 8.2.1 局域网概述 / 196 8.2.2 载波侦听多路访问/冲突检测协议 / 197 8.2.3 以太网 / 198 8.3 Internet基础知识 / 199 8.3.1 Internet概述 / 199 8.3.2 Internet的接入 / 200 8.3.3 IP地址与MAC地址 / 202 8.3.4 WWW服务 / 205 8.3.5 域名系统 / 208 8.3.6 电子邮件 / 210 8.3.7 文件传输 / 210 8.4 搜索引擎 / 211 8.4.1 搜索引擎的概念和功能/ 212 8.4.2 搜索引擎的类型 / 212 8.4.3 常用搜索引擎 / 213 8.5 信息安全 / 216 8.5.1 计算机病毒 / 217 8.5.2 网络安全 / 218 8.5.3 信息加密和认证技术 / 219 8.6 云计算 / 220 8.6.1 云计算模式 / 220 8.6.2 云计算的体系架构 / 221 8.7 物联网 / 222 8.7.1 物联网的概念 / 222 8.7.2 物联网体系架构 / 222 8.8 移动互联网 / 223 8.8.1 移动互联网简介 / 223 8.8.2 移动互联网的主要特征/ 224 8.8.3 移动互联网技术基础 / 224 习题 / 226 第9章 软件工程/228 9.1 软件生命周期 / 229 9.2 分析阶段 / 231 9.2.1 面向过程分析 / 231 9.2.2 面向对象分析 / 236 9.3 设计阶段 / 239 9.3.1 面向过程设计 / 239 9.3.2 面向对象设计 / 241 9.4 实现阶段 / 244 9.4.1 语言的选择 / 244 9.4.2 软件质量 / 246 9.5 测试阶段 / 248 9.5.1 软件测试目标和准则 / 248 9.5.2 软件测试的策略和方法/ 249 9.5.3 白盒测试 / 250 9.5.4 黑盒测试 / 251 9.6 文档 / 252 9.6.1 用户文档 / 253 9.6.2 系统文档 / 254 9.6.3 技术文档 / 256 习题 / 259 参考文献/262
作者包空军,副教授,现年54岁,毕业于华中科技大学计算机技术专业,现任职于郑州轻工业学院计算机学院。一直在该校从事大学本科计算机类专业的教学工作近20年,具有丰富的教学经验,并对计算机类课题有广泛地参与和研究,并多次获得河南省各类教学成果奖项。