[计算机科学概论重点]计算机科学与技术概论
《计算机科学概论 》知识梳理
1.1 学生应具备的素质和能力
•5个方面的能力
–自学能力
–自控能力
–创新能力
–表达能力
–组织能力
1.1 学生应具备的素质和能力
•计算机专业人才的“专业基本能力”归纳为四个方面:
一是计算思维能力;二是算法设计与分析能力;三是程序设计与实现能力;四是计算系统的认知、开发及应用能力。
其中,科学型人才以第一、第二种能力为主,以第三、第四种能力为辅;工程型和应用型人才则以第三、第四种能力为主,以第一、第二种能力为辅。
在计算机专业背景中
知识、能力与素质三者之间的关系
• 大学生的主要任务是学习知识、提高能力和培养素质,为事业的成功及个人才智的展现做好充分准备。
• 能力主要包括自学能力、自控能力、创新能力、表达能力和组织能力,素质主要包括品德素质、文化素质、心理素质、专业素质和身体素质。
• 计算机专业的学生,在比较扎实的掌握计算机基本理论、基本知识及先进的软硬件开发环境的基础上,要具备较好的程序设计能力、较强的系统开发及维护能力、较强的网络组建及维护能力,了解计算机领域的发展趋势。
• 计算机专业是一个实践性很强的专业,在学好理论知识的同时,一定要重视实践知识的学习,注重提高实践能力和创新能力。
1.2 计算机专业知识体系
• 公共基础知识模块主要开设树立科学的世界观、培养高尚的道德情操和良好的心理素质、增强法制观念等方面的课程,大学语文、大学英语、大学体育等课程也属于该模块。 • 学科基础知识模块主要开设数学和电子学方面的课程等主要学科基础课程的知识点。 专业知识模块主要开设硬件类课程和软件类课程。
。
1.3 计算机专业实践教学体系
•实践教学的形式
–课程实验
–课程设计
–科研训练
–毕业设计与毕业论文
1.3 计算机专业实践教学体系
•1·3·1 课程实验
–与理论教学课程配合的实验课程,主要是以单元实验为主,辅以适当的综合性实验。
–单元实验是为理解某个知识点而设计的实验项目,综合性实验是为综合理解多个知识点而设计的实验项目。
•1·3·2 课程设计
–独立于理论教学课程而单独设立的实验课程。
–以综合性和设计性实验为主,需要综合几门课程的知识来完成实验题目。
1.3 计算机专业实践教学体系
•1·3·3 科研训练
–鼓励和支持学有余力的高年级本科生参与教师的科研项目或独立承担科研项目(在教师的指导下)。
–鼓励和支持学生积极参加各种面向大学生的课外科技活动。
–研训练项目是一种研究性实验、一种探索性实验。
•1·3·4 毕业设计与毕业论文
–对于培养和提高学生的实践能力、科研能力和创新能力,培养和提高学生综合运用所学专业知识独立分析问题解决问题的能力,培养学生严肃认真的工作态度、严谨务实的工作作风,培养学生组织协调能力和团结协作精神,具有至关重要的作用。
2·1 计算机的发展趋势
•巨型化
–功能特别强大,用于解决一些特别复杂的攻关难题,如国防安全、中长期天气预报、地质勘探等。
•微型化
–在保持计算机功能的前提下,使其体积越来越小。
•网络化
–实现网络化,才能真正做到资源共享,计算机才能发挥更大的作用,给人们的的日常生活带来更大的便利。
•智能化
–在智能性工作方面,计算机还远远不如人脑。
–如何让计算机具有人脑的智能,模拟人的推理、联想、思维等
功能,是一个重要发展方向。
2·2 第五代计算机的即期目标
•研究目标
–使计算机能够具有像人一样的思维、推理和判断能力,向智能化发展,实现接近人的思维方式。
第五代计算机系统要达到的目标是:
•(1)用自然语言、图形、图像和文件进行输入/输出。
•(2)用自然语言进行对话方式的信息处理,为非专业人员使用计算机提供方便。 •(3)能处理和保存知识,以供使用;配备各种知识数据库,起顾问作用。
•(4)能够自学习和推理,帮助人类扩展自己的才能。
2·3 著名的计算机公司
•Intel 公司
•IBM 公司
•微软公司
•联想集团公司
2·4计算机领域著名的科学家-图灵
•1936年,图灵发表的论文论可计算数及其在判定问题中的应用奠定了计算机理论基础。 •图灵提出的计算模型被称作图灵机。
•1950年10月,发表了论文计算机器和智能,并提出了图灵测试 。
•美国计算机学会设有图灵奖。
2·4计算机领域著名的科学家-冯·诺依曼
•1944年夏天,戈尔斯坦偶遇冯·诺依曼,后者了解了正在研制中的ENIAC 。
•1945年6月30日,莫尔学院发布了冯·诺依曼总结的EDV AC 方案。
•EDV AC 奠定了现代计算机的基本结构。
–明确了计算机的5个组成部分。
–采用二进制计数和计算。
–采用存储程序方式。
2·5 计算机学术组织
•美国电气和电子工程师学会计算机协会
–Institute of Electrical and Electronic Engineers-Computer Society
–简记 IEEE-CS
•美国计算机学会
–Association for Computing Machinery
–简记 ACM
•中国计算机学会
–China Computer Federation
–简记 CCF
2·6 计算机奖项
–图灵奖(T uring Award)
–IEEE-CS 计算机先驱奖(Computer Pioneer Award)
–中国计算机学会的王选奖
•国内以下奖项中也包括了计算机方面
–国家最高科学技术奖
–国家自然科学奖
–国家技术发明奖
–国家科技进步奖
3.1 计算机的基本组成及工作原理
1. 计算机的系统组成
3.1 计算机的基本组成及工作原理
•2. 计算机的工作原理
–运算器用来完成算术运算和逻辑运算。
–存储器用来存放数据和程序。
–控制器用来控制计算机各部分协调工作。
–输入设备用来将数据和程序输入计算机。
–输出设备用来将运算结果输出。
3.1 计算机的基本组成及工作原理
•3.1.6计算机的工作原理
–计算机完成某一计算,或解决某一特定任务,必须事先编制程序。它告诉计算机需要做哪些
事,按什么步骤去做,并提供所要处理的原始数据。一件事往往要分步去做,每一步要求计算机执行的操作命令称为一条指令。计算机最终执行的程序包含指令序列和相关的原始数据。
3.2 计算机中的数制
•不同数制的表示
–在计算机内部用二进制形式表示和存储数据。
–人们习惯于用十进制记数。
–为了书写简单方便也使用八进制和十六进制。
–用加后缀或角标的形式区别不同进制数据。
•B —表示二进制数。
•O 或Q — 表示八进制数。
•D —表示十进制数(D 可省略)。
•H —表示十六进制数。
3.3 字符型数据的编码表示
•基本含义
–对于字符型数据,没有相应的转换规则可以使用。需要人们规定出每个字符对应的二进制编码形式。
•常用的字符型数据编码
–ASCII 码(美国标准信息交换码的简称)
•使用一个字节表示一个ASCII 码字符。
•主要用于小型机和微型机。
–EBCDIC 码(扩展BCD 码)
•BCD 码又称二—十进制编码,用二进制编码形式表示十进制数。
•在BCD 码的基础上,又增加了一些符号和英文字母的表示。
•主要用于超级计算机和大型计算机。
4.1 操作系统概念
–(1)操作系统定义:操作系统(Operating System,简称OS )是一种管理电脑硬件与软件资源的程序,同时也是计算机系统的内核与基石,为用户提供方便的、有效的、友善的服务界面。 •管理计算机资源。
•控制程序执行。
•提供多种服务。
•方便用户使用。
–(2)操作系统的目标
•方便性/有效性/开放性。
•可靠性/可扩充性/可移植性。
4.2 操作系统的特征
•四个基本特征
–(1)并发性
•两个或多个事件在同一时间段内发生。
•在一段时间内,可以让多个进程交替地使用CPU 。
•操作系统负责多个进程之间的执行切换。
–(2)共享性
•系统中的资源可供多个并发执行的进程共同使用。
–互斥共享方式:对单处理器的访问。
–同时共享方式:对同一磁盘中的访问。
4.2 操作系统的特征
•四个基本特征
–(3)虚拟性
•把一个物理实体变成若干个逻辑上的对应物。
•通过分时使用的方式实现。
–(4)异步性
•进程通常是以断断续续的方式运行的。
•功能上相互独立的进程执行进度也互不相关。
4.3 操作系统的功能
•处理器管理
•存储器管理
•设备管理
•文件管理
•网络与通信管理
•用户接口
4.4 计算机网络的定义
•计算机网络:是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。由通信子网和资源子网两部分构成。
•资源子网
–由互连的主机或提供共享资源的其他设备组成。
–提供可供共享的软硬件和信息资源。
•通信子网
–由通信线路和通信设备组成。
–负责计算机间的数据传输。
4.5 计算机网络的拓扑结构
•(1)星形结构
–1)连接方式
•各工作站点都通过单独的通信线路与中心结点直接连接。
•工作站点之间的信息传输需要通过中心结点的转发才能实现。
•处于中心结点的设备一般是集线器或交换机。
–2)星形结构的优点
•结构简单/易于维护和扩充
•某个工作站点出现故障不会影响其他结点和全网的工作
•用双绞线连接的简单局域网多采用这种结构
–3)星形结构的缺点
•需要的连接线较多/连接成本较高。
•一旦中心结点出现故障,将导致整个网络瘫痪。
4.5 计算机网络的拓扑结构
•(2)总线结构
–1) 连接方式
•所有站点共享同一条通信线路。
•任何一个结点发送的数据都会通过总线传送到每一个结点上。
•每个站点接收到数据后,分析该数据是否为发给本站点的,若是,接收此数据,否则拒绝接收。 –2) 总线结构的优点
•结构简单/布线容易/可靠性高/易于扩充。
•节省连接线/连接成本较低。
•早期的同轴电缆局域网多采用这种结构。
–3) 总线结构的缺点
•故障诊断相对困难。
•总线故障会引起整个网络的瘫痪。
•同一时刻只能有一个结点发送数据,存在总线的使用权争用。
4.5 计算机网络的拓扑结构
•(3)环形结构
–1) 连接方式
•所有站点连接在一个封闭的环路中。
•一个站点发出的数据要通过所有的站点,最后回到起始站点。
•某个站点接收到数据,要把此数据的目标地址与本站点地址进行比较,相同时才接收该数据。 –2) 环形结构的优点
•结构简单/数据在网络中沿环单向传送。
•不存在对中心结点的依赖。
•令牌环网采用的就是这种结构 。
–3) 环形结构的缺点
•可靠性差/故障检测困难。
•需要一种控制方法来决定每个结点何时能够发出数据。
4.5 计算机网络的拓扑结构
•(4)树形结构
–1) 连接方式
•从星形结构演变而来。
•各结点按一定的层次连接起来。
–2) 树形结构的优点
•可靠性高/易于扩充网络结点和分支。
•复杂一点的局域网多采用这种结构 。
–3) 树形结构的缺点
•使用的连接线较多。
•整个网络对根结点的依赖性大。
4.5 计算机网络的拓扑结构
•(5)网状结构
–1) 连接方式
•每个结点通过多条链路与其他结点相连。
•数据从一个结点传输到另一个结点有多条路径可选。
–2) 网状结构的优点
•可靠性高。
•数据传输速度快。
•广域网多采用网状结构。
–3) 网状结构的缺点
•结构复杂/连接成本比较高。
•不易管理和维护。
4.6 开放系统互连OSI 参考模型
•OSI 模型的层次组成
–应用层:为特定类型的网络应用提供访问OSI 环境的手段。
–表示层:用于处理在两个通信系统中交换信息的表示方式 。
–会话层:允许不同主机上各进程之间的会话 。
–传输层:在通信子网的环境中实现端到端的数据传输。
–网络层:把网络层的协议数据单元
从源站点传输到目的站点。
–数据链路层:将原始的物理连接改造成无差错的、
可靠的数据传输链路。
–物理层:在传输介质上传输原始的
由0和1组成的比特流。
4.7 TCP/IP 参考模型
•TCP/IP模型的层次组成
–应用层:对应于OSI/RM的会话层、表示层和应用层,提供用户所需要的各种服务。 –传输层:相当于OSI/RM的传输层,负责在源主机和目的主机的应用程序间提供端到端的数据传输服务。
–互联层:与OSI/RM中的网络层对应,负责将报文独立地从源主机传输到目的主机。 –网络接口层:与OSI/RM的物理
层、数据链路层对应,负责将相
邻高层提交的IP 报文封装成适合
在物理网络上传输的帧格式并传
输,或将从物理网络接收到的帧
解封,从中取出IP 报文并提交给
相邻高层。
4.8 IP 地址和域名
•(1)IP 地址
–连接在Internet 上的每台计算机都必须有一个唯一的IP 地址。
–IP 地址由两部分组成:网络标识和主机标识。
•网络标识确定主机所在的物理网络。
•主机标识确定某一物理网络上的一台主机。
–每个IP 地址是一个32位的二进制数,可以表示为用小数点分开的的4个10进制整数。10100110 01101111 00011001 00101001是一个有效的IP 地址,可以表示成166.111.25.41。 –IP 地址有3种常用格式
•A 类地址:用于特大规模网络。
•B 类地址:用于较大规模网络。
•C 类地址:用于较小规模网络。
4.8 IP地址和域名
•(3)域名
–字符串形式的计算机名,便于记忆。
–域名的层次结构
•主机名. 组织名. 组织类型名. 国家或地区名。
•cs.yyu.edu.cn 就是一个域名。
–(4)域名系统
•将域名翻译成IP 地址。
•域名服务器用于存放域名及对应的IP 地址。
4.8 IP地址和域名
•(5)域名结构
5.1 算法设计与分析
•程序与算法
–算法是指为解决某一问题而采取的方法和步骤。
–程序是程序设计人员编写的、计算机能够理解并执行的命令集合,是算法在计算机中的实现。 –算法的特点
•有穷性/确定性/有效性/输入及输出。
–算法的表示
•自然语言/流程图/伪码。
–算法的评价标准
•正确性/时间复杂度/空间复杂度/可理解性。
5.2 数据结构的基本概念和术语
•数据
–信息的载体,能够被计算机识别、存储和加工处理。
•数据项
–数据不可分割的最小单位。
•数据元素
–数据的基本单位,具有完整、确定的实际意义。一般由若干数据项组成。
•数据对象
–具有相同性质的数据元素的集合,是数据的一个子集。
•数据结构
指互相之间存在着一种或多种关系的数据元素的集合。
5.3数据元素之间结构特性
• 在任何问题中,数据元素之间都不会是孤立的,在它们之间都存在着这样或那样的关系,这种数据元素之间的关系称为结构。根据数据元素间关系的不同特性,通常有下列四类基本 ⑴集合结构。在集合结构中,数据元素间的关系是“属于同一个集合”。集合是元素关系极为松散的一种结构。
⑵线性结构。该结构的数据元素之间存在着一对一的关系。
⑶树形结构。该结构的数据元素之间存在着一对多的关系。
⑷图形结构。该结构的数据元素之间存在着多对多的关系,图形结构也称作网状结构。
5.2 数据结构的基本概念和术语
•数据的逻辑结构
–描述的是数据元素之间的逻辑关系。
•数据的物理结构
–数据在计算机中的表示,包括数据元素的表示及数据元素间关系的表示。
•顺序存储
–逻辑上相邻的元素存储在物理位置也相邻的存储单元中。
•链式存储
–逻辑上相邻的元素不要求其物理位置相邻,元素间的逻辑关系通过附设的指针字段来表示。
5.4 编译程序
不同的编译程序都有自己的组织和工作方式,它们都是根据源语言的具体持点
和对目标程序的具体要求设计出来的,因此很难得出编译程序的标准结构,也不好说哪种结构好,哪种结构不好。但就编译程序所做的工作来看是基本相同的,主要包括:词法分析、语法分析、中间代码生成、中间代码优化、目标代码生成等工作。
6.1 软件开发的复杂性
软件是先进的科学技术与现代管理相结合的产物,开发高质量的应用软件,已经成为现代企业、政府部门等各类组织提高自身素质、实现组织目标的战略措施,但软件的开发是一项复杂的系统工程。
软件开发的复杂性主要体现在以下三个方面:
现代企事业单位、政府部门等组织一般说来结构复杂。软件开发通常涉及到组织内部各级机构、管理人员及组织面临的外部环境。软件开发者必须十分重视、深刻理解组织面临的内、外环境及发展趋势,考虑到管理体制、管理思想、管理方法和管理手段的相互匹配,才能开发出高质量的软件。
6.1 软件开发的复杂性
(2)用户需求的多样性
软件的最终用户是各级各类管理人员,满足这些用户的信息需求,支持他们的日常管理及决策工作,是系统开发的直接目的。然而,一个组织内部各类机构和管理人员的信息需求不尽相同甚至相互矛盾,一些用户提出的信息需求往往十分模糊。用户需求在系统开发过程中经常发生变化,开发出的系统必须能够满足不同用户的信息需求。
6.1 软件开发的复杂性
软件是当代利用先进技术解决社会经济问题的范例之一。当代的先进技术成果,如计算机硬件和软件技术、数据通信与网络技术、数据采集与存储技术、多媒体技术等,都是进行软件开发、实现各种功能的技术手段。如何有效地掌握和综合使用这些技术,是软件开发者面临的主要任务之一。
6.2 软件开发方法
一、生命周期法
生命周期法就是将整个软件的开发过程分解成若干个阶段,并对每个阶段的目标、任务、方法作出规定,使整个软件的开发过程具有合理的组织和科学的秩序。软件的生命周期,可以分成四个主要阶段:系统分析、系统设计、系统实施、系统运行与维护。
6.2 软件开发方法
二、快速原型法
生命周期法强调自顶向下分阶段开发,在进入实际的开发期之前必须预先对需求严格定义。这样做的目的是为了提高系统开发的成功率,与不重视需求分析的早期方法相比是一个重大进步,并在实际系统开发中取得了很好的效果。但是,实践也表明,有些系统在开发出来之前很难仅仅依靠分析就能确定出一套完整、一致、有效的应用需求,这种预先定义的方式更不能适应用户需求不断变化的情况。快速原型(Rapid Prototyping)法改变了这种自顶向下的开发模式。
6.2 软件开发方法
三、面向对象法
面向对象(Object Oriented ,简称OO )法是针对面向过程提出的,是区别于传统的结构化方法的一种新方法、新思路。它将客观世界看成由许多不同种类的对象构成,每一个对
象都有自己的内部状态和内在运行规律,不同对象的相互联系和作用构成了完整的客观世界。 面向对象法从分析组成系统的对象开始,是一种基于数据抽象的类的组合的自底向上的开发方法,由四个基本步骤组成:
7.1 计算机安全概述
•信息安全是指信息网络的硬件、软件及其系统中的数据受到保护,不受偶然的或者恶意的原因而遭到破坏、更改、泄露,系统连续可靠正常地运行,信息服务不中断。信息安全的实质就是要保护信息系统或信息网络中的信息资源免受各种类型的威胁、干扰和破坏,即保证信息的安全性。
•改革开放带来了各方面信息量的急剧增加,并要求大容量、高效率地传输这些信息。
7.2 信息安全策略
信息安全策略是指为保证提供一定级别的安全保护所必须遵守的规则。实现信息安全,不但靠先进的技术,而且也得靠严格的安全管理,法律约束和安全教育。
1. 应用先进的信息安全技术
2. 建立严格的安全管理制度
3. 制订严格的法律、法规
4. 启用安全操作系统
7.3 计算机系统安全概念
•计算机系统安全的三个层面
–技术安全
•从技术层面保证计算机系统中硬件/软件和数据的安全。
•根据系统对安全性的要求,选购符合相应安全标准的软硬件产品。
–TCSEC 标准:D 、C1、C2、B1、B2、B3、A1。
–CC :EAL1、EAL2、EAL3、EAL4、EAL5、EAL6、EAL7。
•采取有效的反病毒技术、反黑客技术、防火墙技术、入侵检测技术、数据加密技术、认证技术等技术措施。
7.3 计算机系统安全概念
•计算机系统安全的三个层面
–管理安全
•通过提高相关人员安全意识和制定严格的管理措施来保证计算机系统的安全。
•主要包括软硬件产品的采购、机房的安全保卫、系统运行的审计与跟踪、数据的备份与恢复、用户权限的分配、账号密码的设定与更改等方面。
7.3 计算机系统安全概念
•计算机系统安全的三个层面
–法律安全
•有完善的法律、规章体系以保证对危害计算机系统安全的犯罪和违规行为进行有效的打击和惩治。
•没有法律制裁的威慑,只靠管理措施和安全技术是很难遏制恶作剧者或犯罪分子肆无忌惮的破坏行为的。
7.4 计算机病毒及特征
•计算机病毒的定义
–编制或者在计算机程序中插入的破坏计算机功能或者毁坏数据,影响计算机使用,并能自我复制的一组计算机指令或者程序代码。
–可以在计算机运行过程中能把自身准确复制或有修改的复制到其他程序体内的一段具有破坏性的程序。
7.4 计算机病毒及特征
•传染性
–计算机病毒能使自身的代码强行传染到一切符合其传染条件的程序内,通过这些程序的拷贝与网上传输等途径进一步感染其他计算机。
•寄生性
–有一类计算机病毒不是一个完整的程序,需要寄生在其他程序中才能存在,当被寄生的程序运行时,病毒就通过自我复制而得到繁衍和传播。
7.4 计算机病毒及特征
•隐蔽性
–大多数计算机病毒都会把自己隐藏起来,如附加在正常程序中、复制到一般用户不会打开的目录下等,其存在、传染和破坏行为不易为计算机操作人员发现。
•触发性
–很多计算机病毒都有一个发作条件,这个发作条件可以是时间、特定程序的运行、某类系统事件的发生或程序的运行次数等。
•破坏性
–计算机病毒发作时,对计算机系统的正常运行都会有一些干扰和破坏作用。
7.5 计算机病毒的危害
•破坏系统资源
–大部分病毒在发作时直接破坏计算机系统的资源,如改写主板上BIOS 中的数据、改写文件分配表和目录区、格式化磁盘、删除文件、改写文件等,导致程序或数据丢失,甚至于整个计算机系统和网络系统的瘫痪。
•占用系统资源
–有的病毒虽然没有直接的破坏作用,但通过自身的复制占用大量的存储空间,甚至于占满存储介质的剩余空间,因此影响正常程序及相应数据的运行和存储。
7.6 计算机病毒的防治
•计算机病毒的传染途径
–通过软盘、移动硬盘、光盘和U 盘等外存设备传染。
–通过计算机网络传染。
•计算机病毒的预防
–普及病毒知识/严格管理措施/强化技术手段。
•计算机病毒的查杀
–瑞星杀毒软件、江民杀毒软件、金山毒霸、卡巴斯基杀毒软件、诺顿杀毒软件、360安全卫士等。
7.7 防火墙概念及功能
•防火墙定义
–建立在内、外网络边界上的过滤封锁机制,是计算机硬件和软件的结合,其作用是保护内部的计算机或网络免受外部非法用户的侵入。
–内部网络被认为是安全和可信赖的,而外部网络(一般是指互联网)被认为是不安全和不可信赖的。
–防火墙的作用,就是防止不希望的、未经授权的通信进出被保护的内部网络,通过边界控制来保证内部网络的安全。
7.7 防火墙概念及功能
•访问控制
–通过禁止或允许特定用户访问特定资源,保护内部网络的数据和软件等资源。
•内容控制
–根据数据内容进行控制,如可以根据电子邮件的内容识别出垃圾邮件并过滤掉垃圾邮件。
•日志记录
–记录下经过防火墙的访问行为,同时能够提供网络使用情况的统计数据。
7.7 防火墙概念及功能
•安全管理
–通过以防火墙为中心的安全方案配置,能将所有安全措施配置在防火墙上。
•内部信息保护
–利用防火墙对内部网络的划分,可实现内部网重点网段的隔离,从而防止局部重点或敏感网络安全问题对全局网络安全的影响。
7.8 数据加密技术
•加密的含义
–把明文通过混拆、替换和重组等方式变换成对应的密文。密文需要按加密的逆过程解密成明文后,才能理解其含义。
7.8.1 古典加密方法
•恺撒密码
–含义:通过移位的方式实现对原始信息的加密,对不同位置的字符采用相同的移位方式。 –示例:用恺撒密码对computer 进行加密。
设置26个英文字母与数字的对应关系如下:
a b c d e f … u v w x y z
0 1 2 3 4 5 … 20 21 22 23 24 25
7.8.2 古典加密方法
•多字符替换
–含义:不同位置的字符采用不同的替换方式。
–示例:采用(+1,-1,+2)的替换方式对computer 加密。
对明文中的第一个字符右移1位,第二个字符左移1位,第三个字符右移2位,第四个字符又是右移1位,如此进行下去,完成明文中所有字符的替换。
7.8.3 现代加密方法
•私钥加密
–加密和解密使用同一个密钥。
7.8.4 现代加密方法
•公钥加密
–加密密钥与解密密钥使用不同的密钥。
7.9 数字签名
•数字签名的定义
–在电子文档中附加的数字认证信息称为数字签名,也称为电子签名。
–数据电文中以电子形式所含、所附用于识别签名人身份并表明签名人认可其中内容的数据。 –数字签名就是只有信息的发送者才能产生的,与发送信息密切相关的、他人无法伪造的一个数字串,它同时也是对发送者发送的信息的真实性的一个证明。
7.10 计算机道德伦理
2. 信息伦理的概念
1) 信息伦理的定义
•所谓伦理是指通过社会舆论、个人内心信念和价值观以及必要的行政手段,调节人与自然、个人与他人、个人与社会关系的行为准则和规范的总和,同时也是个人自我完善的一种手段、一种目标。
•信息伦理指在信息开发、信息传播、信息加工分析、信息管理和利用等方面的伦理要求、伦理准则、伦理规范,以及在此基础上形成的新型的伦理关系。
7.11 法律规章与职业道德
•应遵守的道德规范和应有的责任意识
–不要盗窃和蓄意破坏他人的软硬件资源及数据资源。
–不要编制计算机病毒程序,不要故意传播计算机病毒给其他计算机系统。
–要严格管理因工作需要而掌握的他人个人信息或单位的内部数据,不要泄露他人的个人信息和单位的内部数据。
– 不要蓄意攻击他人的计算机系统或网络系统;
–不经对方许可,不要发送商业广告等宣传类邮件。
7.11 法律规章与职业道德
•应遵守的道德规范和应有的责任意识
–不要蓄意破译他人的账号和口令。
–要严密保护自己的账号和密码,不得泄露给他人。
–不要通过网络欺骗等手段,窃取金钱和机密信息。
–不要滥用个人的计算机系统权限以谋取个人的不法利益。
–不要使用超越自己合法权限的功能。
8.1 哈密顿回路问题
•哈密顿回路与欧拉回路的区别
–哈密顿回路问题是访问每个顶点一次,而欧拉回路问题是访问每条边一次。
–对于一个图是否存在欧拉回路,已给出充要条件;而对于一个图是否存在哈密顿回路至今仍未找到充要条件。
8.2 汉诺塔问题-计算机求解实际问题的思路
• 用计算机求解一个实际问题,首先要从这个实际问题中抽象出一个数学模型,然后设计一个解此数学模型的算法,最后根据算法编写程序,经过调试和运行,从而完成该问题的求解。从实际问题抽象出一个数学模型的实质,其实就是要用数学的方法抽取问题主要的、本质的内容,最终实现对该问题的正确认识。
•人工智能的含义
–研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。
•人工智能研究的目标
–使机器能够胜任一些通常需要人类智能才能完成的复杂工作。
8.4 计算机典型问题的应用小结
•歌尼斯堡七桥问题、哈密顿回路问题、中国邮路问题等问题促进了图论的产生和发展。 •旅行商问题、汉诺塔问题有助于对算法复杂性的研究,并促使人们设计出更好的解决问题的实用算法。
•图灵测试问题、西尔勒中文小屋问题、博弈问题能促进对人工智能的深入理解和研究。 •生产者-消费者问题、哲学家共餐问题对于深入理解并实现并发控制是非常有益的。
9.1 计算机学科的分支
•目前大多数人认为,计算机学科包括计算机科学、计算机工程、软件工程、信息系统4大分支,也有人把扩充之后的计算机学科称为计算学科。
9.2 计算机学科的三个过程
•理论总结过程
–科学理论是经过实践检验的系统化了的科学知识体系,它是由科学概念、科学原理以及对这
些概念、原理的理论论证所组成的体系。
–计算机学科的理论与数学所用的方法类似,主要要素为定义和公理、定理、证明、结果的解释。
–用这一过程来建立和理解计算机学科所依据的数学原理。其研究内容的基本特征是构造性数学特征。
9.2 计算机学科的三个过程
•抽象过程
–抽象是指在思维中对同类事物去除其现象的、次要的方面,抽取其共同的、主要的方面,从而做到从个别中把握一般,从现象中把握本质的认知过程和思维方法。
•抽象源于现实世界, 是对现实原型的理想化。
9.2 计算机学科的三个过程
•设计过程
–用来开发求解给定问题的系统和设备。
–包括需求分析、建立规格说明、设计并实现系统、对系统进行测试分析、修改完善等内容。 •三个过程贯穿计算机学科各个分支领域
–图论中体现的是抽象与理论过程。
–软件工程中综合体现了设计、抽象与理论三个过程。