计算机导论
武汉大学计算机学院
,计算机导论, 课程组
分四讲 (18学时 )
? 计算机概论、计算机软件; 6(何炎祥教授)
? 计算机硬件; 4(张焕国教授)
? 计算机理论; 4(毋国庆教授)
? 计算机应用; 4(周洞汝教授)
上课时间和地点
? 周 4 3区 附 1-401教室,
? 1-2节, 1— 6 班,
? 3-4节, 7— 11班,
参考教材
? 计算机科学引论 (影印版 ),T.J.O’Leary,L.I.O’Leary,
? 高等教育出版社,2000.
? 计算机科学技术导论,陶树平,黄国兴等,
? 高等教育出社,2002.
? 计算机导论,姚爱国等,武汉大学出版社,2003.
? 计算机导论,黄国兴,陶树平等,清华大学出版社,2004.
本课程的基本目的
? 通过本课程的学习,应理解计算机的基本概念、
信息化社会的特征、信息化社会对计算机人才的
需求,初步了解计算机科学技术学科的内涵、知
识体系、课程体系和研究范畴等,以及作为一名
计算机专业的学生应具有的基本知识和能力,明
确今后学习的目标和内容,树立作为一个未来计
算机工作者的自豪感和责任感。
? 计算机的出现是 20世纪最卓越的成就之
一,计算机的广泛应用极大的促进了生
产力的发展,在当今信息化社会中,计
算机已经成为必不可少的工具。
1.1 计算机的基本概念
? 20世纪 40年代诞生的电子数字计算机(简称 计
算机 --Computer)是 20世纪最重大的发明之一,
是人类科学技术发展史中的一个里程碑。
? 半个世纪以来,计算机科学技术有了飞速发展,
计算机的性能越来越高,价格越来越便宜,应
用越来越广泛。
? 时至今日,计算机已经广泛的应用于国民经济
以及社会生活的个个领域,计算机科学技术的
发展水平和应用程度已经成为衡量一个国家现
代化水平的重要标志。
1.1.1 什么是计算机
? 计算机 在诞生的初期主要是用来进行科学
计算的,因此被称为“计算机”。
? 现在计算机的处理对象已经远远超过了
“计算”这个范围,它可以对数字,文字,
声音以及图 形图 像等各种形式的数据进行
处理。
? 实际上,计算机是一种能够按照事先储存
的程序,自动, 高速的对数据进行输入,
处理, 输出和存储的系统 。
? 一个计算机的系统包括硬件和软件两大部
分, 硬件 是由电子的, 磁性的, 机械的器
件组成的物理实体,包括运算器, 存储器,
控制器, 输入设备和输出设备等 5个基本组
成部分 。
? 软件则是程序和有关文档的总称,主要包括系统
软件和应用软件两类。
? 系统软件 是为了对计算机的硬件资源进行管理,
提高计算机系统的使用率和方便用户而编制的各
种通用软件,一般由计算机生产厂商提供,常用
的系统软件有操作系统,程序设计语言翻译系统,
连接系统,诊断系统等。
? 应用软件 是指专门为某一应用目的而编制的软件,
常用的应用软件有字处理软件,表处理软机,统
计分析软件,数据库管理系统,计算机辅助软件,
实时控制与实时处理软件以及其他应用于各行各
业的应用程序。
计算机的主要功能
? 输入,接受由输入设备(如键盘, 鼠标, 扫描仪
等)提供的数据。
? 处理,对数值, 逻辑字符等各种类型的数据进行
操作,按指定的方式进行转换 和加工 。
? 输出,将处理所产生的结果等数据送到相关输出
设备(如显示器, 打印机, 绘图仪等)。
? 存储,可以存储程序和数据。
1.1.2 计算机分类
? 由于计算机科学技术的迅猛发展,计
算机已经成为一个庞大的家族。按照
计算机处理的对象,计算机的用途以
及计算机的规模 等不同的角度可以如
下分类。
1,按处理对象分类
按照计算机处理的对象及其数据的
表示形式可分为 3类:
? 数字计算机( digital computer)
? 模拟计算机( analog computer)
? 数字模拟混合计算机( hybrid computer)
( 1) 数字计算机 该类计算机输入, 处理, 输出和存
储的数据都是数字量,这些数据在时间上是离散的,
非数字量的数据(如字符, 声音, 图 形图 像等)只要
经过编码后也可以处理。
( 2) 模拟计算机 该类计算机输入, 处理, 输出和存
储的数据是模拟量(如电压, 电流, 温度等),这些
数据在时间上是连续的。
( 3) 数字模拟混合计算机 该类计算机将数字技术和
模拟技术相结合,兼有数字计算机和模拟计算机的功
能。
2,按用途分类
? 按照计算机的用途及其使用的范围可分为 通用计算
机 ( general purpose computer)和 专用计算机
( special purpose computer)两类。
( 1) 通用计算机 该类计算机具有广泛的用途,可应
用于科学计算,数据处理和过程控制等。
( 2) 专用计算机 该类计算机适用于某一特 定 的应用
领域,如智能仪表, 生产过程控制, 军事装备的 模
拟 等。
3,按规模分类
? 按照计算机的规模可分为
? 巨型计算机( supercompter)
? 大中型计算机( large medium- scale computer)
? 小型计算机( minicomputer)
? 微型计算机( microcomputer)
? 工作站( workstation)
? 服务器( server)
? 网络计算机( net computer) 等。
( 1)巨型计算机
指其运算速度每秒超过 1亿次的超大型
的计算机,该类计算机主要应用于复杂的
科学计算及军事等专门的领域。例如,由
我国研制的“银河”,,曙光”和“神州”
系列计算机就属于这种类型。
( 2) 大中型计算机
该类计算机也具有较高的运算速度,
每秒钟可以执行几千万条指令,并具有较
大的存储容量以及较好的通用性,但价格
较贵,通常被用来作为银行、铁路,石油
等大型应用系统中的计算机网络的主机来
使用。
( 3) 小型计算机
该类计算机的运算速度和存储容量略
低于大中型计算机,但与终端和各种外部
设备连接比较容易,适合于作为联机系统
的主机,或者工业生产过程的自动控制。
( 4) 微型计算机
微型计算机使用大规模集成电路芯片制作微
处理器、存储器和接口,并配臵相应的软件,从
而构成完整的微型计算机系统。它的问世在计算
机的普及与应用中发挥了重大的推动作用。
如果把这种微型计算机制作在一块印刷线路
板上,则称其为 单板机 。如果在一块芯片中包含
有 微处理器、存储器和接口等微型计算机的最基
本的配臵,则这种芯片称为 单片机 。
( 5) 工作站
由高性能的微型计算机系统、输入输出设备
以及专 门 软 件 组成,适合于 某 些 特殊用途。
例如,图形工作站包括高性能的主机、扫描
仪、绘图仪、数字化仪、高精度的屏幕显示器、
其他通用的输入输出设备以及图形处理软 件,它
具有很强的 对 图形进行输入、处理、输出和存储
的能力,在工程设计和多媒体信息处理中 有 广泛
的应用。
( 6) 服务器 一种在网络环境下为多个用户
提供服务的共享设备。可分为文件服务器、
通信服务器、打印服务器等。
( 7) 网络计算机 它是一种在网络环境下使
用的终端设备,其特点是内容量大、显示器
的性能高、通信功能强,但本机中不一定配
臵外存,所需要的程序和数据存储在网络的
服务器中。
1,1,3 计算机的特点
? 各种类型的计算机虽然在规模、用途、性
能、结构等方面有所不同,但它们都具有
以下特点,
( 1) 运算速度快 目前的巨型机运算速度已
经达到每秒钟几百 万 亿次运算,即使是微
型计算机,其运算速度也已经大大超过了
早期大型计算机的运算速度。因此,计算
机可以快速的进行计算和信息处理 。
( 2) 运算精度高 由于计算机内部采用浮点数表示
方法,而且计算机的字长从 8位,16位增加到 32
位,64位甚至更长,从而使处理的结果具有很高
的精确度。
( 3) 具有记忆能力 计算机具有内存储器和外存储
器,内存储器用来存储正在运行中的程序和有关
数据,外存储器用来存储需要长期保存的数据。
可以记忆大量的信息和程序。
( 4) 具有逻辑判断能力 能够进行各种逻辑
判断,并根据判断的结果自动决定下一步
应该执行的指令。
( 5) 存储 程序 由于计算机内可以存储程序,
从而使得计算机可以在程序的控制下自动
地完成各种操作,而无需人工干预。
1,1,4 计算机的用途
? 由于计算机具有以上的特点,因而它对人类科学
技术的发展产生了深远的影响,极大的增强了人
类认识世界、改造世界的能力,在国民经济和社
会生活的各个领域有着广泛的应用。
? 按照应用领域划分,计算机有以下几个方面用途:
科学计算、数据处理、实时控制、人工智能、计
算机辅助工程和辅助教育、娱乐与游戏 等。
1,科学计算
? 所谓 科学计算 是 指使用计算机来完成科学研究和
工程技术中所遇到的数学问题的计算,又称为 数
值计算 。
? 在科学研究和工程技术中通常要将实际问题归结
为某一数学模型,这些数学模型内容复杂、计算
量大、要求的精度高,只有以计算机为工具来计
算才能快速地取得满意地结果。诸如天气预报、
宇宙飞船和火箭 的 发射与控制、人造卫星 的 研制、
原子能 的 利用、生命科学、材料科学、海洋工程
等现代科学技术研究成果无一不是在计算机地帮
助下才取得的。
2,数据处理
? 所谓 数据处理 即使计算机对数据进行输入、分类、
加工、整理、合并、统计、制表、检索以及存储
等,是计算机又一重要的应用领域。在当今信息
化的社会中,每时每刻都在生成大量的信息,只
有利用计算机才能管理和充分利用浩如烟海的信
息。
? 例如,利用数据库技术开发的管理信息系统和决策
支持系统等,可 大大提高企业或政府部门的现代化
管理水平。
3,实时控制
? 所谓 实时控制 是指及时地采集检测数据、
使用计算机快速地进行处理并自动地控制
被控对象的动作,实现生产过程的自动化。
此外,在计算机应用于实时控制中还具有
故障检测、报警和诊断等功能。
? 在钢铁、石油、化工、制造业等工业企业
都需要进行实时控制,以提高生产效率和
产品质量。
4,人工智能
? 所谓 人工智能 是由计算机来模拟或部分模拟人类
的智能。传统的计算机程序虽然具有逻辑判断的
能力,但它只能执行人预先设计好的动作,而不
能像人类那样进行思维。例如专家系统属于人工
智能的应用范畴,但现在的专家系统还远不能具
备像人类那样的分析问题、解决问题的能力 。
? 计算机应用于人工智能研究的主要领域包括:自
然语言理解、专家系统、机器人、机器 学习,定
理自动证明等。
5,计算机辅助工程
? 计算机辅助工程包括
计算机辅助设计 ( computer- aided design,
CAD)
? 计算机辅助制造 ( computer- aided
manufacturing,CAM)
? 计算机集成制造系统 ( computer- integrated
manufacturing system,CIMS)
? 计算机辅助设计( CAD) 利用计算机的计算、逻辑判断、
数据处理以及绘图等功能与人的经验和判断能力相结合,
共同完成各种产品或者工程项目的设计工作,实现设计过
程的自动化或半自动化。
? 计算机辅助制造( CAM) 使用计算机辅助人们完成工业产
品的制造任务。从对设计文档、工艺流程、生产设备等的
管理,到对加工与生产装臵的控制和操作,都可以在计算
机的辅助下完成。
? 计算机集成制造系统( CIMS) 将计算机技术集成到制造工
厂的整个制造全过程中,使企业内的信息流、物流、资金
流和人员活动形成了一个统一协调的整体。 CIMS的对象是
制造业。
6,计算机辅助教育
? 计算机辅助教育 ( computer- aided
instruction,CAI)涉及的层面很广,从校园到
Internet,从 CAI课件的制作到远程教学、从辅助
儿童的智力开发到中小学和大学的教学,从辅助
学生自学到辅助教师授课,从计算机辅助实验到
学校的教学管理等,都可以在计算机的辅助下进
行,从而提高教学质量和学校管理水平与工作效
率。
7,娱乐与游戏
? 随着计算机技术、多媒体技术、动画技术
以及网络技术的不断发展,使得计算机能
够以图像与声音的集成形式向人们提供最
新的娱乐和游戏的方式。在计算机上可以
观看影视节目,播放歌曲和音乐 等 。许多
影视节目、歌曲、和音乐也可以从计算机
网络上下载,供人们欣赏。
1,1,5 计算机的发展
? 自古以来人类就在不断地发明和改进计算
工具,从古老的, 结绳计算, 到算盘、计
算尺、手摇计算机,直到 1946年第一台电
子计算机诞生,经历了漫长的岁月。
? 电子计算机问世至今虽然只有短短的半个
多世纪,但却取得了惊人的发展,已经经
历了五代的变革。
? 计算机发展史中的, 代, 通常以其所使用
的主要器件(如电子管、晶体管、集成电
路、大规模集成电路和超大规模集成电路)
来划分。此外,在计算机发展的各个阶段,
所配臵的软件和使用方式也有不同的特点,
成为划分, 代, 的标志之一。
1,第一代计算机 ( 1946- 1957)
? 计算机的早期研究是从 20世纪 30年代末开始的。当时英国的数学家艾
伦 〃 图灵在一篇论文中描述了通用计算机应具有的全部功能和局限性,
这种机器称为 图灵机 。
? 1939年,美国衣阿华州大学的约翰 〃 阿塔纳索夫教授和他的研究生克
利福德 〃 贝里一起制作了一台称为 ABC( Atanasoff Berry
computer)的机器,它是一台仅能求解方程式的专业电子计算机。
? 1944年,哈佛大学德霍华德 〃 埃肯博士和 IBM公司的一个工程师小组
合作,以 100万美元的巨资研制了一台称为 Mark- I的计算机。它的
体积很大(高 8英尺,长 55英尺),速度也很慢(执行一次乘法操作
需要 3- 5秒)。而且 Mark- I仅一部分是电子式的,另一部分仍然式
机械式的。
? 1946年,宾夕法尼亚大学的约翰 〃 莫克莱博士和他的研究生普雷斯
帕 〃 埃克特一起研制了称为 ENIAC(电子数字积分计算机 ),它被公
认为是 世界上第一台电子计算机 。 ENIAC是一个庞然大物,全机共使
用了 18000多个电子管,1500多个继电器,占地 167平方公尺。
ENIAC的运算速度达到每秒钟 5000次,这是划时代的“高速度”。
特别是采取了普林斯顿大学数学教授冯 〃 诺依曼“存储程序”的建议,
即把计算机程序与数据一起存储在计算机中,从而可以方便地返回到
前面地指令或反复执行,解决了 ENIAC在操作上地不便。
? ENIAC的诞生,开创了第一代电子计算机地新纪元。
? 1953年,IBM公司生产了 第一台商业化的计算机 IBM701。随后,
IBM公司共计生产了 19台这种型号的计算机,满足了当时的需要。
? 第一代计算机的共同特点 是:逻辑器件使
用电子管;用穿孔卡片机作为数据和指令
的输入设备;用磁鼓或磁带作为外存储器;
使用机器语言编程。虽然第一代计算机的
体积大、速度慢、能耗高、使用不便且经
常发生故障,但是它 一开始就 显示了强大
的生命力。
2,第二代计算机 ( 1958- 1964)
? 第二代计算机的主要特点 是:用晶体管代
替了电子管;内存储器采用了磁心体;引
入了变址寄存器和浮点运算硬件;利用了
I/O处理机提高了输出能力;在软件方面配
臵了子程序库和批处理管理程序,并且推
出了 FORTRAN,COBOL,ALGOL等高
级程序设计语言及相应的编译程序。
? 由于第二代计算机使用了晶体管,与第一代计算机
相比,它的体积小、速度快、能耗低、可靠性高。
由于高级程序设计语言的广泛使用,将计算机从少
数专业人员手中解放出来,成为广大科技人员都能
够使用的工具,推进了就计算机的普及与应用。
? 这个时期典型的计算机有 IBM公司生产的 IBM7094
和 CDC(Control Data Corporation,控制数据公
司 )生产的 CDC1640计算机等。
3,第三代计算机 ( 1965- 1971)
? 1958年,第一个 集成电路 ( integrated circuit,IC)问
世。
? 所谓集成电路是将大量的晶体管和电子线路组合在一块硅
晶片上,故又称其为 芯片 。小规模集成电路每个芯片上的
元件数为 100个以下,中规模集成电路每个芯片上则可以
集成 100- 10000个原件。
? 1965年,DEC( Digital Equipment Corporation,数
字设备公司)推出了第一台商业化的使用集成电路为主要
器件的小型计算机 PDP- 8,从而开创了计算机发展史上
的新纪元。
? 第三代计算机的共同特点 是:用小规模或中规模的
集成电路来代替晶体管等分立元件;用半导体存储
器代替磁心存储器;使用微程序设计技术简化处理
机的结构;在软件方面则广泛引入多道程序、并行
处理、虚拟存储系统以及功能完备的操作系统,同
时还提供了大量的面向用户的应用程序。
? 典型的第三代计算机 是 IBM公司的 IBM- 360和
370系列, DEC的 PDP- X系列等。这些类型的计
算机在应用中曾经发挥了重要作用。
4,第四代计算机 ( 1972至今 )
? 第四代计算机 最为显著的特征是使用了大规模集
成电路和超大规模集成电路。大规模集成电路
( large scale integration,LSI)每个芯片上则
可以集成 10000个以上的元件。此外,使用了大
容量的半导体存储器作为内存储器;在体系结构
方面进一步发展了并行处理、多机系统、分布式
计算机系统和计算机网络系统;在软件方面则推
出了数据库系统、分布式操作系统以及软件工程
标准等。
? 在第四代计算机中要算 微型计算机 最为引人注目了。微型计
算机的诞生是超大规模集成电路应用的直接结果。
? 1975年,第一台商业化的微型计算机 MITSAltair问世,它
使用了 Inter公司的 8080芯片 。不过,当时的微型计算机并
未形成主流,仅仅是面向计算机业余爱好者而已。
? 1977年苹果计算机公司成立,并先后成功开发了,APPLE-
1” 和,APPLE-II” 型的微型计算机系统,使得苹果计算机
公司成为微型计算机市场的主导力量之一。
? 1980年 IBM公司与微软公司合作,为个人微型计算机 IBM
- PC配臵了专门的操作系统,1981年 IBM- PC机问世。此
后许多厂商陆续生产了现在称之为 IBM兼容机的类似产品。
? 时至今日,奔腾系列微处理器应运而生,使得现在
的微型计算机体积越来越小、性能越来越强、可靠
性越来越高、价格越来越低、应用范围越来越广。
出现了 笔记本和掌上型等超微型计算机 。
? 完善的系统软件、丰富的系统开发工具和商品化的
应用程序的大量涌现,通信技术和计算机网络的飞
速发展,使得计算机进入了一个大发展阶段。
5,第五代计算机
? 第五代计算机尚在研制之中,而且进展比较缓慢。
第五代计算机的研究目标是试图打破计算机现有
的体系结构,使得计算机能够具有像人那样的思
维、推理和判断能力。也就是说,第五代计算机
的主要特征是人工智能,它具有一些人类智能的
属性,例如自然语言理解能力、模式识别能力和
推理判断能力等 。
? 生物计算机
? 光计算机
? ……
1,2 计算机科学与技术学科
(计算机学科 )的定义
? 1,2,1 计算机学科
? 计算机科学技术是研究计算机的设计与制
造,和利用计算机进行信息获取、表示、存
储、处理、控制 和传输 等的理论、原则、
方法和技术的学科 。
? 它包括科学与技术两方面 。 科学 侧重于研究现象、揭示规
律; 技术 则侧重于研制计算机,和研究使用计算机进行信
息处理的方法与技术手段。科学是技术的依据,技术是科
学的体现。 科学与技术相辅相成、互为作用,二者高度融
合是计算机科学与技术学科的突出特点 。
? 计算机科学技术 学科 还具有较强的工程性,因此,它是一
门科学性与工程性并重的学科,表现为理论性和实践性紧
密结合的特征。
1,2,2 计算机学科概述
? 计算机学科
? 包含了计算机科学、计算机工程、软件工程、
信息工程等领域,计算机科学技术的迅猛发展,除
了源于微电子学等相关学科的发展外,主要源于其
应用的广泛性与 巨大的 需求。它已逐渐渗透 到 人类
社会的各个领域,成为经济发展的倍增器,科学文
化与社会的催化剂。应用是计算机科学技术发展的
动力、源泉和归宿,而计算机科学技术又不断为应
用提供日益先进的方法、设备与环境。
? 计算机学科与电子科学、工程以及数学有很深地
渊源。 计算机科学家一向被认为是独立思考、富
有创造性和想象力的 。
? 数学是计算机科学与技术学科的重要基础之一,
数学及其形式化描述、严密的表达和计算是计算
机科学与技术学科所用的重要工具,
? 建立物理符 号 系统并对其实施变换是计算机科学
与技术学科进行问题描述和求解的重要手段。
1,2,3 计算机科学技术的研究范畴
? 计算机科学技术的研究范畴 包括计算机理
论、硬件、软件、网络及应用等,按照研
究的内容,也可以划分为 基础理论、专业
基础和应用 3个层面。在这些研究领域中,
有些方面已经研究得比较透彻,取得了许
多成果;有些方面则还不够成熟和完备,
需要进一步去研究、完善和发展。
1,计算机理论的研究内容
( 1) 离散数学 由于计算机所处理得对象是离散型的,
所以 离散数学是计算机科学的理论基础,主要研究
数理逻辑、集合论、近世代数和图论等。
( 2) 算法 设计与 分析 主要研究算法设计与分析中的
数学方法与理论,如组合数学、概率论、数理统计
等,用于分析算法的时间复杂性和空间复杂性。
( 3) 形式语言与自动机 研究程序设计语言以及自然
语言的形式化定义、分类、结构等有关理论以及识
别各类语言的形式化模型(自动机模型)及其相互
关系。
( 4) 程序设计语言理论 运用数学和计算机
科学的理论研究程序设计语言的基本规律,
包括形式语言文法理论、形式语义学(如
代数语义、公理语义、操纵语义、指称语
义等)和计算机语言学等。
( 5) 程序设计方法学 研究如何从好结构的
程序定义出发,通过对构成程序的基本结
构的分析,给出能保证高质量程序的各种
程序设计规范化方法等。
2,计算机硬件的研究内容
( 1) 元器件与存储介质 研究构成计算机硬件的各
类电子的、磁性的、机械的、超导的元器件和存
储介质。
( 2) 微电子技术 研究构成计算机硬件的各类集成
电路、大规模集成电路、超大规模集成电路芯片
的结构和制造技术等。
( 3) 计算机组成原理 研究通用计算机的硬件组成
结构以及运算器、控制器、存储器、输入和输出
设备等各部件的构成和工作原理。
( 4) 微型计算机技术 研究目前使用最为广
泛的微型计算机的组成原理、结构、芯片、
接口及其应用技术。
( 5) 计算机体系结构 研究计算机硬件的总
体 结构、计算机的各种新型体系结构(如
并行处理机系统、精简指令系统计算机、
共享存储结构计算机,阵 列计算机、集群
计算机、网络计算机、容错计算机等)以
及进一步提高计算机性能的各种新技术。
3,计算机软件的研究内容
( 1) 程序设计语言的设计 根据实际需要设计新颖的程序设
计语言,即定义程序设计语言的词法规则、语法规则和语
义规则。
( 2) 数据结构与运算 研究数据的逻辑结构和物理结构, 以
及它们之间的关系,并对这些结构定义相应的运算,设计
出实现这些运算的算法,而且确保经过这些运算后所得到
的新结构仍然是原来的结构类型。
( 3) 程序设计语言翻译系统 研究程序设计语言翻译系统
(如编译程序)的基本理论、原理和实现技术。包括:词
法规则和语法规则的形式化定义、程序设计语言翻译系统
的体系结构及其各模块(如词法分析、语法分析、中间代
码生产、优化和目标代码生成)的实现技术。
( 4) 操作系统 研究如何自动地对计算机系统的软硬件资源
进行有效的管理,并最大限度地方便用户。研究内容包括
进程管理、处理机管理、存储器管理、设备管理、文件管
理、以及现代化操作系统中地一些新技术(如多任务、多
线程、多处理机环境、网络操作系统,分布式 操作系统
等)。
( 5) 数据库系统 主要研究数据模型以及数据库系统地实现
技术。包括层次数据模型、网状数据模型、关系数据模型、
E- R数据模型、面向对象数据模型、基于逻辑的数据模
型、数据库语言、数据库管理系统、数据库的存储结构、
查询处理、查询优化、事务管理、数据库安全性和完整性
约束、数据库设计、数据库管理、数据库应用、分布式数
据库系统、多媒体数据库以及数据仓库等。
( 7) 软件工程学 是指导计算机软件开发和维护 的
学科,研究如何采用工程 的 概念、原理、技术和
方法来开发和维护软件。包括软件开发和维护中
所使用 的 技术和描述工具。
( 8) 可视化技术 是研究如何用图形和图像来直观
地表征数据,即用计算机来生成、处理、显示能
在屏幕上逼真运动地三维形体,并能与人进行交
互式对话。它不仅要求计算结果的可视化,而且
要求计算过程地 的可 视化。使人们可以更加直观、
全面地观察和分析数据。
4,计算机网络的研究内容
( 1) 网络结构 研究局域网、远程网,Internet,Intranet
等各种类型网络地拓扑结构和构成方法及接入方式。
( 2) 数据通信与网络协议 研究实现连接在网络上 的 计算机
之间进行数据通信(如有线、无线、光纤、宽带、微波、
卫星通信等)的介质、原理、技术以及通信双方必须共同
遵守的各种 协议 。
( 3) 网络服务 研究如何为网络用户提供方便地远程登录、
文件传输、电子邮件、信息浏览、文档查询、网络新闻以
及全球范围内地超媒体信息浏览等服务。
( 4) 网络安全 研究网络 的 设备安全、软件安全、信息安全
以及病毒防治等技术,以提供计算机网络 的 可靠性和安全
性。
5,计算机应用的研究内容
( 1) 软件开发工具 研究软件开发工具的有关技术(如软件
描述技术、程序验证与测试技术、程序调试技术、代码优
化技术、软件重 用 技术等)以及研制各种新型程序设计语
言及其翻译程序、文字和处理工具、数据库开发工具、多
媒体开发工具, 以及如 CAD等计算机辅助工程使用的工具
软件等。
( 2) 完善既有应用系统 根据新 的 技术平台和 实际 需求, 对
既有 的 应用系统进行升级、改造,使其功能更加强大、更
加便于使用。
( 3) 开拓新的应用领域 研究如何打破计算机的传统应用领
域,扩大计算机在国民经济以及社会生活中的应用范畴。
6,人-机工程
? 研究人与计算机的交互和协同技术,为人
使用计算机提供一个更加友好的环境和界
面,人与计算机更好地共同完成预定地任
务。
1,3 计算机学科的教育
? 计算机学科的发展非常 迅速,计算机软、硬件系
统的不断更新,使得 本 学科的教育已经完全不能
通过跟踪流行系统的变化来跟踪学科的发展,更
不能以流行的系统来确定教学内容。对计算机学
科而言,,有限的在校学习时间与不断增长的知
识的矛盾, 更为突出。另一方面,经过几十年的
发展,本学科目前正在逐步走向深入,这给计算
机学科的教育既提出了新的要求,也提供了新的
机遇 。
1,3,1 技术的变化
? 影响计算机学科变化的大部分因素来自于技术的进步。
Inter公司创造人戈登 〃 摩尔在 1965年预测:微处理
器芯片的密度将每十八个月翻一番,称之为“摩尔定
律”。 该定律目前继续成立。
? 可以看到,计算机系统的计算能力是以指数速度增加
的,这使得几年前还无法解决的问题在近期得到解决
成为可能,而且使用起来更加方便。计算机学科其他
方面的变化更大,例如 WWW(万维网 )出现后,网络
技术迅速发展,给人们的工作和生活提供了新的方式。
所有这些都要求计算机学科教育所需的知识体系能够
紧跟技术的进步。
近期在技术方面变化比较大的主要有
? 网络技术,包括基于 TCP/IP的技术,万维网及其应用
? 图形学和多媒体技术
? 嵌入式系统
? 数据库技术
? 互操作性
? 面向对象程序设计
? 应用程序接口( API)的使用
? 人-机交互技术
? 软件安全 和信息安全
? 不断扩大的应用领域
? 由于以上这些方面的变化是很大的,所以,
应该考虑将它们添加到本科生的教学中,
由于学生有限的在校学习时间与不断增长
的知识之间存在着矛盾,迫使人们要以不
断进步的、系统的观点去看问题,去调整
每年的教学计划,用新的内容去取代一些
相对比较陈旧的内容。
1,3,2 文化的变化
? 计算机的教育除了受到计算机技术发展的影响外,还受到文化与社会
发展的影响。 例如,
( 1) 新技术带来的教学法的改变
例如,计算机网络使远程教育在广播、电视之后,又有了更方便的手
段,它使得远程的在线交互成为现实,从而导致这一领域的更快发展。
网络还使得地理位臵相隔甚远的教学单位之间能方便地共享课程资源。
新技术还影响到教学法的变革。演示软件、计算机投影、实验室工作
站都显著地改变了传统地教学方法。
( 2) 全世界计算机数量和用户直接可用的计算功能大幅增加
计算机在近十年迅速普及。美国商务部的一项研究显示,已有超过三
分之一的美国人能访问 Internet。在其他大多数发达国家也有类似的
情况。在我国,这一方面的发展更是令人瞩目。随着使用计算机获取
信息和处理事务的机会增多,使得人们对计算机技术有了更多更新的
认识。
( 3) 计算机技术增长的经济影响
高技术产业的良好发展势头,社会的极大需求所导致的极
具吸引力的高待遇的良好就业前景,吸引了一大批人希望
走入计算机领域。在我国,相应产业的发展现状影响着人
才市场对毕业生的要求,也使得更多的学生选择计算机学
科作为所学专业,这些因素都或多或少地影响着计算机学
科地教育。
( 4) 学科的拓宽
当计算机学科不断发展并逐渐成为基础技术学科时,其应
用范围更加广泛。近年来,计算机学科已变得更宽广、内
容更丰富,计算机学科地教育必须对此有所体现。例如,
社会对各类复合人才地需求要求必须对学科交叉、应用需
求等进行考虑。
1,4 对计算机学科毕业生
的基本要求
? 计算机学科最初源于数学学科和电子学科。
所以,该学科的毕业生除了要掌握计算机科
学与技术学科的各个知识领域的基本知识和
技术之外,还必须具有扎实的数学功底、掌
握科学地研究方法、熟悉计算机 的 实际应用,
并且 具有良好的 沟通技能 及和谐 的团队工作
能力。
1,4,1 知识、能力和素质
?, 知识,是基础、是载体、是表现形式。一个具
有较强能力和良好素质的人必须掌握丰富的知识,
而一个掌握丰富的知识的人并不一定具有较强的
能力和良好的素质。
? 知识还具有“载体”的属性,能力和素质的培养
与教育必须部分地通过具体知识的传授来实施。
? 在许多场合下,能力与素质,尤其是专业能力和
专业素质,是通过知识表现出来的。
?, 能力, 是技能化的知识,是知识的综合体现。
在教学中,应强调运用知识发 现 问题、分析问题、
解决问题的能力,反对只读书、读死书。要保证
知识运用的综合性、灵活性与探索性,就需要有
丰富的知识为支撑。
? 一般说来,知识越丰富,就越容易具有更强的能
力。反过来,能力增强后,又有利于学习更多 的
知识。
?, 素质, 是知识和能力的升华。高素质可
使知识和能力更好地发挥作用,同时还可
促使知识和能力得到不断的扩展和增强。
因此,教育绝对不能只停留在书本的表面
知识上,一定要去挖掘深层的内容,重视
科学的世界观和方法论的启迪。
? 知识、能力、素质是进行高科技创新的基础 。只
有将三者融会贯通于教育的全过程,才可能培养
出高水平人才。
? 爱因斯坦说过,想象力比知识更重要 。应当说,
丰富的想象力加上扎实的基本功构成创新的源泉。
对飞速发展和不断变化的计算机学科更是如此。
在大学里,除了通常意义下的素质外,重点是依
据学科进行学科综合能力的提高和学科综合素质
的培养,突出工科兼理科这个特征。
1,4,2 检验标准
? 为毕业生建立一个统一的标准是非常困难的,但是 可以给出
一个基本标准 。 这个 基本标准主要包括以下几个方面 。
( 1)掌握计算机的基本理论和本学科的主要知识体系。
( 2)在确定的环境中能够理解并应用基本的概念、原理、准则,
具备对工具及技术进行选择与应用的能力。
( 3)完成一个项目的设计与实现,该项目应该涉及到问题的描
述与定义、分析、设计和开发,为完成的项目撰写适当的文
档等。该项目的工作应该能够表明自己具备有一定的解决问
题和评价问题的能力,并能表现出对质量问题的适当理解和
认识。
( 4)具备在适当的指导下进行独立工作的能
力,以及作为团队成员和其他成员进行
合作的能力。
( 5)能够综合应用所学的知识。
( 6)能够保证所进行的开发活动是合法的和
合乎道德的。
1,4,3 优秀学生
? 应该为有才华的学生提供发挥潜能的机会,使这
些有才华的学生能应用课程中学到的原理进行有
创 新 性的工作,能在分析、设计、开发适应需求
的复杂系统过程中作出有创意的贡献;他们能够
对自己和他人的工作进行确切的评价与检验。
? 这需要在对学生的教育过程中, 鼓励他们树立起
强烈的创新意识和信心,鼓励他们去探索。在鼓
励教师思考, 教是为了不教, 的同时,鼓励学生
思考, 学是为了探索, 。
1,5 信息化社会的挑战
? 当今世界正在迈入 信息时代,信息技术与
信息产业已经成为推动社会进步和社会发
展的主要动力。信息化社会的发展对计算
机科学技术提出了新的挑战。为了收集、
存储、传输、处理和利用日益剧增的信息
资源,以通信、网络和计算机技术 相 结合
为特征的新一代信息革命正在兴起,深刻
地影响着社会和经济发展的各个领域。
1,5,1 信息化社会的特征
? 所谓, 信息化社会, 的内涵是十分广泛的,
可以理解为,在国民经济和社会活动中,
通过普遍地采用电子信息设备和信息技术,
更有效地利用和开发信息资源,推动经济
发展和社会进步,使信息产业在国民经济
中的比重占主导地位 。
? 信息化社会 一般 应具有以下 主要特征 。
1,建立完善的信息基础设施
? 信息基础设施 是由信息传输网络、信息存储设备和信息
处理设备集成的统一整体,建立完善的信息基础设施是信
息化社会的重要标志。信息基础设施需要在全国乃至全球
范围内收集、存储、处理和传输数量巨大的文字、数据、
图形、图像以及声音等多媒体信息,具有空前的广泛性、
综合性和复杂性,它的建立过程是一项庞大的系统工程。
? 信息基础设施包括了遍布全球的各种类型的计算机网络和
高性能的计算机系统,它是一个, 网中网,,即由计算机
网络组成的计算机网络。所有的计算机信息中心乃至个人
计算机都应该接入这个一体化的网络。
2,采用先进的信息技术
? 先进的信息技术 是信息化社会的根基。其
中所涉及的关键技术包括:半导体和微电
子技术、网络化的计算机系统和并行处理
技术、数字化通信技术、计算机网络技术、
海量信息存储技术、高速信息传输技术、
可视化技术、多媒体技术等。
3,建立广泛的信息产业
? 信息产业 是信息化社会的支柱,主要包括:计算机
硬件制造业、计算机软件业、信息服务业以及国民
经济中各行业的信息化 工作(如,电子商务、电子
政务、电子金融等 ) 。信息产业不仅包括了计算机
硬件和软件的研究、开发与生产能力以及信息服务
业,而且还包括了使用信息技术对传统行业的改造,
这体现了利用信息资源而创造的劳动价值。
4,拥有高素质的信息人才
? 在信息化社会中,无论是信息基础设施的建设、
信息技术的提供和信息产业的发展都离不开 信息
人才, 没有或缺乏高素质的信息人才将一事无成 。
信息产业是资本密集型、知识密集型的产业,它
的高新技术含量高,对人才素质的要求高。信息
化社会不仅需要维护型、服务型、操作型的人才,
还 特别要求信息人才具有高度的创新性和良好的
适应性。
? 足够数量的高素质信息人才是实现信息化社会的
保证和原动力。
5,构建良好的信息环境
? 信息化社会不仅是科学技术进步的产物,而且也是
社会管理体制和政策激励的结果。 良好的信息环境
包括 为了保障信息化社会有序运作的各项政策、法
律、法规和道德规范,如知识产权、信息安全、信
息保密、信息标准化、产业政策、人才政策、职业
道德规范等。
? 构建良好的信息环境是实现信息化社会的重要组成
部分。
1,5,2 Internet与信息化社会
? Internet的诞生与发展对信息化社会产生了深刻的
影响,是当今人类社会进入信息化社会的重要标志
之一。
? Internet是当今世界上最大的计算机网络 。更确切
的说,Internet并不是一个单一的计算机网络,而
是由世界上许多计算机网络互联而构成的,它是全
球最大的、开放的、由众多计算机网络相互连接而
成的“网中网” 。因此,又把 Internet成为国际互
联网,中文译名为,因特网,。
1,Internet的发展
Internet的起源可以追溯到其前身 ARPA网 。该网络
是美国国防部高级研究计划局为进行国防研究项目而开发
的一个实验型网络,它把美国许多大学和研究机构连接起
来,构成一个广域网。
随着小型机、微型机和局域网技术的发展,ARPA启
动了一个称为 Internet的研究计划,主要研究局域网和广
域网的互联技术。作为该计划的重要成果就是研制出传输
控制协议 TCP和网络协议 IP,从而使计算机网络通信有了
统一的规范。以 ARPA网为主干网、以 TCP/IP协议为核心,
将众多计算机网络互联起来,从而形成了 Internet的雏形,
并于 20世纪 80年代初成为了一个实用性的网络。
? 在 Internet的发展历程中 NSF网也曾起到重
要作用。 NSF网是美国国家科学基金会资助
建立的一个广域网,最初连接了美国的五个
超级计算机中心,并与 Internet互联 。从而
使美国的 100多所大学和研究机构共享超级
计算机中心的资源。
? 20世纪 80年代后期,由于 NSF网的能力不断
强化,已经逐步取代了 ARPA网演变成为
Internet的主干网。
? Internet的不断完善使其成为美国信息高速
公路最重要的基础设施。覆盖全美的数字
化、大容量、高速的光纤通信网使 Internet
延伸到了许多国家,大大促进了现代社会
信息化、全球化的进程,对社会政治、经
济、生活带来了深刻的影响。
2,Internet的特点
( 1) 系统的广域性和开放性
Internet是在全球范围内开放的互联网络,具有
信息传输的广域性和网络协议的开放性。目前已有
150多个国家或地区,100多万个网络、数亿台计算
机与 Internet相连接,用户数 10亿多个。
( 2) 信息的共享性和时效性
Internet 将通信系统、计算机、数据库等连接
成为一个统一的网络,使分布在世界各地的、丰富
的信息可以为广大用户所共享。此外,信息一旦进
入 Internet的发布平台,便可以长期储存、长效发
布、随时更新。
( 3) 入网方式的灵活性和多样性
Internet入网方式的灵活性和多样性是其获得
飞速发展的重要原因。 Internet所采用的 TCP/IP
协议成功地解决了不同网络产品、不同硬件平台、
不同操作系统之间的兼容性问题,无论是大型机、
小型机、微型机或工作站都可以采用多种方式灵
活地接入 Internet,并通过 TCP/IP协议与
Internet进行通信。
凡使用 TCP/IP协议的计算机网络可用相同的
连接方式加入 Internet;其他一些异构的计算机
网络则可以通过网络连接技术接入。
( 4) 强大的服务功能
Internet提供了多样化的、强大的服务
功能,其中包括:远程登录、文件传输、
电子邮件、信息浏览、文档查询、网络新
闻以及全球范围内的超媒体信息浏览和查
询服务等。用户可以运用这些服务功能轻
松地在网上遨游。
( 5) 网络安全的脆弱性和复杂性
由于 Internet上有大量的、多种类型的
计算机、计算机网络、数据库系统、信息
处理系统等在运行,其信息流具有多渠道
交叉和路径的不确定性,而且 Internet的开
放性、管理的松散性以及 TCP/IP协议在安
全方面的薄弱性,都造成了 Internet在安全
上的脆弱性和复杂性。
3,我国的互联网络
? 我国政府也不失时机地采取了一系列有效的措施,开
展了信息基础设施的建设,建成了多个互联网络和以
“金字”工程为代表的应用系统,大大促进了信息化
的进程。
? 1993年 12月,我国成立了,国际经济信息化联席会
议,,领导、协调我国的经济信息化工作; 1995年 9
月,中共中央十四届五中全会将“加速国民经济信息
化进程”写入了有关文件中; 1996年初,成立了
,国务院经济信息化领导小组,,统筹规划实现国民
经济信息化的战略目标。
? 我国以 Internet技术为依托建成的全国性互联网络和
,金字, 工程 简要介绍如下。
( 1) 中国教育科研网
? 中国教育科研网(简称 CERNET)是国家教育部
管理的覆盖全国的学术性计算机网络 。 CERNET
将全国的主要大学的校园网、研究机构以及大型
图书馆连接起来,实现信息交换和资源共享。同
时,该网络也提供了连接 Internet的国际出口,
可以向用户提供 Internet的所有服务功能。利用
CERNET国内外的学者可以进行信息传送、学术
交流、文献查阅、从中获取大量的知识信息。
( 2) 中国公用信息网
? 中国公用信息网(简称 ChinaNET)是国家
邮电部经营和管理的全国性的公用信息网,
是 Internet在我国的延伸 。目前已有 30多个
省会城市的骨干网进入 ChinaNET,并在北
京和上海建立了连接 Internet的国际出口,
可以向用户提供 Internet的所有服务功能,
并广泛应用于政法部门、科学研究、远程教
育、电子商务和信息查询等各个领域。
( 3) 中国科学技术网
? 中国科学技术网(简称 CSTNET)是以中
国科学院的 NCF网和 CCASNET网为基础,
连接了中国科学院以外的一些科研单位而
构成的全国性计算机网络 。为全国的科研
单位、科技工作者、科技管理部门等提供
信息服务,Internet服务和超级计算机的资
源共享。
( 4) 中国金桥信息网
? 中国金桥信息网(简称 ChinaGBN)是在国务院
直接倡导下实施的国际公用经济信息网工程“金
桥工程”的产物,是我国经济信息化的基础设施
之一 。目前已有 20余个省会参与“金桥工程”,
完成了建网、联网工作,并在北京建立了全国网
络管理与控制中心,其主要功能和目标是,为国
家宏观经济调控与决策提供服务;为经济和社会
信息资源共享提供服务;为企业应用信息系统提
供服务;为推动国民经济信息化进程,提高社会
生产力提供服务。
( 5) 金关工程
,金关工程,的目标是将海关、外贸、外汇管理以及
税务等部门和企业的业务处理联网,建立出口退税管
理、配额许可证管理、进出口收汇结汇管理和进出口
贸易统计等信息应用系统,并广泛应用电子数据交换
( EDI)技术,提供外贸、海关等部门的现代化管理
水平。以上 4个应用系统分别由外贸部、国家税务总
局、外汇管理局以及海关等主持开发,现已取得了卓
有成效的进展。
( 6) 金卡工程
?, 金卡工程, 的目标是建立一个安全可靠的通信
网络和良好的电子货币服务体系,加快我国金融
电子化和商业电子化的进程 。目前,诸如银行卡
以及其他各种 IC卡已经被广泛使用,使人们的购
物方式和支付方式产生了新的变革,生活更加方
便,也大大减少了现金的发行与流通;现代化电
子支付系统也已经在国家金融网络上运行,实现
了异地或跨行业的资金清算、大额资金实时支付、
小额资金批量支付、银行卡授权以及债券管理等
功能。
( 7) 其他“金字”工程
? 除了以上一些互联网络和“三金”工程之外,还启动了其他一系列的“金
字”工程,如,金税工程,、,金企工程,等。其中
?, 金税工程,将全国各主要中心城市、县区的税务部门联网,并开发全国
增值税专业发票稽核网络系统、防伪识伪税控制系统、电子发票申报系统、
计税收款机等,对强化国家的税收征管工作发挥了重要的作用。
?, 金企工程,则是通过建立大量的企业数据库、产品数据库、行业数据库
等,形成全国性的经济信息资源网,建立国家宏观调控支持系统,从而有
利于企业转制、进入市场和开拓新的商机,同时也可以为国家宏观经济决
策提供科学依据和信息服务。
? 我国互联网络的建设和一系列“金字工程”的实施,为我国国民经济和社
会信息化建设拉开了序幕,也为电子信息产业开辟了广阔的市场,对加快
我国现代化建设具有重大而深远的意义。
1,5,3 信息化社会对计算机
人才的需求
? 拥有足够数量的、高素质的信息技术人才 是 实现信息化社
会的保证和原动力,是信息化社会的基本特征之一 。
? 在信息化社会中所需要的计算机人才是多方位的,不仅需
要研究型、设计型的人才,而且需要应用型,工程型 的人
才;不仅需要开发型的人才,而且需要维护型、服务型、
操作型的人才。
? 由于信息技术发展日新月异,信息产业是国民经济中变化
最快的产业,因此要求计算机人才具有较高的综合素质和
创新能力,并对新技术的发展 具有 良好的适应性。
1,6 计算机学科知识体系
? 为了做好计算机学科本科生的教育工作,由中国计算机学
会、全国高校计算机教育研究会、清华大学出版社联合组
织了研究小组,研究小组在参考国外相关研究成果的基础
上,就计算机学科的教育思想、观念、教学计划等进行了
探讨,提出了学科教育的指导思想和基本要求,提出了 计
算机科学与技术学科的知识体系,形成了, 中国计算机科
学与技术学科教程 2002,(简称 CCC2002)。本节将参
照 CCC2002的有关章节介绍计算机学科的知识体系的结
构、知识领域( area)、知识单元( unit)和知识点
( topic)的概念及课程体系,并对其中的有关问题作简
要说明。
1,6,1 知识体系结构
? 计算机学科的 知识体系结构 组织成如下 3个层次,知识领
域、知识单元和知识点 。一个知识领域可以分解成若干个
知识单元,一个知识单元又包含若干个知识点。
? 知识体系结构的最高层是 知识领域,表示特定的学科子领
域。每个知识领域用两个英文字母的缩写表示,例如 OS
表示操作系统( operating system),PL表示程序设计
语言( programming language)等。
? 知识体系结构的中间层是 知识单元,表示知识领域中独立
的主题( thematic)模块。每一知识单元用知识领域名
后加一个数字表示,例如 OS3是操作系统中有关并发性的
知识单元。
? 知识体系结构的最底层是 知识点 。
1,6,2 学科知识体系一览
? 对计算机学科知识体系的概要总结参见 下
表,它展示了知识领域、知识单元、核心
知识单元及各自所需的最少时间。
1,DS,离散结构 ( 72核心学时)
? DS1,函数、关系和集合( 12)
? DS2,基本逻辑( 18)
? DS3,证明技巧( 24)
? DS4,计数基础( 12)
? DS5,图与树( 6)
2,PF,程序设计基础 ( 69核心学时)
? PF1,程序设计基本结构( 15)
? PF2,算法与问题求解( 8)
? PF3,基本数据结构( 30)
? PF4,递归( 10)
? PF5,事件驱动程序设计( 6)
3,AL,算法与复杂性 ( 54核心学时)
? AL1,算法分析基础( 6)
? AL2,算法策略( 12)
? AL3,基本算法( 24)
? AL4 分布式算法( 4)
? AL5 可计算性理论基础( 8)
? AL6 复杂性类,P类和 NP类
? AL7 自动机理论
? AL8 高级算法分析
? AL9 加密算法
? AL10 几何算法
? AL11 并行算法
4,AR,计算机组织与体系结构 ( 82核心学时)
? AR1,数字逻辑与数学系统( 16)
? AR2,数据的机器级表示( 6)
? AR3,汇编级机器组织( 6)
? AR4,存储系统组织和结构( 10)
? AR5,接口和通信( 12)
? AR6,功能组织( 14)
? AR7,多处理和其他系统结构( 6)
? AR8,性能提高
? AR9,网络与分布式系统结构
5,OS,操作系统 ( 40核心学时)
? OS1,操作系统概述( 2)
? OS2,操作系统原理( 4)
? OS3,并发性( 12)
? OS4,调度与分派( 6)
? OS5,内存管理( 10)
? OS6,设备管理( 2)
? OS7,安全与保护( 2)
? OS8,文件系统( 2)
? OS9,实时和嵌入式系统
? OS10,容错
? OS11,系统性能评价
? OS12,脚本
6,NC,网络及其计算 ( 48核心学时)
? NC1,网络及其计算介绍( 4)
? NC2,通信与网络( 20)
? NC3,网络安全( 8)
? NC4,客户 /服务器计算举例( 8)
? NC5,构建管理( 4)
? NC6,网络管理( 4)
? NC7,压缩与解压缩
? NC8,多媒体数据技术
? NC9,无线和移动计算
7,PL,程序设计语言 ( 54核心学时)
? PL1,程序设计语言概论( 4)
? PL2,虚拟机( 2)
? PL3,语言翻译简介( 6)
? PL4,声明和类型( 6)
? PL5,抽象机制( 6)
? PL6,面向对象程序设计( 30)
? PL7,函数程序设计
? PL8,语言翻译系统
? PL9,类型系统
? PL10,程序设计语言的语义
? PL11,程序设计语言的设计
8,HC,人-机交互 ( 12核心学时)
? HC1,人-机交互基础( 8)
? HC2,简单图形用户界面的创新( 4)
? HC3,以人为本的软件评估
? HC4,以人为本的软件开发
? HC5,图形用户界面的设计
? HC6,图形用户界面的编程
? HC7,多媒体系统的人-机交互
? HC8,协作和通信的人-机交互
9,GV,图形学和可视化计算 ( 8核心学时)
? GV1,图形学的基本技术( 6)
? GV2,图形系统( 2)
? GV3,图形通信
? GV4,几何建模
? GV5,基本的图形绘制方法
? GV6,高级的图形绘制方法
? GV7,先进技术
? GV8,计算机动画
? GV9,可视化
? GV10,虚拟现实
? GV11,计算机视觉
10,IS,智能系统 ( 22核心学时)
? IS1,智能系统基本问题( 2)
? IS2,搜索和约束满足( 8)
? IS3,知识表示和知识推理( 12)
? IS4,高级搜索
? IS5,高级知识表示和知识推理
? IS6,主体
? IS7,自然语言处理技术
? IS8,机器学习和神经网络
? IS9,人工智能规划系统
? IS10,机器人
11,IM,信息系统 ( 34核心学时)
? IM1,信息模型和信息系统( 4)
? IM2,数据库系统( 4)
? IM3,数据模型化( 6),
? IM4,关系数据库( 2)
? IM5,数据库查询语言( 6)
? IM6,关系数据库设计( 6)
? IM7,事务处理( 6)
? IM8,分布式数据库
? IM9,物理数据库设计
? IM10,数据挖掘
? IM11,信息存储和信息检索
? IM12,超文本和超媒体
? IM13,多媒体信息和系统
? IM14,数字图书馆
12,SP,社会与职业问题 ( 11核心学时)
? SP1,信息技术史( 1)
? SP2,信息技术的社会环境( 2)
? SP3,分析方法和分析工具( 2)
? SP4,职业责任和道德责任( 1)
? SP5,基于计算机的系统的风险和责任( 1)
? SP6,知识产权( 3)
? SP7,隐私和公民自由( 1)
? SP8,计算机犯罪
? SP9,与信息技术相关的经济问题
13,SE,软件工程 ( 54核心学时)
? SE1,软件设计( 12)
? SE2,使用 APIs( 8)
? SE3,软件工具和环境( 4)
? SE4,软件过程( 4)
? SE5,软件需求和规划(也称规格说明)
? SE6,软件确认( 8)
? SE7,软件演化( 5)
? SE8,软件项目管理( 5)
? SE9,基于构件的计算
? SE10,形式化方法
? SE11,软件可靠性
? SE12,特定系统开发
14,CN,数值计算科学 (无核心学时)
? CN1,数值分析
? CN2,运筹学
? CN3,建模与模拟
? CN4,高性能计算
? 从表 中可以看出计算机科学与技术知识体系有 14
个知识领域,下面简要介绍 14个知识领域。
( 1) 离散结构( DS)
? 离散结构 是 计算机科学的基础内容,计算机
科学与技术的许多领域都要用到离散结构中的概
念。离散结构包括集合论、逻辑学、图论和组合
数 学等重要内容。数据结构和算法分析与设计中
含有大量离散结构的内容,为了理解将来的计算
技术,需要对离散结构有深入的理解。
( 2) 程序设计基础( PF)
? 程序设计基础领域 的知识 由 程序设计基本概念和程
序设计技巧组成。
? 这一领域包括的知识单元有 程序设计基本概念、基
本数据结构和算法等,这些内容覆盖了计算机科学
与技术专业的本科生必须了解和掌握的整个程序设
计的知识范围。
? 熟练掌握程序设计语言是学习计算机科学与技术大
多数内容的前提,学生至少应该熟练掌握两种程序
设计语言。
( 3) 算法与复杂性 ( AL)
? 算法是计算机科学和软件工程的基础,现实世界中,各软
件系统的性能依赖于算法的设计及实现的效率和适应性。
好的算法对于软件系统的性能是至关重要的,因而学习算
法会对问题的本质有更深入的透视。并不是所有问题都是
算法可解的,如何给问题选择适当的算法是关键所在。要
做到这一点,先要理解问题,知道 相关 算法的优点和缺点,
及 它们在特定环境下解的复杂性,一个好的算法其效率一
定是比较高的。
( 4) 计算机组织与体系结构 ( AR)
? 作为计算机专业的本科生,应当对计算机的内部结
构、功能部件、功能特征、性能以及交互方式有所
了解,而不应当把它看作一个执行程序的黑盒子。
还应当了解计算机的系统结构,以便在编写程序时
能根据计算机的特征编写出更加高效的程序。在选
择计算机产品方面,应当能够理解各种部件选择之
间的权衡,如 CPU时钟频率和存储器容量等。
( 5) 操作系统 ( OS)
? 操作系统 是 硬件性能的抽象,人们通过它来控制硬件。
它也 负责 计算机用户间的资源分配 和管理 工作。要求
学生在学习内部算法实现和数据结构之前对操作系统
有比较深入的理解。因而这部分内容不仅强调操作系
统的使用(外部特性),更强调它的设计和实现(内
部特性)。
? 操作系统中的许多思想也可以用于计算机 的 其他领域,
如并发程序设计、算法设计和实现、虚拟环境的创建、
安全系统的创建及网络管理等。
( 6) 网络及其计算 ( NC)
? 计算机和远程通信网络尤其是基于 TCP/IP网络的
发展,使得联网技术变得十分重要,网络及其计算
领域主要包括计算机通信网络概念和协议、多媒体
系统、万维网标准和技术、网络安全、移动计算及
分布式系统等。
? 要精通这个领域必须具有理论和实践两方面的知识,
其中实验是必不可少的。实验可以使学生更好地理
解概念,学会处理实际问题。实验包括数据收集和
综合、协议分析、网络监控与管理、软件结构和设
计模型评价等。
( 7) 程序设计语言 ( PL)
? 程序设计语言 是 程序员与计算机之间, 对话, 的
媒介。一个程序员不仅要熟练掌握一门语言,更
要了解各种程序设计语言的风格。工作中,程序
员会使用不同风格的语言,也会遇到许多不同的
语言。为了能够迅速地掌握一门语言,程序员必
须理解语言的语义及这些语言表现出来的设计风
格。要理解编程语言实用的一面,也需要有语言
翻译和诸如存储分配方面的基础知识。
( 8) 人-机交互 ( HC)
? 这部分的重点在理解作为交互对象的人的
行为,知道怎样利用以人为本的途径来开
发和评价交互式软件。人-机交互的基础
及简单图形用户界面创建等内容是各专业
都需要的,是最基本的。
( 9) 图形学和可视化计算 ( GV)
? 计算机图形学和可视化计算 可以划分成计算机图形学、可
视化技术、虚拟现实及计算机视觉都等 4个相互关联的领
域。
? 计算机图形学 是一门以计算机产生并在其上展示的图像作
为通信信息的艺术和科学。
? 当前的 可视化技术 主要是探索人类的视觉能力,但其他的
感知通道,包括触觉和听觉,也均在考虑之中。
? 虚拟现实 是要让用户经历由计算机图形学以及可能的其他
感知通道所产生的三维环境,提供一种能增进用户与计算
机创建的“世界”交互作用的环境。
( 10) 智能系统 ( IS)
? 人工智能领域 所关注的是关于自动主体系统的设计和分析。
这些系统中有些是软件系统,而有些系统则还配有传感器
和传送器(如机器人或自动飞行器),一个智能系统要有
能感知环境、执行既定任务及与其他主体进行交流的能力。
这些能力包括计算机视觉、规划和动作、机器人学、多主
体系统、语音识别和自然语言理解等领域。
? 智能系统介绍一些技术工具以解决用其他方法难以解决的
问题,其中包括启发式搜索和规划算法、知识表示的形式
方法和推理、机器学习技术以及语言理解, 计算机视觉、
机器人等问题领域中所包含的感知和动作问题的方法 等 。
( 11) 信息管理 ( IM)
? 信息管理技术 在计算机的各个领域都是至关重要
的。它包括了信息获取、信息数字化、信息的表
示、信息的组织、信息变换和信息的表现, 有效
存取算法和存储信息从更新、数据模型化和数据
抽象以及物理文件存储技术。
? IM也包含信息安全性、隐私性、完整性以及共享
环境下的信息保护。学生需要建立概念上和物理
上的数据模型,确定什么 IM方法和技术适合于一
个给定的问题,并选择和实现合适的 IM解决方案。
( 12) 社会和职业问题 ( SP)
? 学生需要对与信息技术领域相关的基本文化、社会、法律
和道德等问题有所理解。应该知道这个领域的过去、现在
和未来。应该有能力提出关于社会对信息技术的影响问题,
有能力对这些问题的解决作出评价。将来的从业者必须能
够在产品进入特定环境以前,就能预测到可能的影响和后
果。学生需要清楚软硬件经销者和用户的权力,还必须遵
守相关的职业道德。将来的从业者要清楚背负的责任和失
败 后 可能产生的后果,清楚自身的局限性和所用工具的局
限性。所有的从业者必须经历长期的考验才能在信息技术
领域站稳脚跟。
( 13) 软件工程 ( SE)
? 软件工程 涉及为高效率地构建满足客户需求的软
件系统所需的理论、知识和实践的应用。软件工
程适用于各类软件系统的开发,它包含需求分析
和规约、设计、构建、测试、运行和维护等软件
系统生存周期的所有阶段。软件工程使用过程化
方法、技术和质量,它使用管理软件开发的工具、
软件制品的分析和建模工具、质量评估与控制工
具、确保有条不紊且有控制地实施软件演化和复
用的工具。
( 14) 数值计算科学 ( CN)
? 科学计算已形成一个单独的信息与计算科学学科,
它与计算机科学技术与学科分离却又紧密相关。
虽然数值方法和科学计算是计算机专业本科阶段
的重要科目之一,但该知识领域的内容是否对所
有计算机专业本科生都是必需这一问题尚未得到
一致的认可,因此这部分知识不列为计算机学科
的核心知识单元。
1,6,3 课程体系结构
? 知识体系的 14个知识领域及相应的知识单
元、知识点、定义了计算机专业学生的知
识结构。但这并不就是实施教学的课程体
系,14个知识领域并不恰好是 14门课 。
? 完整的本科课程由 3部分组成,奠定基础的 基础课
程,涵盖知识体系大部分核心单元的 主干课程,
以及 选修课程 。
? 基础课程 在一、二年级开设,
? 主干课程 在二、三年级开设,
? 选修课程 则在高年级开设。
? 计算机学科的学生在四年的学习生涯中应该认真
学习这些课程。
小 节
? 计算机科学是以计算机为研究对象的
一门科学,它是一门研究范畴十分广
泛、发展非常迅速的新兴学科 。
? 通过本节的学习,应理解计算机的基本概念、信
息化社会的特征、信息化社会对计算机人才的需
求,初步了解计算机科学技术学科的内涵、知识
体系、课程体系和研究范畴等,以及作为一名计
算机专业的学生应具有的基本知识和能力,明确
今后学习的目标和内容,树立作为一个未来计算
机工作者的自豪感和责任感。
thanks