《计算机科学概论》共12章,具体内容涉及计算机科学基础知识,包括计算机发展历史、计算机科学基础概念和计算思维概念;计算机硬件知识,包括数据在硬件上的表示方法、硬件功能结构;计算机软件知识,包括程序设计基础和软件工程基本概念等;计算机数据相关内容,包括数据的抽象、存储和表示等;计算机网络相关内容,包括网络结构与信息安全等;最后一章对计算机技术的最新发展方向进行了介绍。读者在阅读《计算机科学概论》后可在整体上对计算机科学产生较为全面的认识。
《计算机科学概论》对计算机科学领域的重要理论知识有广泛的覆盖,内容全面翔实,语言易读易懂,有充分的图片、举例、练习和拓展阅读,是高等院校计算机科学、软件工程及计算机相关专业学生入门的理想教材。
吕云翔,北京航空航天大学副教授 软件学院SAP ERP 咨询顾问专业主任,比利时布鲁塞尔大学应用科学学院应用信息技术专业硕士、经济学院工商管理专业硕士。具有多年的软件开发、项目管理、计算机教学经验。对IT行业具有较全面的认识。2003至今任北航软件学院副教授。目前研究领域包括:软件工程 IT项目管理。 著有《计算机导论实践教程》(高等院校计算机教材系列),《软件工程》,译有《计算机文化》(原书第8版)。
第1章 计算机科学基础
1.1 计算机发展简史
1.1.1 电子计算机诞生之前
1.1.2 电子计算机的发展
1.1.3 计算机发展趋势
1.2 计算机科学
1.2.1 计算机科学概念
1.2.2 计算机科学知识体系
1.3 计算机科学应用概述
1.3.1 计算机科学的应用领域
1.3.2 计算机科学在各行业内的应用
1.3.3 计算机科学与其他领域学科的交叉
本章小结
习题
第2章 计算思维
2.1 计算思维概念
2.1.1 计算与函数
2.1.2 计算机、计算机科学与计算思维
2.1.3 计算思维的主要思想及特点
2.2 利用计算思维求解问题
2.2.1 抽象
2.2.2 理论
2.2.3 设计
2.3 计算的发展趋势
2.3.1 高性能计算
2.3.2 普适计算
2.3.3 计算智能与智能计算
2.3.4 生物计算
本章小结
习题
第3章 计算机数据表示
3.1 信息与数据
3.2 进制与进制的转换
3.2.1 基数与进制
3.2.2 二进制
3.2.3 进制之间的相互转换
3.3 计算机内部的数据
3.3.1 计算机采用的进制
3.3.2 位与布尔运算
3.4 数字的存储与运算
3.4.1 整数的存储
3.4.2 溢出问题
3.4.3 实数的存储
3.5 其他数据类型的存储
3.5.1 文本
3.5.2 图像
3.5.3 音频
本章小结
习题
第4章 计算机硬件结构
4.1 计算机组成
4.1.1 概述
4.1.2 计算机硬件主要组成部分
4.1.3 计算机分层组织结构
4.1.4 冯·诺依曼模型与非冯·诺依曼模型
4.2 中央处理单元
4.2.1 CPU的基本知识和组成原理
4.2.2 处理器的性能与指标
4.2.3 指令执行过程与指令流水线
4.2.4 RISC和CISC体系结构
4.2.5 中央处理器的发展历史
4.3 存储设备
4.3.1 存储器的类型
4.3.2 存储器的层次结构
4.3.3 存储器的度量
4.3.4 主存储器
4.3.5 外部存储器
4.4 输入输出设备
4.4.1 常用输入设备
4.4.2 常用输出设备
4.4.3 I/O控制方式
4.5 计算机的其他组成部分
4.5.1 主板
4.5.2 总线
本章小结
习题
第5章 操作系统
5.1 操作系统的定义与发展
5.1.1 操作系统的定义与重要性
5.1.2 操作系统的功能与特征
5.1.3 操作系统结构
5.1.4 操作系统的发展和分类
5.2 操作系统的功能
5.2.1 进程管理与CPU调度
5.2.2 存储管理
5.2.3 文件管理
5.2.4 设备管理
5.2.5 网络与安全管理
5.2.6 用户接口管理
5.3 主流操作系统简介
5.3.1 DOS系统
5.3.2 UNIX系统
5.3.3 Windows操作系统
5.3.4 Linux操作系统
5.3.5 MacOS操作系统
5.4 其他类型的操作系统
5.4.1 移动终端操作系统
5.4.2 嵌入式系统
5.4.3 云操作系统
本章小结
习题
第6章 算法和数据结构
6.1 算法的概念
6.1.1 算法是什么
6.1.2 算法的特征
6.1.3 算法性能的表示
6.1.4 算法结构与表示
6.2 数据结构的概念
6.2.1 数据结构定义
6.2.2 数据结构的表示
6.2.3 数据结构的类型
6.3 线性结构
6.3.1 顺序表
6.3.2 链表
6.3.3 栈与队列
6.3.4 串
6.4 非线性结构
6.4.1 树
6.4.2 二叉树
6.4.3 图
6.5 算法研究方面
6.5.1 搜索算法
6.5.2 排序
6.5.3 动态规划
6.5.4 贪心思路
6.5.5 图论
6.5.6 字符串处理
6.5.7 计算几何
6.6 经典算法问题简介
6.6.1 哥尼斯堡七桥问题
6.5.2 汉诺塔问题
6.6.2 旅行商人问题
6.6.3 图灵测试问题
6.6.4 哲学家进餐问题
本章小结
习题
第7章 程序设计
7.1 程序设计简介
7.1.1 程序设计基本概念
7.1.2 程序设计范型
7.2 程序设计语言
7.2.1 机器语言与汇编语言
……
第8章 软件工程
第9章 数据库
第10章 计算机网络
第11章 信息安全
第12章 计算机科学发展前景
附录 ASCII码
习题答案
参考文献
《计算机科学概论》:
数字证书保证了在互联网上进行的交易是真实可靠的,并且能够使交易的各方都具有绝对的信心。总的来说,数字证书保证了交易中如下几个方面。
1.信息的保密性
信息的保密性是指在交易过程中的信息不能被别人知道,如银行卡号、用户名。数字证书通过对交易信息进行加密和解密,保证了即使在交易过程中加密过的信息被别人获取,也不会造成交易信息的泄露。
2.交易者身份的确定性
电子商务的交易双方往往是相互不认识的,要想交易成功,首先需要确定对方的身份。数字证书采用的是消息验证中确定消息源的方式对交易双方的身份进行确定,保证在交易中的双方是合法用户。
3.不可否认性
电子商务同现实中一样,一旦交易达成,就不能否认交易的存在,交易的某一方也不能抵赖交易的存在。数字证书保证在信息发送的时候,会由用户的私钥对数据进行加密处理,而私钥是用户个人所有,具有唯一性,保证了发送的数据是由签名者自己发送的,不能否认。
4.不可修改性
同不可否认性一样,基于网络平台的交易还需要保证交易信息不能被修改,以保证交易的严肃性和公正性。数字证书采用的基于消息摘要的机制保证了一旦信息经过修改,那么数字签名就会改变和不被接收,保证了交易信息不会被改变。11.2.5身份认证身份认证是指在计算机及计算机网络系统中确认操作者身份的过程,从而确定该用户是否具有对某种资源进行访问和使用的权限,防止攻击者假冒合法用户获得资源的访问权限,保证系统和数据的安全,以及授权访问者的合法利益。
计算机网络世界中一切信息包括用户的身份信息都是用一组特定的数据来表示的,计算机只能识别用户的数字身份,所有对用户的授权也是针对用户数字身份的授权。如何保证以数字身份进行操作的操作者就是这个数字身份合法拥有者,也就是说保证操作者的物理身份与数字身份相对应,身份认证就是为了解决这个问题,作为防护网络资产的第一道关口,身份认证有着举足轻重的作用。
目前,身份认证的方法基本上分为如下几种。
1.基于共享密钥的身份认证
基于共享密钥的身份验证是指服务器端和用户共同拥有一个或一组密码。当用户需要进行身份验证时,用户通过输入或通过保管有密码的设备提交由用户和服务器共同拥有的密码。服务器在收到用户提交的密码后,检查用户所提交的密码是否与服务器端保存的密码一致,如普通网站的登录密码。
2.基于生物学特征的身份认证
基于生物学特征的身份验证是指基于每个人身体上独一无二的特征,如指纹、虹膜等。
3.基于公开密钥加密算法的身份认证
基于公开密钥加密算法的身份验证是指通信中的双方分别持有公开密钥和私有密钥,由其中的一方采用私有密钥对特定数据进行加密,而对方采用公开密钥对数据进行解密,如果解密成功,就认为用户是合法用户,否则就认为是身份验证失败,如SSL、数字签名等。常见的几种在商业上进行认证的形式主要如下。
(1)静态密码静态密码就是我们日常使用的应用、网站密码等。用户在登录的时候手动输入密码,如果和服务器上的密码验证一致,则表示操作者是合法用户。但是静态密码的方式安全性很低,如有些人会采用如生日、电话号码等作为密码,很容易被试探出来,另外在提交密码的时候容易在计算机内存或网络传输中被木马程序劫持。但是其使用非常广泛。
(2)智能卡智能卡是一种内置集成电路的芯片,芯片中存有与用户身份相关的数据,由专门的厂商进行生产,并且不能被复制。在用户需要使用的时候,直接插入读卡器里识别内部的身份信息。由于其卡内的信息是静态的,也容易被内存扫描或者网络监听的方式获取到。
(3)短信密码短信密码以手机短信形式请求包含六位随机数的动态密码,身份认证系统以短信形式发送随机的六位密码到客户的手机上。客户在登录或者交易认证时候输入此动态密码,从而确保系统身份认证的安全性。由于安全性比较高、手机的普及性也非常好,因而目前在移动互联网和银行等使用比较广泛。
……