计算机科学与技术方法论
分類: 图书,计算机/网络,计算机理论,
作者: 董荣胜,古天龙 著
出 版 社: 人民邮电出版社
出版时间: 2002-9-1字数: 252000版次: 1页数: 204印刷时间: 2002-9-1开本:印次:纸张: 胶版纸I S B N : 9787115103246包装: 平装编辑推荐
内容简介
本书是作者多年来对计算学科方法论研究成果的总结。作者根据《计算作为一门学科》报告对整个计算学科综述性导引课程的严密性和挑战性的要求,借鉴了数学的公理化思想,对计算学科的主要内容进行了系统化、逻辑化的概括,并通过大量实例,深入浅出地阐明了计算学科中各主领域发展的基本规律,揭示了各主领域之间的内在联系,有助于人们对计算学科的深入了解。
本书的主要内容包括:计算机科学与技术方法论的构建,计算学科的历史、定义、根本问题,计算学科各主领域的基本问题,计算学科中的抽象、理论和设计3个学科形态,计算学科中的核心概念、数学方法、系统科学方法、形式化技术、社会和职业的问题等。为了使读者能更好地理解和掌握书中的内容,在各章末还附有一定数量的思考题。
本书是计算学科认知领域的一本学术专著,也可作为高等院校计算学科方法论、计算机导论等课程的教材或参考书,还可供相关专业的学生、教师和科技人员参考。
作者简介
目录
第1章 绪论
1.1 计算机科学与技术方法论产生的历史背景
1.1.1 早期关于“计算机科学”名称的争论
1.1.2 《计算作为一门学科》报告的主要成果及其局限性
1.1.3 CC1991的主要成果
1.1.4 CC2001的主要成果
1.1.5 计算教育面临的3个重大问题
1.1.6 计算机科学与技术方法论的提出
1.2 计算机科学与技术方法论的建立
1.2.1 计算机科学与技术方法论的定义
1.2.2 计算学科二维定义矩阵
1.2.3 计算学科的本质问题归约为定义矩阵本质问题的说明
1.3 计算机科学与技术方法论作为一个理论体系的阐述
1.3.1 作为理论体系的科学技术方法论
1.3.2 作为理论体系的计算机科学与技术方法论
1.4 计算机科学与技术方法论研究的意义
思考题
第2章 计算学科中的科学问题
2.1 概述
2.1.1 科学问题的定义
2.1.2 科学问题的主要特征和方法论作用
2.2 计算的本质、计算学科的定义及其根本问题
2.2.1 计算本质的认识历史
2.2.2 康托尔的集合论和罗素悖论
2.2.3 希尔伯特纲领
2.2.4 图灵对计算本质的揭示
2.2.5 现代计算机的产生以及计算学科的定义
2.2.6 计算学科的根本问题
2.2.7 从计算的角度认知思维、视觉和生命过程
2.3 计算学科各主领域的基本问题
2.4 计算学科中的典型问题及其相关内容
2.4.1 哥尼斯堡七桥问题
2.4.2 梵天塔问题
2.4.3 算法复杂性中的难解性问题、P类问题和NP类问题
2.4.4 证比求易算法
2.4.5 P=?NP
2.4.6 旅行商问题与组合爆炸问题
2.4.7 生产者-消费者问题与“哲学家共餐”问题
2.4.8 GOTO语句的问题以及程序设计方法学
2.5 人工智能中的若干哲学问题
2.5.1 图灵测试
2.5.2 西尔勒的“中文屋子”
2.5.3 计算机中的博弈问题
思考题
第3章 计算学科中的3个学科形态
3.1 一个关于“学生选课”的例子
3.1.1 对“学生选课”例子的感性认识
3.1.2 对“学生选课”例子的理性认识
3.1.3 “学生选课”系统的工程设计
3.2 抽象形态
3.2.1 一般科学技术方法论中有关抽象形态的论述
3.2.2 计算学科中有关抽象形态的论述
3.2.3 例子中有关抽象形态的主要内容及其简要分析
3.3 理论形态
3.3.1 一般科学技术方法论中有关理论形态的论述
3.3.2 计算学科中有关理论形态的论述
3.3.3 例子中有关理论形态的主要内容及简要分析
3.4 设计形态
3.4.1 一般科学技术方法论中有关设计形态的论述
3.4.2 计算学科中有关设计形态的论述
3.4.3 例子中有关设计形态的主要内容及简要分析
3.5 3个学科形态的内在联系
3.5.1 一般科学技术方法论中有关3个学科形态内在联系的简要论述
3.5.2 计算学科中有关3个学科形态内在联系的论述
3.5.3 关系数据库领域中3个学科形态内在联系的有关内容
3.6 各主领域中3个学科形态的主要内容
3.7 计算机语言的发展及其3个学科形态的内在联系
3.7.1 自然语言与形式语言
3.7.2 图灵机与冯诺依曼型计算机
3.7.3 机器指令与汇编语言
3.7.4 以虚拟机的观点来划分计算机的层次结构
3.7.5 高级语言
3.7.6 应用语言
3.7.7 自然语言
3.7.8 小结
思考题
第4章 计算学科中的核心概念
4.1 算法
4.1.1 算法的历史简介
4.1.2 算法的定义和特征
4.1.3 算法实例
4.1.4 算法的表示方法
4.1.5 算法分析
4.2 数据结构
4.2.1 数据结构的基本概念
4.2.2 常用的几种数据结构
4.2.3 树和二叉树
4.2.4 图
4.3 程序
4.4 软件
4.5 硬件
4.6 CC1991报告提取的核心概念
思考题
第5章 计算学科中的数学方法
5.1 数学的基本特征
5.2 数学方法的作用
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.5 递归和迭代
5.5.1 递归
5.5.2 迭代
5.6 公理化方法
5.6.1 理论体系
5.6.2 公理化方法
5.6.3 实例
5.7 形式化方法
5.7.1 具体公理系统和抽象公理系统
5.7.2 形式化方法
5.8 一个实例-Armstrong公理系统*
5.8.1 预备知识
5.8.2 Armstrong公理系统
思考题
第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 小结
思考题
第7章 形式化技术
7.1 形式化技术概述
7.2 形式化规格技术
7.2.1 形式化规格的定义及其分类
7.2.2 操作类规格技术
7.2.3 描述类规格技术
7.2.4 形式化规格技术的应用
7.3 形式化验证技术
7.3.1 模型检验
7.3.2 定理证明
思考题
第8章 社会和职业的问题
8.1 计算的历史
8.1.1 计算机史前史——1946年以前的世界
8.1.2 计算机硬件的历史
8.1.3 计算机软件的历史
8.1.4 计算机网络的历史
8.2 计算的社会背景
8.2.1 计算的社会内涵
8.2.2 网络的社会内涵
8.2.3 因特网的增长、控制和使用
8.2.4 有关性别的问题
8.3 道德分析的方法
8.3.1 道德选择
8.3.2 道德评价
8.3.3 道德选择中其他相关因素及道德选择过程
8.4 职业和道德责任
8.4.1 职业化的本质
8.4.2 软件工程师的道德准则及行为规范
8.4.3 检举政策
8.4.4 计算中的“可接受使用”政策
8.5 基于计算机系统的风险和责任
8.5.1 历史上软件风险的例子
8.5.2 软件的正确性、可靠性和安全性
8.5.3 软件测试
8.5.4 软件重用中隐藏的问题
8.5.5 风险评定与风险管理
8.6 知识产权
8.6.1 什么是知识产权
8.6.2 我国有关知识产权保护的现状
8.6.3 软件专利
8.6.4 有关知识产权的国际问题
8.7 隐私和公民自由
8.7.1 隐私保护的道德和法律基础
8.7.2 隐私保护的技术
8.7.3 电脑空间的言论自由
8.7.4 相关的国际问题和文化之间的问题
8.8 计算机犯罪
8.8.1 计算机犯罪及相关立法
8.8.2 黑客(Cracking/Hacking)
8.8.3 恶意计算机程序和拒绝服务攻击
8.8.4 防止计算机犯罪的策略
思考题
第9章 计算教育哲学
9.1 概述
9.2 计算教育哲学的第一个基本任务
9.3 计算教育哲学的第二个基本任务
9.3.1 如何定义一门学科
9.3.2 计算学科的本质、根本问题以及学科的未来
9.3.3 计算学科是“工科”还是“理科”
9.3.4 程序设计在计算学科中的地位
9.3.5 计算学科目前的核心课程能否培养学生计算方面的能力
9.3.6 在计算课程中如何做到理论与实践相结合
9.3.7 关于创新
9.3.8 关于能力的培养
9.4 计算教育哲学的第三个基本任务
9.4.1 技术的变化
9.4.2 文化的改变
9.4.3 制定教学计划的原则
9.4.4 未来计算教育的发展
思考题
附录 计算机科学知识体
参考文献
媒体评论