全部商品分类

您现在的位置: 全部商品分类 > 电子电脑 > 计算机技术 > 程序与语言

计算机科学概论(Python版国外著名高等院校信息科学与技术优秀教材)

  • 定价: ¥49
  • ISBN:9787115535542
  • 开 本:16开 平装
  •  
  • 折扣:
  • 出版社:人民邮电
  • 页数:210页
  • 作者:(美)克里斯汀·阿...
  • 立即节省:
  • 2020-06-01 第1版
  • 2020-06-01 第1次印刷
我要买:
点击放图片

导语

  

内容提要

  

    本书是美国哈维玛德学院“计算机科学通识”课程的配套教材,用独特的方法介绍计算机科学,带领读者进入这一充满智慧和活力的知识领域。
    全书共7章。第1章介绍计算机科学的概念,引入了用于控制虚拟的“Picobot”机器人的一种简单的编程语言;第2章和第3章介绍Python编程语言,并且结合Python介绍了函数式编程的思想和概念;第4章深入计算机的内部工作原理,从数字逻辑到机器组织,再到用机器语言编程;第5章探讨计算中更复杂的思想,同时探讨诸如引用和可变性等概念,以及包括循环在内的构造、数组和字典;第6章探讨面向对象编程和设计中的一些关键思想;第7章针对问题解决,在计算复杂性和可计算性方面,提供了一些优雅的,但数学上非常合理的处理方法,最终证明了计算机上无法解决的许多计算问题。
    本书适合想要通过Python编程来系统学习和了解计算机科学的读者阅读,也可以作为高等院校计算机相关专业的教学参考书。

目录

第1章  引言
  1.1  什么是计算机科学
    1.1.1  数据
    1.1.2  算法
    1.1.3  编程
    1.1.4  抽象
    1.1.5  解决问题和创造力
  1.2  Picobot
    1.2.1  Roomba问题
    1.2.2  环境
    1.2.3  状态
    1.2.4  局部思考,全局行动
    1.2.5  不管怎样
    1.2.6  算法和规则
    1.2.7  Picobot的挑战
    1.2.8  一个迷宫,朋友们
    1.2.9  不可计算的环境
  关键术语
  练习
    判断题
    讨论题
    编程题
第2章  函数式编程(第一部分)
  2.1  人类、黑猩猩和拼写检查程序
  2.2  Python入门
    2.2.1  命名事物
    2.2.2  名称中有什么
  2.3  更多数据:从数字到字符串
    2.3.1  关于长度的简短说明
    2.3.2  索引
    2.3.3  切片
    2.3.4  字符串算术
  2.4  列表
    一些好消息
  2.5  在Python中使用函数
    2.5.1  关于文档字符串的简短说明
    2.5.2  关于注释的同样简短的说明
    2.5.3  函数可以有多行
    2.5.4  函数可以有多个参数
    2.5.5  为什么要编写函数
  2.6  做出决策
    2.6.1  第二个函数示例
    2.6.2  缩进
    2.6.3  多重条件
  2.7  递归
    2.7.1  第一个递归示例:阶乘
    2.7.2  回到编辑距离函数
  2.8  递归揭秘
    2.8.1  调用函数的函数
    2.8.2  递归,真正的揭秘
  2.9  我们来使用递归吧
    2.9.1  递归设计
    2.9.2  基本情况
    2.9.3  使用递归进行设计
    2.9.4  递归模式
    2.9.5  可视化工具
  2.10  取之弃之
  2.11  编辑距离
    2.11.1  distance的基本情况
    2.11.2  distance的递归情况
  2.12  结论
  关键术语
  练习
    判断题
    填空题
    讨论题
    编程题
第3章  函数式编程(第二部分)
  3.1  密码学和素数
  3.2  一等函数
  3.3  生成素数
  3.4  过滤
  3.5  lambda
  3.6  将Google放在map上
    3.6.1  map
    3.6.2  reduce
    3.6.3  组合与mapReduce
  3.7  函数作为结果
    3.7.1  用Python做微积分
    3.7.2  高阶导数
  3.8  再谈RSA密码学
  3.9  结论
  关键术语
  练习
    判断题
    填空题
    讨论题
    编程题
第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  产生其他布尔函数
    4.3.3  使用电路的逻辑
    4.3.4  逻辑计算
    4.3.5  内存
  4.4  构建完整的计算机
    冯诺依曼架构
  4.5  Hmmm
    4.5.1  一个简单的Hmmm程序
    4.5.2  试用
    4.5.3  循环
    4.5.4  函数
    4.5.5  使用栈来递归
    4.5.6  保存“珍贵财产”
    4.5.7  完整的Hmmm指令集
    4.5.8  最后几句话
  4.6  结论
  关键术语
  练习
    判断题
    选择题和简答题
    讨论题
    逻辑设计与编程题
第5章  命令式编程
  5.1  计算机了解你(比你更了解你自己)
    我们的目标:音乐推荐系统
  5.2  从用户那里获取输入
    类型转换
  5.3  重复任务:循环
    5.3.1  底层的递归与迭代
    5.3.2  有限迭代:for循环
    5.3.3  如何使用循环控制变量
    5.3.4  累积答案
    5.3.5  处理非预期的输入
    5.3.6  不确定迭代:while循环
    5.3.7  for循环与while循环
    5.3.8  故意创建无限循环
    5.3.9  迭代是高效的
  5.4  引用以及可变和不可变数据
    5.4.1  按引用赋值
    5.4.2  可变数据类型能用其他名称更改
  5.5  可变数据+迭代:挑选艺人
    5.5.1  为什么要排序?因为运行时间很重要
    5.5.2  一种简单的排序算法:selectionSort
    5.5.3  为什么selectionSort有效
    5.5.4  一种不同排序的swap
    5.5.5  二维数组和嵌套循环
    5.5.6  字典
  5.6  读写文件
  5.7  整合在一起:程序设计
  5.8  结论
  关键术语
  练习
    判断题
    选择题和简答题
    讨论题
    编程题
第6章  面向对象的程序
  6.1  简介
  6.2  对象式思考
  6.3  有理数解决方案
  6.4  重载
  6.5  打印一个对象
  6.6  关于对象主题的更多讨论
  6.7  用OOP实现图形
  6.8  最后,机器人大战僵尸
  6.9  结论
  关键术语
  练习
    判断题
    填空题
    讨论题
    编程题
第7章  问题有多难
  7.1  永不结束的程序
  7.23  种问题:容易、困难和不可能
    7.2.1  容易的问题
    7.2.2  困难的问题
    7.2.3  不可能的问题
  7.3  停机问题:不可计算的问题
  7.4  结论
  关键术语
  练习
    判断题
    填空题
    简答题和讨论题