本书是根据教育部高等学校非计算机专业计算机基础课程教学指导分委员会提出的《关于进一步加强高校计算机基础教学的几点意见》中的有关要求和课程体系,结合普通高等学校计算机基础课程教学大纲,由多年从事基础课教学的一线教师编写而成的。全书共分为9章,主要内容包括计算思维基础理论、计算机发展史、计算机硬件系统、计算机软件系统、计算机操作系统、计算机网络基础、数据库技术基础、信息安全技术、多媒体技术。 本书从培养学生的计算思维出发,兼顾了计算机软件和硬件的最新发展以及计算机技术的理论与实践,并介绍了若干IT领域的新产品、新技术和最新发展趋势。本书是专门为高等院校非计算机专业而设计的,面向初学者,注重基础性和应用性,旨在帮助大学生对计算机理论、计算机技术及其应用有一个全面的认识,为学习后继课程打下基础。
序
以计算机为核心的信息技术的应用能力已成为衡量一个人文化素质高低的重要标志之一。
大学非计算机专业开设计算机课程的主要目的是掌握计算机应用的能力以及在应用计算机过程中自然形成的包括计算思维意识在内的科学思维意识,以满足社会就业需要、专业需要与创新创业人才培养的需要。
根据《教育部关于全面提高高等教育质量的若干意见》(教高\[2012\]4号)精神,着力提升大学生信息素养和应用能力,推动计算机在面向应用的过程中培养文科学生的计算思维能力的文科大学计算机课程改革、落实由教育部高等教育司组织制订、教育部高等学校文科计算机基础教学指导委员会编写的高等学校文科类专业《大学计算机教学要求(第6版——2011年版)》(下面简称《教学要求》),在建立大学计算机知识体系结构的基础上,清华大学出版社依据教高司函[2012\]188号文件中的部级项目1\|3(基于计算思维培养的文科类大学计算机课程研究)、2\|14(基于计算思维的人文类大学计算机系列课程及教材建设)、2\|17(计算机艺术设计课程与教材创新研究)、2\|18(音乐类院校计算机应用专业课程与专业基础课程系列化教材建设)的要求,组织编写、出版了本系列教材。
信息技术与文科类专业的相互结合、交叉、渗透,是现代科学技术发展趋势的重要方面,是新学科的一个不可忽视的生长点。加强文科类专业(包括文史法教类、经济管理类与艺术类)专业的计算机教育、开设具有专业特色的计算机课程是培养能够满足信息化社会对文科人才要求的重要举措,是培养跨学科、复合型、应用型的文科通才的重要环节。
《教学要求》把大文科的计算机教学,按专业门类分为文史法教类(人文类)、经济管理类与艺术类等三个系列。大文科计算机教学知识体系由计算机软硬件基础、办公信息处理、多媒体技术、计算机网络、数据库技术、程序设计、美术与设计类计算机应用以及音乐类计算机应用等8个知识领域组成。知识领域分为若干知识单元,知识单元再分为若干知识点。
大文科各专业对计算机知识点的需求是相对稳定、相对有限的。由属于一个或多个知识领域的知识点构成的课程则是不稳定、相对活跃、难以穷尽的。课程若按教学层次可分为计算机大公共课程(也就是大学计算机公共基础课程)、计算机小公共课程和计算机背景专业课程等三个层次。
第一层次的教学内容是文科各专业学生应知应会的。这些内容可为文科学生在与专业紧密结合的信息技术应用方面进一步深入学习打下基础。这一层次的教学内容是对文科大学生信息素质培养的基本保证,起着基础性与先导性的作用。
第二层次是在第一层次之上,为满足同一系列某些专业共同需要(包括与专业相结合而不是某个专业所特有的)而开设的计算机课程。其教学内容,或者在深度上超过第一层次的教学内容中的某一相应模块,或者拓展到第一层次中没有涉及的领域。这是满足大文科不同专业对计算机应用需要的课程。这部分教学内容在更大程度上决定了学生在其专业中应用计算机解决问题的能力与水平。
第三层次,也就是使用计算机工具,以计算机软硬件为背景而开设的为某一专业所特有的课程。其教学内容就是专业课。如果没有计算机作为工具支撑,这门课就开不起来。这部分教学内容显示了学校开设特色专业课的能力与水平。
这些课程,除了大学计算机应用基础,还涉及数字媒体、数据库、程序设计以及与文史哲法教类、经济管理类与艺术类相关的许多课程。通过这些课程的开设,是让学生掌握更多的计算机应用能力,在计算机面向应用过程中培养学生的计算思维及更加宽泛的科学思维能力。
清华大学出版社出版的这套教育部部级项目规划教材,就是根据教高司函\[2012\]188号文件及《教学要求》的基本精神编写而成的。它可以满足当前大文科各类专业计算机各层次教学的基本需要。
对教材中的不足或错误,敬请同行和读者批评指正。
卢湘鸿
2014年10月于北京中关村科技园
卢湘鸿北京语言大学信息科学学院计算机科学与技术系教授,原教育部高等学校文科计算机基础教学指导分委员会副主任、秘书长, 现任教育部高等学校文科计算机基础教学指导分委员会顾问、全国高等院校计算机基础教育研会文科专业委员会常务副主任兼秘书长, 30多年来一直从事非计算机专业的计算机教育研究。 前言
当前,信息技术正以前所未有的速度发展。计算思维对于人类文化无所不在的渗透,已使其成为人类思考的一种方式和习惯,是人类理解自然和社会的基本语言。近年来,计算与其他领域交叉渗透,形成了诸如计算力学、计算物理、计算化学、计算生物等一批交叉科学,在自然科学、社会科学、工程技术及国民经济的各个领域得到了日益广泛的应用。计算机技术与信息技术的应用已渗透到大学所有的专业和学科,对各专业学生的计算机应用能力提出了更高的要求。让本科生真正理解计算机及计算的本质,理解计算的方法和模型,具备计算思维能力,并能够运用计算思维解决各个领域的实际问题,是目前大学计算机课程的基本方向和目标。因此,非计算机专业的大学生除了掌握计算机的操作使用外,还应了解计算思维、计算科学以及计算机和信息处理技术的基本概念、原理和方法,以便更好地在专业学习和研究中应用。
非计算机专业本科生的计算机教学与计算机专业的教学有着本质的差别,这已成为共识。其中一个重要的区别就是要建立计算机教学服务于专业人才培养目标的意识,课程的设置、教学内容的选取、教学方式就必须与专业人才培养目标一致。因此,大学计算机课程也承载着专业计算机应用能力培养的重任。为了适应这一新的要求,需要不断地对《大学计算机基础》这门课程的大纲进行修订,在内容上不断推陈出新,在教学方法上也要做较大的改革。
教育部高等学校非计算机专业计算机基础课程教学指导分委员会在其提出的《关于进一步加强高校计算机基础教学的几点意见》中,明确要求学生应该了解和掌握计算机软硬件系统、计算机网络、计算机程序设计、数据库以及多媒体技术等方面的基本概念与原理。为了适应大学计算机基础教学的发展要求,我们编写了此书。本书编写的宗旨是使学生比较全面地、系统地了解计算思维、计算机系统、程序设计、网络技术与安全、数据库和多媒体技术的基本原理和方法,并能自觉地应用在各自专业领域的学习与研究中。本书照顾了不同专业、不同层次学生的需求,并加强了对计算机网络技术、数据库技术、信息安全技术和多媒体技术等方面的最新技术和发展趋势的介绍,使学生在信息处理、数据处理、网络安全以及多媒体处理等方面的能力得到加强。
本书由南开大学计算机与控制工程学院公共计算机基础教学部的教师结合多年的教学经验和大学计算机课程教学的发展而编写,面向我国高校非计算机专业学生,力争在有限课时内使学生对计算原理、计算机系统和常用的计算机技术有一个初步的认识,同时具有自觉使用计算思维去解决实际问题的能力。本书由李敏负责第1章的编写,王刚负责第2章、第4~6章的编写并统编全书,刘哲理负责第3章、第7~9章的编写。
本书还参考了国内外一些计算机的开放课程网站和相关的书籍,力求有所突破和创新。由于编者能力和水平的限制,书中出现的不妥乃至错误之处,请阅读本书的老师、同学和读者批评指正。
编者
2014年5月于南开园
第1章 计算思维基础理论
1.1 计算科学与科学思维
1.1.1 科学与计算科学
1.1.2 科学思维
1.2 计算思维的概念
1.2.1 计算思维的定义
1.2.2 计算思维的本质
1.2.3 计算思维的特性
1.3 计算思维的应用
1.3.1 计算思维的典型案例
1.3.2 计算思维的应用领域
思考题
第2章 计算机发展史
2.1 计算机的产生和发展
2.1.1 电子计算机产生之前的计算史
2.1.2 电子计算机的产生
2.1.3 电子计算机的发展阶段
2.2 计算机系统的分类
2.2.1 超级计算机
2.2.2 小型机与工作站
2.2.3 个人计算机
2.2.4 平板电脑
2.2.5 智能手机
2.3 未来的计算机
2.3.1 未来计算机的发展趋势
2.3.2 新一代计算机
思考题
第3章 计算机硬件系统
3.1 微型计算机系统
3.1.1 PC系统的构成
3.1.2 PC系统的层次结构
3.1.3 PC的主要性能指标
3.1.4 PC的工作过程
3.2 主机系统
3.2.1 微处理器
3.2.2 存储器
3.2.3 总线
3.2.4 输入输出接口
3.3 外部设备
3.3.1 输入输出系统概述
3.3.2 输入设备
3.3.3 输出设备
3.3.4 外存储器
思考题
第4章 计算机软件系统
4.1 计算机软件概述
4.1.1 计算机软件的概念
4.1.2 计算机软件的发展历史
4.1.3 计算机软件的分类
4.2 系统软件
4.2.1 操作系统
4.2.2 语言与编译系统
4.2.3 数据库管理系统
4.3 应用软件
4.3.1 办公软件
4.3.2 网络软件
4.3.3 安全软件
4.3.4 图形图像软件
4.3.5 多媒体软件
4.3.6 行业软件
4.3.7 其他软件
4.4 软件的保护
4.4.1 软件的授权方式
4.4.2 软件知识产权的保护
4.5 算法与程序设计
4.5.1 算法的基本概念
4.5.2 算法设计的基本方法与策略
4.5.3 程序设计
4.6 软件工程
4.6.1 软件工程的概念
4.6.2 软件生命周期
4.6.3 软件开发模型
4.6.4 软件开发方法
思考题
第5章 计算机操作系统
5.1 操作系统概述
5.1.1 操作系统的概念
5.1.2 操作系统的历史
5.1.3 操作系统的基本类型
5.1.4 操作系统的功能
5.2 进程管理
5.2.1 进程的概念
5.2.2 进程的状态及状态转换
5.2.3 进程控制
5.2.4 进程互斥
5.2.5 进程通信
5.3 存储管理
5.3.1 存储器的基本概念
5.3.2 存储器管理的功能
5.3.3 分区存储管理
5.3.4 分页存储管理
5.3.5 分段存储管理
5.4 文件管理
5.4.1 文件的基本概念
5.4.2 文件系统的功能和组成
5.4.3 文件的结构和存取方法
5.4.4 文件目录
5.4.5 文件的使用和共享
5.4.6 文件的保护和保密
5.5 常用操作系统简介
5.5.1 Windows操作系统
5.5.2 Mac OS系统
5.5.3 UNIX操作系统
5.5.4 Linux操作系统
5.5.5 智能手机操作系统
思考题
第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.4 局域网技术
6.4.1 局域网的工作模式
6.4.2 以太网
6.4.3 无线局域网
6.4.4 组建有线局域网
6.5 Internet基础与应用
6.5.1 IP地址
6.5.2 域名
6.5.3 接入Int
6.5.4 Internet应用
6.6 物联网
6.6.1 物联网的概念
6.6.2 物联网的关键技术
6.6.3 物联网应用
6.7 云计算
6.7.1 云计算的概念
6.7.2 云计算的体系结构
6.7.3 云计算的关键技术
6.7.4 云计算的服务
思考题
第7章 数据库技术基础
7.1 数据库概述
7.1.1 数据、信息和数据库
7.1.2 数据管理技术的发展
7.1.3 数据库系统的组成及特点
7.1.4 基本数据模型
7.1.5 数据库系统结构
7.2 数据库设计
7.2.1 需求分析阶段
7.2.2 数据库概念设计
7.2.3 数据库逻辑设计
7.2.4 数据库物理设计
7.3 结构化查询语言基础
7.3.1 SQL语言概述
7.3.2 SQL语言基本成分
7.3.3 SQL语言基本语句
7.4 数据库技术的发展动向
7.4.1 当前主流数据库——关系数据库
7.4.2 面向对象数据库
7.4.3 分布式数据库
7.4.4 移动数据库
7.5 大数据时代与NoSQL数据库
7.5.1 数据时代
7.5.2 NoSQL数据库
思考题
第8章 信息安全技术
8.1 信息安全概述
8.1.1 信息安全发展阶段
8.1.2 信息安全的含义
8.1.3 信息系统面临的安全风险
8.2 信息安全技术
8.2.1 信息安全基础
8.2.2 认证技术
8.2.3 网络安全
8.3 计算机病毒及防治
8.3.1 计算机病毒的起源及发展
8.3.2 计算机病毒的定义
8.3.3 计算机病毒的结构及分类
8.3.4 计算机病毒防治
思考题
第9章 多媒体技术
9.1 多媒体概述
9.1.1 多媒体技术的基本概念
9.1.2 多媒体技术的发展历程
9.1.3 多媒体技术的研究内容
9.1.4 多媒体技术的应用领域
9.2 多媒体数字化技术
9.2.1 多媒体信息的计算机表示
9.2.2 图像编辑实践——Fireworks
9.3 多媒体压缩技术
9.3.1 概述
9.3.2 可行性
9.3.3 压缩方法分类
9.3.4 数据压缩编码国际标准
思考题
参考文献