计算机、计算和计算思维

学什么

课程内容组织的基本脉络

自然/社会问题 –> 自然/社会问题的求解结果

人-计算(数学计算) –> 机器-自动计算(计算机科学) –> 机器-难于计算(计算机科学)

  1. 针对具体的自然/社会问题如何计算?
  2. 计算如何与社会/自然进行融合?

机器-自动计算:

  1. 程序是如何被机器自动执行的:程序 vs 系统?
  2. 如何编写机器可以执行的程序:语言 vs 编译?
  3. 如何构造求解问题的算法:问题 -> 算法 -> 程序?

机器-难于计算:

  1. 可求解 vs 难求解?
  2. 如何降低计算量:计算 vs 算法?
  3. 怎样研究算法?

需要学习的计算思维

奠基性思维:

  • 0 和 1
  • 程序
  • 递归

计算环境:

  • 冯·诺伊曼机
  • 个人计算环境
  • 并行分布环境
  • 云计算环境

两种研究手段:

  • 算法思维(数学建模)
  • 系统思维(非数学建模)

抽象机制:

  • 语言
  • 模型
  • 协议

自动化机制:

  • 编译器
  • 系统
  • 编解码器

机制关系:

  • 语言与编译器:人与计算机
  • 协议与编解码器:计算机与计算机

其他思维:

  • 数据化
  • 网络化

怎样学

知识构建次序

  • 核心:抽象与自动化
  • 第一层:符号化-计算化-自动化(0和1)、组合-抽象与构造:程序与系统、构造之基本手段:迭代和递归
  • 第二层:计算系统:冯·诺伊曼计算机 –> 个人计算机 –> 并行分布计算环境 –> 云计算环境
  • 第三层:问题求解之算法与程序设计
  • 第四层:网络化思维
  • 第五层:数据化思维
  • 第六层:面向某类学科/方向的计算

贯通的知识才是思维

语义符号化 –> 符号计算化 –> 计算01化 –> 01自动化 –> 分层构造化 –> 构造继承化

社会自然现象 –> 逻辑 –> 二进制 –> 电路 –> 集成电路 –> 计算机

表层意义 –> 深层意义 –> 集成意义

知识 vs 思维 vs 能力

人-计算与机器-计算

人进行计算:

  • 一条规则可能很复杂,但计算量却可能很小
  • 人需要知道具体的计算规则
  • 特定规则,只能求解特定类型问题

机器-自动计算

  • 一条规则可能很简单,但计算量却可能很大
  • 机器也可以采用人所使用的计算规则(需要转化成程序)
  • 一般性的规则,可以求解任意类似问题

自动计算需要解决的问题

自动计算需要解决的问题

数据与计算规则的表示、自动存取(表示两种状态的零件比表示十种状态的元器件更易获取,因此二进制比十进制更适合机器),计算规则的自动执行。

元器件的发展轨迹,每个阶段需要解决的问题

从表示-自动存储-自动执行的角度:

  1. 电子管-可自动控制0和1变化的元件
  2. 晶体管
  3. 集成电路-可自动实现一定变化的元件
  4. 超大规模集成电路

计算 vs 计算系统

输入 –> 控制与计算(微处理器、中央处理单元CPU)、存储设备(内存与外存) –> 输出

计算系统

计算系统的发展:

  • 微处理器:字长(表示一次处理的数据位数)(8位、16位、32位、62位)、主频(表示单位时间内完成的操作次数,Hz)(5M、20M、60M、1G、10G)、晶体管数目(1万颗、10万颗、300万颗、2800万颗、3亿颗、>10亿颗)
  • 存储设备:汞延迟线、磁带/磁芯/磁鼓存储、半导体存储(ROM/RAM)、磁盘存储(硬盘与软盘)、光盘存储(CD-ROM,CD R/W,DVD)、Flash Disk、固态硬盘,USB、纳米存储/量子存储
  • 输入设备:穿孔纸带(0/1输入)、键盘输入(字符输入)、鼠标输入(点输入)、感知输入(接触式/非接触式)
  • 输出设备:CRT阴极射线管(模拟显示器:黑白与彩色)、CRT字符发生器(向量式模拟显示器)、CRT数字光栅扫描显示器(基于内存的显示)、数字显示器(液晶、等离子技术)、3D显示器

计算系统发展趋势

  • 微型化:可嵌入、可携带
  • 大型化:可进行大规模、复杂运算
  • 智能化:理解自然语言,具有自适应性、自主完成复杂功能
  • 网络化