计算机科学技术知识体系
翟玉庆
http://cse.seu.edu.cn/people/yqzhai/resource/introcse/
一,计算机科学与技术学科含义
研究计算机的设计,制造和利用计算机进行信息获取,表示,存储,处理,控制等的理论,原则,方法和技术的学科.
计算机本身的研究
利用计算机进行信息处理的研究
包含计算机科学,计算机技术
一,计算机科学与技术学科含义
计算机科学
侧重于研究现象,揭示规律
计算机技术
侧重于研制计算机和研究使用计算机进行信息处理的方法与技术手段.
科学是技术的依据,技术是科学的体现
二者高度融合是计算机科学与技术学科的突出特点
一,计算机科学与技术学科含义
工程性
应用是计算机科学与技术发展的动力,源泉和归宿
计算机科学与技术又不断为应用提供日益先进的方法,设备与环境.
一,计算机科学与技术学科含义
计算机科学
计算机技术
计算机应用
Explorer
Implementor
Integrator
二,计算机科学技术学科基本内容
1,计算机科学理论
2,计算机组织与体系结构
3,计算机软件
4,计算机硬件
5,计算机应用技术
6,人工智能
二,计算机科学理论
研究计算本质与信息处理的基本理论
包括数值计算,离散数学,计算理论和程序理论等
二,计算机科学理论―数值计算
讨论用于模拟物理过程或社会过程的各种算法的开发,分析和使用.
主要知识点:
数理统计方法(伪随机数,蒙特卡罗法,回归分析法,排队论,参数估计,假设检验)
二,计算机科学理论―数值计算
主要知识点:
数值逼近及数值计算误差分析
矩阵计算与求解
最小二乘法
最优化方法
有限元方法
二,计算机科学理论―数值计算
主要知识点:
傅立叶变换及快速傅立叶变换
微分方程数值解法
数学建模与模拟
运筹学
二,计算机科学理论―离散数学
泛指数学中讨论离散对象的分支,通常涉及整数系,而计算机是基于0,1的,因此离散数学是重要的计算机科学理论基础.
二,计算机科学理论―离散数学
主要知识点
集合论
图论
组合学(讨论计算某类对象个数的学科,可归结为存在性问题,枚举性问题或选择性问题)
数理逻辑(研究形式体系)
二,计算机科学理论―离散数学
主要知识点
抽象代数(讨论离散对象结构,包括群,环,域,格,完全偏序等概念)
离散概率论
证明技巧(形式证明,反证法,数学归纳法与递归,能行可构造)
二,计算机科学理论―计算理论
主要知识点
算法与算法设计分析
图与树相关算法,查找排序算法,散列算法等
一般算法策略(穷举,贪心,分治,回溯,分支界限法,试探法)
简单分布式算法
计算复杂性理论
二,计算机科学理论―计算理论
主要知识点
可计算性理论
可计算函数
递归函数
易解问题和难解问题
可判定问题自动机理论
形式语言理论
自动机理论
Petri网理论
二,计算机科学理论―程序理论
研究程序的语义性质和程序的设计与开发的理论,
程序语义理论
用数学方法研究程序语言的含义的理论,包括操作语义,公理语义,指称语义以及代数语义等
数据类型理论
程序逻辑理论
程序验证理论
并发程序设计理论和混合程序设计理论
三,计算机组织与体系结构
Kernel
OS Kernel
OS Shell
DBMS
Application Programs
A Compiler
三,计算机组织与体系结构
着重研究计算机系统的物理或硬件结构,各组成部分的属性以及各组成部分的相互联系,可分为系统体系结构和实现体系结构两个方面.
系统体系结构
着重从系统软件开发人员的角度看计算机系统的功能行为和概念结构
实现体系结构
从计算机系统的价格和性能特征出发,考虑该系统的结构和实现,包括中央处理器(CPU),存储器等部件的结构和实现.
三,计算机组织与体系结构
通常,计算机体系结构专指系统体系结构,而将实现体系结构称为计算机组织主要知识点:
计算机体系结构
计算机组织
计算机类型
计算机网络
计算机RAS技术(可靠性(Reliability)可用性(Availability)和可维护性(Serviceability))
计算机性能评价
三,计算机组织与体系结构――计算机组织
包括数据表示,算术逻辑运算,指令系统,中央处理器(包括运算器,控制器,数据通路等),存储器组织和输入输出技术(总线,I/O通道,接口和通信).
三,计算机组织与体系结构――计算机体系结构
主要知识点:
处理机体系结构
各种类型的处理机结构(CISC,RISC,流水线,指令级并行处理,协处理器)
存储系统
具有层次结构:寄存器,高速缓存存储器(Cache),主存储器,虚拟存储器,辅助存储器
三,计算机组织与体系结构――计算机体系结构
主要知识点:
并行处理系统
将多个处理机通过互联网络连接起来,实现并行处理,可有SIMD和MIMD两种体系结构
分布式处理系统
将不同地点或不同功能的多台计算机用通信网络连接起来,协同完成信息处理任务,包括C/S计算,分布式异构型计算机系统,计算机支持协同工作(CSCW)等
三,计算机组织与体系结构――计算机体系结构
主要知识点:
开放系统
系统兼容性
三,计算机组织与体系结构――计算机网络
是计算机与通信技术相结合的产物,通过计算机网络可实现计算机之间的通信和资源共享.
主要知识点:
网络体系结构(OSI网络体系结构)
网络协议(局域网协议标准,广域网协议标准,TCP/IP协议,MAP/TOP协议,点对点协议(PPP),协议工程),
网络管理
三,计算机组织与体系结构――计算机网络
主要知识点:
网络安全
网络计算与网格计算
网络应用,特别是Internet的应用
三,计算机组织与体系结构――计算机RAS技术
主要知识点:
容错计算
计算机病毒
故障诊断,测试码生成
故障模拟,可测试性设计
四,计算机软件
一般指计算机系统中的程序及其文档,也可指在研究,开发,维护以及使用计算机系统中程序及其文档时所设计的理论,方法,技术所构成的学科.
其作用包括:
用作计算机用户与硬件之间的接口界面
在计算机系统中起指挥管理作用
是计算机体系结构的重要依据
四,计算机软件
一般说来,软件可分为系统软件,支撑软件以及应用三类.
系统软件
计算机系统中最靠近硬件层次的软件,如操作系统,编译程序等均为系统软件.它和具体的应用领域无关,解任何领域的问题一般均要用到系统软件.
支撑软件
支撑其它软件的开发与维护的软件,如软件开发环境即为支撑软件.
应用软件
特定应用领域的专用软件.
四,计算机软件
主要知识点包括:
软件语言
用以书写软件的语言,包括书写软件需求定义的需求级语言,书写软件功能规约(functional specification)的功能级语言,书写软件设计规约(design specification)的设计级语言,书写实现算法的实现级语言以及书写软件文档的文档语言.
四,计算机软件
主要知识点包括:
软件方法学
自顶向下方法(结构化方法,面向数据结构方法,结构化分析与设计方法)
自底向上方法
面向对象方法
模块化方法
形式方法(形式规约,基于类型理论的方法)
软件自动化方法(程序转换方法,演绎综合方法,归纳综合方法,过程实现方法)
程序设计方法学
四,计算机软件
主要知识点包括:
软件工程
应用计算机科学与数学原理制作软件的工程
软件生命周期,软件开发模型,软件结构,软件开发方法(软件复用),软件过程(软件过程评价模型,软件过程度量),软件需求与规约,软件确认(测试),软件工具,软件工程环境,软件开发环境,计算机辅助软件工程,软件质量保证,软件演化,软件项目管理,基于构件的计算,软件可靠性软件系统
四,计算机软件
主要知识点包括:
软件系统
操作系统
语言处理系统
数据库系统
分布式软件系统
网络软件系统
人-机交互软件系统
四,计算机软件
主要知识点包括:
软件系统
操作系统:进程与内存管理
语言处理系统:解释程序,汇编程序,编译程序,编辑程序,装配程序等
数据库系统:数据库及其管理系统
分布式软件系统:分布式操作系统,分布式程序设计语言及其编译程序,分布式数据库管理系统,分布式算法及其软件包,分布式开发工具包,并发控制(concurrency control)与分片(fragmentation)机制等.
四,计算机软件
主要知识点包括:
软件系统
网络软件系统:在计算机网络环境中,用于支持数据通信和各种网络活动的软件系统,主要包括通信软件,网络协议软件和网络应用系统,网络服务管理系统以及用于特殊网络站点的软件等.
四,计算机软件
主要知识点包括:
软件系统
人-机交互软件系统:人-机接口软件,命令语言及其处理系统,用户接口管理系统,多媒体软件,超文本软件等
五,计算机硬件
构成计算机系统的所有物质元器件,部件,设备以及相应的工作原理与设计,制造,检测等技术的总称
计算机系统的部件和设备
包括控制器,运算器,存储器,输入输出设备,电源等
元器件
包括集成电路,印制电路板及其它磁性元件,电子元件等.
六,计算机应用技术
计算机应用技术着重研究计算机应用于各个领域所涉及的原理,方法与技术.
主要包括:中文信息处理,计算机图形学,数字图像处理,计算机辅助技术,多媒体计算技术,计算机控制,信息系统以及计算机仿真等
七,人工智能
着重研究,解释和模拟人类智能,智能行为及其规律.其主要任务是建立智能信息处理理论,进而设计并实现可以展现某些近似于人类智能行为的计算系统
主要包括:基础问题,系统问题和应用问题.
基础问题
认知基础与技术基础.认知基础涉及常识知识,学习,联想及问题求解等.
七,人工智能
主要包括:基础问题,系统问题和应用问题.
技术问题
涉及表示,推理及搜索等.
系统问题
涉及知识库,推理机及分布式系统结构等.应用问题涉及自然语言处理,软件自动化,智能机器人以及各类专家系统等.
八,重要的基本概念
抽象(Abstract)
在处理复杂事务,构造系统,隐藏细节和获取重复模式时均使用"抽象".自顶向下,逐步求精就是运用了"抽象"思想.通过具有不同层次的细节和指标的抽象,能够表达一个实体和系统.
八,重要的基本概念
绑定(Binding)
把一个抽象的概念与具体特性相联系,使该抽象的概念具体化,如,对象的实例化.通过"绑定"能将具体问题的合理抽象描述与抽象描述对具体问题的恰当表示关联.
八,重要的基本概念
概念和形式模型(Concept and Formal Model)
对一个想法和问题进行形式化,特征化,可视化,是实现计算机问题求解的最典型,最有效的途径.
八,重要的基本概念
效率(Efficiency)
关于诸如空间,时间,人力,财力等资源消耗的度量,要求人们在设计和实现系统时,对相应的因素要给予关注.
八,重要的基本概念
复用(Reuse)
在新的情况或环境下,特定的技术概念和系统成分可被再次使用.
八,重要的基本概念
折衷(Trade-off)
选择一种设计来代替另一种设计所产生的技术,经济,文化及其他方面的影响.折衷经常存在,如,算法研究中时间和空间的折衷,对于矛盾的设计目标的折衷,硬件设计的折衷,在各种制约条件下优化计算能力所蕴含的折衷,安全性与效率的折衷.
九,重要的方法论
面向对象方法
结构化方法
形式化方法
构造性方法
系统论方法
三,课程专题
1,计算机学科知识体系:翟玉庆
2,计算机专业课程方案:翟玉庆
3,计算机科学理论:邓建明
4,计算机系统结构:徐宏炳
5,软件方法与技术:瞿裕忠
6,计算机网络及其应用:罗军舟
7,人工智能及其应用:邢汉承
8,数据库及信息系统:孙志挥
四,课程考核方式
1,论文(50%)与笔试(50%)相结合
2,论文主要论述"计算机与人类","计算机及其应用","计算机发展"等
3,笔试题目来自于各教授专题内容
五,建议阅读文献
1,Computer Science: An Overview, 6E. (英文影印版).人民邮电出版社,2002
2,计算机的灵魂――程序.缪淮扣.清华大学出版社,2001
3,计算机科学与技术方法论.董荣胜,古天龙.人民邮电出版社,2002
4,计算机导论.黄国兴,陶树平,丁岳伟. 清华大学出版社,2004