《计算机科学导论——思想与方法(第2版)》沿用了第1版的框架。在第1章,增加了“计算思维与计算机导论”内容;在第2章,增加了一个计算复杂性的典型实例——RSA公开密钥密码系统;在第3章,借鉴J.Glenn Brookshear的思想,给出了一个新的Vcomputer机器及其指令系统;在第4章,增加了“搜索与排序”两个常用的算法;在第5章,增加了针对无序数列问题解决的“随机数和蒙特卡洛方法”;第6章、第7章内容基本没有变化;在第8章,以Computer Science Curricula 2013(草案)以及计算思维的培养为基础,从计算技术的变化和文化的改变两方面对计算教育当前面临的一些问题做出回答。本书由董荣胜编著。
《计算机科学导论——思想与方法(第2版)》根据教育部高等学校计算机科学与技术教学指导委员会、IEEE-CS和ACM对计算机导论课程的要求,在学科思想方法这个较高的层面将学科知识有机地统一起来,避免了学科知识的杂乱堆积,有助于课程的教与学,也有助于学生计算思维能力的提高。
本书主要内容有:计算学科专业名称的演变及培养的侧重点,学科知识体与核心课程,“计算机导论”课程的构建,计算思维与计算机导论,学科的基本问题,学科中的抽象、理论和设计3个学科形态,学科中的核心概念、数学方法、系统科学方法,社会与职业问题,以及学科若干问题的探讨与学科未来教育的展望等。为了使读者更好地理解和掌握书中的内容,本书在第1版的基础上,增加了大量的实例和习题。
《计算机科学导论——思想与方法(第2版)》可作为高等学校“计算机导论”或“计算思维导论”等课程的教材或参考书,还可供有关专业的学生、教师和科技人员参考。本书由董荣胜编著。
第1章 绪论
1.1 引言
1.2 学科专业名称的演变、学科描述及培养侧重点
*1.3 学科知识体和核心课程
1.3.1 计算机科学知识体及专业核心课程
1.3.2 计算机工程知识体及专业核心课程
1.3.3 软件工程知识体及专业核心课程
1.3.4 信息技术知识体及专业核心课程
1.4 如何构建“计算机导论”课程
1.5 计算思维与计算机导论
1.6 本章小结
习题一
第2章 学科的基本问题
2.1 引言
2.2 对问题进行抽象的一个典型实例:哥尼斯堡七桥问题
2.3 可计算问题与不可计算问题
2.3.1 梵天塔问题
2.3.2 算法复杂性中的难解性问题、P类问题和NP类问题
2.3.3 证比求易算法
2.3.4 P=?NP
2.3.5 RSA公开密钥密码系统
2.3.6 一个不可计算问题:停机问题
2.3.7 旅行商问题与组合爆炸问题
2.3.8 找零问题、背包问题与贪婪算法
2.4 GOTO语句与程序的结构
2.5 哲学家共餐问题与计算机的资源管理
2.6 两军问题与计算机网络
2.6.1 两军问题
2.6.2 互联网软件的分层结构
2.7 人工智能中的若干哲学问题
2.7.1 图灵测试
2.7.2 西尔勒的“中文屋子”
2.7.3 计算机中的博弈问题
*2.8 计算机科学各主领域及其基本问题
2.9 本章小结
习题二
第3章 3个学科形态
3.1 引言
3.2 一个关于“学生选课”的例子
3.2.1 对“学生选课”例子的感性认识
3.2.2 对“学生选课”例子的理性认识
3.2.3 “学生选课”系统的工程设计
3.3 抽象形态
3.4 理论形态
3.5 设计形态
3.6 3个学科形态的内在联系
3.7 计算机语言的发展及其3个学科形态的内在联系
……
第4章 学科中的核心概念
第5章 学科中的数学方法
第6章 学科中的系统科学方法
第7章 社会与职业问题
第8章 探讨与展望
附录A CC2001中的计算机科学知识体
附录B Armstrong公理系统
附录C 哲学家共餐问题的模型检验
附录D m+0=m的定理证明
索引
参考文献