内容简介
本书是一部系统论述计算机科学基本概念和基础理论的立体化教程(含纸质图书、教学课件与视频教程)。全书共分为11章:第1章讲解数制与编码基础知识,第2章讲解计算机组成原理,内容包括CPU的工作原理、内存的角色、缓存体系、总线结构及输入输出设备等内容,第3章介绍数据结构基础知识,包含数组、链表、栈、队列、树、图以及哈希表等主要的数据结构,第4章主要介绍操作系统的基本概念和功能,包括进程管理、内存管理、文件系统、设备驱动以及用户界面等,第5章介绍数据库基础知识及基本应用,包含关系数据库MySQL、Oracle等的工作原理以及基本操作,第6章主要讲解计算机网络的基本概念以及网络安全等相关技术,第7章介绍web前端开发的各项技术,包括HTML5、CSS3、JavaScript的最新特性,以及网站的基本结构、样式设计和交互功能的实现,第8章介绍移动开发相关技术,包括Android和iOS平台的特点、移动应用架构、性能优化、用户体验及混合开发等,第9章介绍人工智能相关技术,包括机器学习基础、深度学习、自然语言处理,计算机视觉以及人工智能的最新应用等。第10章介绍区块链技术原理、代表性应用系统和区块链共识机制等内容,第11章介绍物联网相关技术,包括物联网架构、传感器技术、物联网与通信技术、物联网与大数据、物联网与计算等内容。本书获浙江师范大学教材建设基金立项资助。为便于读者高效学习,快速掌握计算机基础理论与知识。本书作者精心制作了完整的教学课件与丰富的配套视频教程。本书适合作为广大高校计算机科学导论课程教材,也可以作为计算机基础入门读物和自学参考用书。
目录
目录
第1章 数制与编码
1.1 数制与进制基础 001
1.1.1 数制 001
1.1.2 常见的数制 001
1.1.3 进制转换 002
1.1.4 基于特定进制的算术运算 005
1.1.5 逻辑运算 006
1.1.6 进制的应用 007
1.2 数值编码 007
1.2.1 数值编码的基本概念 007
1.2.2 定点格式编码 007
1.2.3 浮点格式编码 009
1.2.4 常见的数值编码方法 010
1.2.5 数值编码的注意事项 012
1.2.6 数值编码的应用 012
1.3 字符编码 013
1.3.1 字符编码的定义与原理 013
1.3.2 常见的字符编码 013
1.3.3 字符编码的应用 016
1.4 图像、音频和视频编码 017
1.4.1 图像、音频、视频在计算机中的表示 017
1.4.2 图像、音频、视频的编码方式 018
1.4.3 图像、音频和视频的应用 021
1.5 数据压缩编码 023
1.5.1 背景介绍 023
1.5.2 常见的压缩编码 023
1.5.3 压缩编码的应用 027
1.6 校验编码与数据完整性 028
1.6.1 检验编码的背景与基础 028
1.6.2 常见的校验码 029
1.6.3 应用场景 031
1.7 特殊编码技术 032
1.7.1 格雷码 032
1.7.2 BCD码 033
1.7.3 Base64编码 033
1.7.4 加、解密编码 034
1.7.5 哈希编码 035
1.8 编码技术的发展与挑战 036
1.8.1 编码技术的最新发展现状 036
1.8.2 编码技术的挑战 038
1.9 小结 039
1.10 思考与练习 039
第2章 计算机组成原理
2.1 计算机系统简介 040
2.1.1 计算机的软硬件概念 040
2.1.2 计算机系统的层次结构 040
2.1.3 计算机组成和计算机体系结构 044
2.2 计算机的基本组成 044
2.2.1 冯·诺依曼计算机的特点 044
2.2.2 计算机的硬件框图 045
2.2.3 计算机的工作步骤 046
2.3 计算机发展及主要技术指标 051
2.3.1 计算机发展 051
2.3.2 计算机硬件主要技术指标 061
2.4 小结 062
2.5 思考与练习 062
第3章 数据结构
3.1 数据结构的基本概念 063
3.2 算法和算法评价 066
3.2.1 算法的基本概念 066
3.2.2 算法的评价 066
3.3 线性结构 070
3.3.1 线性表 070
3.3.2 栈 071
3.3.3 队列 073
3.4 树形结构 073
3.4.1 树的定义 074
3.4.2 二叉树 075
3.5 图 077
3.5.1 图的定义和术语 078
3.5.2 图的遍历 080
3.6 小结 081
3.7 思考与练习 081
第4章 操作系统
4.1 操作系统概述 084
4.1.1 什么是操作系统 084
4.1.2 操作系统的发展 085
4.1.3 操作系统的功能和特征 091
4.1.4 操作系统接口 093
4.2 常见的操作系统 094
4.2.1 Windows 094
4.2.2 Linux 094
4.2.3 UNIX 095
4.2.4 其他操作系统 095
4.3 小结 097
4.4 思考与练习 097
第5章 数据库原理及技术
5.1 数据库技术应用概述 098
5.1.1 数据库技术发展历史 098
5.1.2 数据库技术应用领域 100
5.2 课程教学组织及与其他专业课程的关系 101
5.2.1 数据库课程开设目标 101
5.2.2 数据库课程与其他专业课程的关系 102
5.2.3 数据库原理及应用的课程教学组织 103
5.3 数据库原理及应用课程内容 104
5.3.1 关系数据库的重要概念 104
5.3.2 关系数据库系统概念与关系数据理论 106
5.3.3 数据库设计 109
5.3.4 关系数据库系统DBMS重要技能 111
5.3.5 数据库备份和恢复 119
5.3.6 数据库设计与实施 122
5.4 小结 123
5.5 思考与练习 123
第6章 计算机网络
6.1 计算机网络的概念 124
6.1.1 计算机网络的组成要素 124
6.1.2 计算机网络的产生 124
6.1.3 计算机网络的发展阶段 125
6.1.4 计算机网络的功能 126
6.2 计算机网络的软件、硬件组成 127
6.2.1 软件组成 127
6.2.2 硬件组成 128
6.3 网络安全 130
6.3.1 网络安全技术 130
6.3.2 常见的网络攻防手段 131
6.4 小结 133
6.5 思考与练习 133
第7章 Web开发
7.1 Web开发基础知识 134
7.1.1 万维网服务 134
7.1.2 静态网页和动态网页 135
7.2 站点建立和访问 136
7.2.1 本地站点和Web服务器 136
7.2.2 常用网页编辑工具 136
7.2.3 VS code建立站点和页面 137
7.3 HTML基础 139
7.3.1 HTML概述 139
7.3.2 HTML主要标签 140
7.4 CSS设置 143
7.4.1 CSS概述 143
7.4.2 CSS选择器类型 143
7.4.3 DIV+CSS布局 145
7.5 JavaScript基础 148
7.5.1 JavaScript简介 148
7.5.2 JavaScript代码编写 149
7.5.3 JavaScript代码的放置位置 149
7.6 小结 150
7.7 思考与练习 150
前言/序言
前言
——写在开始之前:与计算机的一场约会
亲爱的读者:
在这个数字化时代,计算机已经渗透到我们生活的每个角落。从早晨被手机闹钟叫醒,到晚上刷着“平板”入睡,我们的生活已经离不开计算机。作为一名在计算机领域耕耘了三十余载的科研工作者,我常常被问到:“计算机科学到底是什么?”经过全体编写人员两年多的努力,本书终于和大家见面了!希望它能够带你开启一段奇妙的计算机科学世界的探索
之旅。
我们将展开一段跨越千年的时光之旅。从最早的算盘,到机械计算机之父巴贝奇的差分机,再到现代计算机之父图灵的贡献,每一步都让我们离现代计算机更近一步。将了解ENIAC这台“庞然大物”(它重达30t,需要耗费150kW的电力),到如今可以装进口袋的智能手机(运算能力却比ENIAC强上万倍)。我们也会探讨计算机在现代社会中的应用,从航天器控制器到手机支付,计算机究竟如何影响和改变我们的生活。
本书共11章,将系统、全面地介绍计算机科学技术,主要内容如下:
第1章 数制与编码
想象一下,如果只用0和1两个数字来表达所有信息,你会觉得不可思议吗?但这正是计算机的工作方式。在这一章,将讲解如何在二进制、八进制、十六进制之间进行转换,ASCII码如何让计算机理解人类的文字,Unicode如何解决全球不同语言的编码问题,图片、声音是如何被转换成二进制的。本章会用生动的例子来解释:为什么程序员喜欢用十六进制?为什么很多计算机存储容量都是2的整数次幂?这些问题,都将在本章得到答案。
第2章 计算机组成原理
这一章的内容就像是拆解一台计算机,但不会用到螺丝刀,而是运用知识和相应的讲解。本章将探索计算机组成的原理,包括CPU的工作原理、内存的角色、缓存体系、总线结构及输入输出设备等内容。通过本章的学习,你将理解为什么游戏用计算机需要独立显卡,为什么固态硬盘比机械硬盘快,以及为什么同样是8GB内存,手机和计算机的性能却有天壤之别。
第3章 数据结构
如果说程序是计算机的灵魂,那么数据结构就是构建这个灵魂的框架。本章将探讨数组、链表、栈、队列、树、图以及哈希表等主要的数据结构,用实际的应用场景来解释每种数据结构,例如:为什么Facebook平台用图结构存储用户关系?为什么游戏中的撤销功能用栈来实现?为什么字典要用哈希表?
第4章 操作系统
操作系统是计算机的管理者,它要解决的核心问题是:如何让有限的硬件资源服务好众多的应用程序。本章将深入浅出地探讨操作系统的基本概念和功能,包括进程管理、内存管理、文件系统、设备驱动以及用户界面等。通过本章,你将明白为什么手机需要“后台进程管理”,为什么关机时要“正常关机”,以及为什么Windows会产生“碎片整理”的需求。
第5章 数据库原理及技术
在信息爆炸的时代,数据库就像一位高效的图书管理员,帮我们管理海量信息。首先,本章将深入探讨关系数据库MySQL、Oracle等的工作原理,介绍SQL以及数据库设计、事务处理等,同时,本章也将介绍非关系数据库 NoSQL以及应用场景。最后,本章对关系数据库的设计方法和理论做了简要的介绍。
第6章 计算机网络
你可曾想过这样的问题:当你发送一条微信消息时,这条消息是如何从你的手机传递到朋友的手机的?本章将揭示信息传输的奥秘:网络协议、 OSI七层模型、 HTTP、 网络安全以及新一代移动通信5G技术。通过本章的学习,你将了解为什么网络会“卡顿”,WiFi为什么会有“信号死角”,以及VPN是如何工作的。
第7章 Web开发
Web开发开启了互联网创作的大门。从网页设计到动态应用,你将学会如何打造引人入胜的在线世界,成为数字时代的建筑大师。本章将介绍Web前端开发的各项技术,包括HTML5、CSS3、JavaScript的最新特性,以及网站的基本结构、样式设计和交互功能的
实现。
第8章 移动应用开发
伴随着移动通信技术的飞速发展,以及智能手机、平板电脑等移动设备的普及,移动应用已成为人们日常生活和工作中不可或缺的一部分。本章将带你了解如何开发智能手机和平板电脑上的各种应用,满足用户随时随地的需求。内容主要涵盖Android和iOS平台的特点、移动应用架构、性能优化、用户体验及混合开发等。
第9章 人工智能
人工智能(Artificial Intelligence,AI)不再是科幻小说中的概念,而是已经融入我们的日常生活。本章将探讨AI相关技术,包括机器学习基础、深度学习、自然语言处理,计算机视觉以及AI的最新应用等。本章会以生动的例子来解释这些概念,比如:为什么AI下围棋能赢过人类,但是简单地看图说话仍然困难?
第10章 区块链技术
区块链不仅是比特币的技术基础,它正在革新多个领域。本章将介绍区块链技术原理、代表性应用系统和区块链共识机制等内容。区块链技术实现了计算机网络点对点可信交互,为各领域的创新应用带来了新的思考与机遇。
第11章 物联网技术
物联网正在把我们带入智能