现在的开发者需要具备的,不仅仅是技能树,而是技能森林。(推特@qing_wang)
最近偶然看到这个课,我觉得还不错,可以扫盲,B站就有,然后我总结了一些要点,供大家参考
可爱吗?
Time line
Some notes
因为字幕组公开字幕了,所以我就记了一部分笔记。
Logic Gates XOR example
Binary
- 二进制中,一个 1 或 0 叫一"位bit".
- 1 字节 byte = 8 位
- Mega 是百万字节(MB), Giga 是十亿字节(GB)
- 二进制里,1 千字节 = 2的10次方 = 1024 字节
- 计算机必须给内存中每一个位置,做一个 “标记” ,这个标记叫 “位址” addresses, 目的是为了方便存取数据
- 浮点数最常见的是 IEEE 754 标准,比如js,py,都是这个规范
- 625.9 可以写成 0.6259×10 ^ 3。.6259 叫 “有效位数significand” , 3 是指数exponent
- ASCII 是 7 个位,足够存 128 个不同值,剩下的一位不能解决中文或者是日文这种多字符语言问题
- 后出现了Unicode,最常见的 Unicode 是 16 位的
Arithmetic and Logic Unit 算术逻辑单元
- ALU 有 2 个单元,1 个算术单元和 1 个逻辑单元
- “算术单元”,它负责计算机里的所有数字操作
- 逻辑单元执行逻辑操作,比如之前讨论过的 AND,OR 和 NOT 操作,进行数值测试
- half adder 半加器
- full adder
Registers and Ram
- AND-OR Latch 锁存器
-
- Gated latch 门锁
- 一组这样的锁存器叫 “寄存器”
- 寄存器能存一个数字,这个数字代表位的数量,叫"位宽"
- 使用矩阵存储锁存器,节省连接的线路
- 为了将地址转成 行和列,我们需要 “多路复用器”
CPU
- microarchitecture 微体系架构
- 寄存器用来 临时存数据 和 操作数据
- 一个寄存器追踪程序运行到哪里了,我们叫它 “指令地址寄存器”
- 另一个寄存器存当前指令,叫 “指令寄存器”
- “控制单元” 负责选择正确的寄存器作为输入,并配置 ALU 执行正确的操作
- CPU “取指令→解码→执行” 的速度叫 “时钟速度”,单位是赫兹 - 赫兹是用来表示频率的单位
- 1 赫兹代表一秒 1 个周期
-
- fetch phase 取指令阶段
- 将 “指令地址寄存器” 连到 RAM,拿到指令
-
- decode phase 解码阶段
-
- 执行
Educational Technology
- 智能辅导系统通常用贝叶斯知识追踪让学生练习技能,直到掌握
- 记录四个概率,自我校正
- 学生已经学会的概率
- 瞎猜的概率
- 失误的概率
- 做题过程中学会的概率
- “判断规则”+选择算法,组合在一起成为 “域模型”