顶部
收藏

计算机科学导论——思想与方法(第4版)


作者:
董荣胜
定价:
47.00元
ISBN:
978-7-04-062425-0
版面字数:
520.000千字
开本:
16开
全书页数:
暂无
装帧形式:
平装
重点项目:
暂无
出版时间:
2024-08-12
物料号:
62425-00
读者对象:
高等教育
一级分类:
计算机/教育技术类
二级分类:
计算机类专业核心课程
三级分类:
计算机导论

本书依据教育部高等学校计算机类专业教学指导委员会对“计算机导论”课程的要求,以及教育部高等学校大学计算机课程教学指导委员会对“大学计算机”课程的基本要求,并参考ACM和IEEE CS对“计算机科学导论”课程的有关建议组织编写。在学科思想与方法层面将学科知识有机地统一起来,避免了学科知识的杂乱堆积,有助于课程的教与学。基于本书“学科认知模型”的课程设计,适合采用翻转课堂的教学方式,通过将良好的课程结构与先进的教学方式相结合能够强化学生的计算思维习惯,提高问题求解的能力。

本书主要内容有绪论,计算学科的基本问题,计算学科的三形态,计算学科的核心概念,计算学科中的数学方法、统计学方法、系统科学方法,社会与职业问题,若干问题的探讨,以及9组与课程讲授内容相呼应的实验等。

本书可作为高等学校“计算机科学导论”“计算概论”“计算思维与建模”或“大学计算机科学”等课程的教材或参考书,还可供广大教师、科技人员和其他对科学思维能力培养感兴趣的相关人士参考。

  • 前辅文
  • 第1章 绪论
    • 1.1 引言
    • 1.2 计算学科的演变、专业描述
    • 1.3 计算机科学的知识体和核心课程
    • 1.4 “计算机科学导论”课程的构建问题
    • 1.5 计算思维与计算机科学导论
    • 1.6 本章小结
    • 习题1
  • 第2章 计算学科的基本问题
    • 2.1 引言
    • 2.2 对计算问题进行抽象的一个典型实例:哥尼斯堡七桥问题
    • 2.3 可计算问题与不可计算问题
      • 2.3.1 汉诺塔问题
      • 2.3.2 算法复杂性中的难解问题
      • 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 本章小结
    • 习题2
  • 第3章 计算学科的三形态
    • 3.1 引言
    • 3.2 “学生选课”实例
      • 3.2.1 对“学生选课”实例的感性认识
      • 3.2.2 对“学生选课”实例的理性认识
      • 3.2.3 “学生选课”系统的工程设计
    • 3.3 抽象形态
    • 3.4 理论形态
    • 3.5 设计形态
    • 3.6 三形态的内在联系
    • 3.7 计算机语言的发展及其三形态的内在联系
      • 3.7.1 自然语言与形式语言
      • 3.7.2 图灵机与冯·诺依曼计算机
      • 3.7.3 机器指令与汇编语言
      • 3.7.4 虚拟机
      • 3.7.5 高级语言
      • 3.7.6 应用语言
      • 3.7.7 自然语言
      • 3.7.8 小结
    • *3.8 计算机科学各领域三形态的主要内容
    • 3.9 本章小结
    • 习题3
  • 第4章 计算学科的核心概念
    • 4.1 引言
    • 4.2 算法
      • 4.2.1 算法的历史简介
      • 4.2.2 算法的定义和特征
      • 4.2.3 算法实例
      • 4.2.4 算法的表示方法
      • 4.2.5 算法分析
      • 4.2.6 常用的两类算法:搜索与排序
    • 4.3 数据结构
      • 4.3.1 数据结构的基本概念
      • 4.3.2 基于Vcomputer机器的数据结构概述
      • 4.3.3 基于Vcomputer机器的数据逻辑结构
      • 4.3.4 基于Vcomputer机器的数据存储结构
    • 4.4 程序、软件和硬件
      • 4.4.1 程序
      • 4.4.2 软件
      • 4.4.3 硬件
    • 4.5 数据的存储和表示
      • 4.5.1 进位制数及其相互转换
      • *4.5.2 原码、反码、补码及其转换
      • 4.5.3 字符、字符串和汉字
      • 4.5.4 图像
      • 4.5.5 声音
    • 4.6 CC1991报告提取的核心概念
    • 4.7 本章小结
    • 习题4
  • 第5章 计算学科中的数学方法
    • 5.1 引言
    • 5.2 数学的基本特征
    • 5.3 数学方法的作用
    • 5.4 计算学科中常用的数学概念和术语
      • 5.4.1 集合
      • 5.4.2 函数和关系
      • 5.4.3 代数系统
      • 5.4.4 字母表、字符串和语言
      • 5.4.5 定义、定理和证明
      • 5.4.6 必要条件和充分条件
    • 5.5 证明方法
      • 5.5.1 直接证明法和间接证明法
      • 5.5.2 反证法
      • 5.5.3 归纳法
      • 5.5.4 构造性证明
    • 5.6 递归和迭代
      • 5.6.1 递归
      • 5.6.2 迭代
    • 5.7 随机数和蒙特卡罗方法
      • 5.7.1 随机数
      • 5.7.2 蒙特卡罗方法
    • 5.8 公理化方法
      • 5.8.1 理论体系
      • 5.8.2 公理化方法的基本概念
      • 5.8.3 实例
    • *5.9 形式化方法
      • 5.9.1 形式系统的组成、基本特点和局限性
      • 5.9.2 形式化方法概述
      • 5.9.3 形式化规格说明
      • 5.9.4 形式验证
    • 5.10 本章小结
    • 习题5
  • 第6章 计算学科中的统计学方法
    • 6.1 引言
    • 6.2 不确定性描述的数学基础
    • 6.3 朴素贝叶斯分类器
    • 6.4 偏导数基础
    • 6.5 回归与最小二乘法
    • 6.6 最大梯度下降法
    • 6.7 感知器与BP神经网络
      • 6.7.1 单层感知器
      • 6.7.2 BP神经网络
    • 6.8 本章小结
    • 习题6
  • 第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 复杂性
      • 7.3.3 软件系统的复杂性
      • 7.3.4 软件开发的系统化方法需要遵循的基本原则
    • 7.4 软件开发管理中的敏捷方法
      • 7.4.1 传统软件开发管理存在的问题
      • 7.4.2 敏捷方法中的4个价值观和12条原则
      • 7.4.3 敏捷方法中的团队管理
      • 7.4.4 敏捷方法的应用
    • *7.5 结构化方法
      • 7.5.1 结构化方法的产生和发展
      • 7.5.2 结构化方法遵循的基本原则
      • 7.5.3 结构化方法的核心问题
      • 7.5.4 实例:高等学校信息管理系统
    • *7.6 面向对象方法
      • 7.6.1 面向对象方法的产生和发展
      • 7.6.2 面向对象方法的基本思想
      • 7.6.3 面向对象方法的核心问题
      • 7.6.4 实例:图书管理系统
    • 7.7 本章小结
    • 习题7
  • 第8章 社会与职业问题
    • 8.1 引言
    • 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.5 AI中的若干伦理问题
    • 8.6 职业和道德责任
    • 8.7 基于计算机系统的风险和责任
      • 8.7.1 历史上软件风险的例子
      • 8.7.2 软件的正确性、可靠性和安全性
      • 8.7.3 软件测试
      • 8.7.4 软件重用中隐藏的问题
      • 8.7.5 风险评定与风险管理
    • 8.8 计算机犯罪
    • 8.9 本章小结
    • 习题8
  • 第9章 若干问题的探讨
    • 9.1 引言
    • 9.2 需要关注的若干问题
      • 9.2.1 计算本质认知的历史
      • 9.2.2 第三次数学危机与希尔伯特纲领
      • 9.2.3 图灵对计算本质的揭示
      • 9.2.4 关于能力的培养
      • 9.2.5 布卢姆教育目标分类法中的复杂度与难度
      • 9.2.6 SOLO分类法中的浅层学习与深度学习
    • 9.3 本章小结
    • 习题9
  • 第10章 课程实验
    • 10.1 分支和循环结构的简单程序设计
    • 10.2 RSA公开密钥密码系统
    • 10.3 存储程序式计算机的简单程序设计
    • 10.4 递归算法、迭代算法及其比较
    • 10.5 数组实验
    • 10.6 栈的基本操作:push和pop
    • 10.7 归并排序与折半查找
    • 10.8 蒙特卡罗方法应用
    • 10.9 简单的卡通与游戏实验
  • 附录A Raptor可视化程序设计概述
    • A.1 Raptor是什么?
    • A.2 为什么要使用Raptor进行程序设计?
    • A.3 Raptor的安装
    • A.4 几个简单的Raptor程序
      • A.4.1 实例1 输出字符串“Hello World!”
      • A.4.2 实例2 求两个整数中的较大值
      • A.4.3 实例3 求1+2+3+…+10的和
    • A.5 Raptor流程图和标准流程图的区别与联系
  • 附录B Vcomputer存储程序式计算机概述
    • B.1 Vcomputer存储程序式计算机软件安装及使用
    • B.2 Vcomputer机器的结构和指令
    • B.3 Vcomputer机器上的汇编指令集
    • B.4 汇编程序编写过程中的注意事项
    • B.5 机器指令(十六进制代码)编写过程中的注意事项
    • B.6 存储程序式计算机模拟平台的功能
    • B.7 计算机模拟平台的注意事项
    • B.8 Vcomputer演示实例的源程序
  • 参考文献

相关图书