【!!!请注意!!!】以下内容为陪伴小孩学习计算机知识过程中的初步记录,暂不更新。

面向的读者

  1. 对计算机科学感兴趣的初中生、高中生;

本书特色

  1. 兼顾数学在编程中的应用,在编程中注重数学思维、工程思维的训练。
  2. 在科普中兼顾英语的学习,在书中穿插。

什么是计算机科学?

  1. 计算机科学是研究计算和信息的学科。
  2. 计算机科学的研究领域包括算法和数据结构、计算机和网络设计、数据模型和信息处理、人工智能。

What is computer science?

  1. Computer science is the study of computation and information.
  2. The discipline of computer science includes the study of algorithms and data structures, computer and network design, modeling data and information processes, and artificial intelligence.
  • science /ˈsaɪəns/ n. 科学
  • computation /ˌkɒmpjuˈteɪʃn/ n. 计算
  • discipline /ˈdɪsəplɪn/ n. 知识领域
  • algorithm /ˈælɡərɪðəm/ n. 算法
  • structure /ˈstrʌktʃə(r)/ n. 结构
  • artificial /ˌɑːtɪˈfɪʃl/ adj. 人工的
  • intelligence /ɪnˈtelɪdʒəns/ n. 智能

目录

  1. 编程准备
    1. 第一个程序
  2. 代数思维与计算机解题
    1. 变量
    2. 数字和数学
  3. 逻辑思维与计算机解题
    1. 布尔代数(Boolean logic)
  4. 数据的组织与处理(1)—— 数组
    1. 一维数组
    2. 字符数组
    3. 大整数的运算
    4. 查找算法
      1. 顺序查找
      2. 二分查找
      3. 二分查找的复杂度
    5. 排序算法
      1. 选择排序
      2. 冒泡排序
      3. 插入排序
      4. 计数排序
      5. STL中的排序函数sort
    6. 二维数组
  5. 数据的组织与处理(2)—— 结构、链表和队列
    1. 指针
    2. 结构
    3. 链表
    4. 队列
    5. 位运算
  6. 数据的组织与处理(3)—— 树
    1. 树的简介
    2. 二叉树
    3. 二叉树的遍历
    4. 二叉树与表达式
    5. 二叉查找树
    6. 哈夫曼树
  7. 数据的组织与处理(4)—— 栈
    1. 栈在表达式求值中的应用
  8. 数据的组织与处理(5)—— 图
  9. 递归思想与相应算法
    1. 递归及其实现
    2. 回溯算法与八皇后问题
  10. 算法(Algorithms)
    1. 分治思想
    2. 模拟法
    3. 贪心算法
    4. 简单搜索算法(深度优先 广度优先)搜索中的剪枝
  11. 算法 —— 动态规划(Dynamic Programming)
    1. 动态规划
    2. 动态规划与斐波那契数列
    3. 动态规划与0-1背包问题
  12. 数据的组织与处理(6)—— 文件
  13. 再谈程序设计(Programming)
    1. 编程语言
  14. 数字化(Digital Information)
    1. 信息的表示
  15. 计算机(Computers)
    1. What is a computer? 计算机组成
  16. 互联网(The Internet)
    1. 计算机网络和互联网
  17. 组合数学
    1. 排列组合
    2. 简单图论
    3. 数理逻辑
  18. 附录
    1. 参考资料

其他参考: