计算机、计算和计算思维
学什么
课程内容组织的基本脉络
自然/社会问题 –> 自然/社会问题的求解结果
人-计算(数学计算) –> 机器-自动计算(计算机科学) –> 机器-难于计算(计算机科学)
- 针对具体的自然/社会问题如何计算?
- 计算如何与社会/自然进行融合?
机器-自动计算:
- 程序是如何被机器自动执行的:程序 vs 系统?
- 如何编写机器可以执行的程序:语言 vs 编译?
- 如何构造求解问题的算法:问题 -> 算法 -> 程序?
机器-难于计算:
- 可求解 vs 难求解?
- 如何降低计算量:计算 vs 算法?
- 怎样研究算法?
需要学习的计算思维
奠基性思维:
- 0 和 1
- 程序
- 递归
计算环境:
- 冯·诺伊曼机
- 个人计算环境
- 并行分布环境
- 云计算环境
两种研究手段:
- 算法思维(数学建模)
- 系统思维(非数学建模)
抽象机制:
- 语言
- 模型
- 协议
自动化机制:
- 编译器
- 系统
- 编解码器
机制关系:
- 语言与编译器:人与计算机
- 协议与编解码器:计算机与计算机
其他思维:
- 数据化
- 网络化
怎样学
知识构建次序
- 核心:抽象与自动化
- 第一层:符号化-计算化-自动化(0和1)、组合-抽象与构造:程序与系统、构造之基本手段:迭代和递归
- 第二层:计算系统:冯·诺伊曼计算机 –> 个人计算机 –> 并行分布计算环境 –> 云计算环境
- 第三层:问题求解之算法与程序设计
- 第四层:网络化思维
- 第五层:数据化思维
- 第六层:面向某类学科/方向的计算
贯通的知识才是思维
语义符号化 –> 符号计算化 –> 计算01化 –> 01自动化 –> 分层构造化 –> 构造继承化
社会自然现象 –> 逻辑 –> 二进制 –> 电路 –> 集成电路 –> 计算机
表层意义 –> 深层意义 –> 集成意义
知识 vs 思维 vs 能力
人-计算与机器-计算
人进行计算:
- 一条规则可能很复杂,但计算量却可能很小
- 人需要知道具体的计算规则
- 特定规则,只能求解特定类型问题
机器-自动计算
- 一条规则可能很简单,但计算量却可能很大
- 机器也可以采用人所使用的计算规则(需要转化成程序)
- 一般性的规则,可以求解任意类似问题
自动计算需要解决的问题
自动计算需要解决的问题
数据与计算规则的表示、自动存取(表示两种状态的零件比表示十种状态的元器件更易获取,因此二进制比十进制更适合机器),计算规则的自动执行。
元器件的发展轨迹,每个阶段需要解决的问题
从表示-自动存储-自动执行的角度:
- 电子管-可自动控制0和1变化的元件
- 晶体管
- 集成电路-可自动实现一定变化的元件
- 超大规模集成电路
计算 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显示器
计算系统发展趋势
- 微型化:可嵌入、可携带
- 大型化:可进行大规模、复杂运算
- 智能化:理解自然语言,具有自适应性、自主完成复杂功能
- 网络化