作品简介

本书是美国哈维玛德学院“计算机科学通识”课程的配套教材,用独特的方法介绍计算机科学,带领读者进入这一充满智慧和活力的知识领域。

全书共7章。第1章介绍计算机科学的概念,引入了用于控制虚拟的“Picobot”机器人的一种简单的编程语言;第2章和第3章介绍Python编程语言,并且结合Python介绍了函数式编程的思想和概念;第4章深入计算机的内部工作原理,从数字逻辑到机器组织,再到用机器语言编程;第5章探讨计算中更复杂的思想,同时探讨诸如引用和可变性等概念,以及包括循环在内的构造、数组和字典;第6章探讨面向对象编程和设计中的一些关键思想;第7章针对问题解决,在计算复杂性和可计算性方面,提供了一些优雅的,但数学上非常合理的处理方法,最终证明了计算机上无法解决的许多计算问题。

本书适合想要通过Python编程来系统学习和了解计算机科学的读者阅读,也可以作为高等院校计算机相关专业的教学参考书。

克里斯汀·阿尔瓦拉多(Christine Alvarado),美国加州大学圣地亚哥分校教授,她曾经在哈维玛德学院任教。

扎卡里·道兹(Zachary Dodds),美国哈维玛德学院计算机科学教授。

吉奥夫·昆宁(Geoff Kuenning),美国哈维玛德学院教授。

兰·列别斯科(Ran Libesk),美国哈维玛德学院教授。

作品目录

  • 版权声明
  • 内容提要
  • 前  言
  • 致谢
  • 资源与支持
  • 提交勘误
  • 与我们联系
  • 关于异步社区和异步图书
  • 第1章 引言
  • 1.1 什么是计算机科学
  • 1.2 Picobot
  • 关键术语
  • 练习
  • 第2章 函数式编程(第一部分)
  • 2.1 人类、黑猩猩和拼写检查程序
  • 2.2 Python入门
  • 2.3 更多数据:从数字到字符串
  • 2.4 列表
  • 2.5 在Python中使用函数
  • 2.6 做出决策
  • 2.7 递归
  • 2.8 递归揭秘
  • 2.9 我们来使用递归吧
  • 2.10 取之弃之
  • 2.11 编辑距离
  • 2.12 结论
  • 关键术语
  • 练习
  • 第3章 函数式编程(第二部分)
  • 3.1 密码学和素数
  • 3.2 一等函数
  • 3.3 生成素数
  • 3.4 过滤
  • 3.5 lambda
  • 3.6 将Google放在map上
  • 3.7 函数作为结果
  • 3.8 再谈RSA密码学
  • 3.9 结论
  • 关键术语
  • 练习
  • 第4章 计算机组织
  • 4.1 计算机组织概论
  • 4.2 表示信息
  • 4.3 逻辑电路
  • 4.4 构建完整的计算机
  • 4.5 Hmmm
  • 4.6 结论
  • 关键术语
  • 练习
  • 第5章 命令式编程
  • 5.1 计算机了解你(比你更了解你自己)
  • 5.2 从用户那里获取输入
  • 5.3 重复任务:循环
  • 5.4 引用以及可变和不可变数据
  • 5.5 可变数据+迭代:挑选艺人
  • 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.2 3种问题:容易、困难和不可能
  • 7.3 停机问题:不可计算的问题
  • 7.4 结论
  • 关键术语
  • 练习
展开全部