summary

第 1 集:计算机早期历史

提到的设备:算盘 → 步进计算器 → 差分机 → 分析机 → 打孔卡片制表机

提到的人名:Charles Babbage, Ada Lovelace

02:27 最早的计算设备是算盘,举例如何使用

04:31 Computer 从指代职业变成指代机器

04:57 机器里有名的是:步进计算器。第一个可以做加减乘除的机器

06:44 炮弹为了精准,要计算弹道,二战是查表来做。但每次改设计了就需要做一张新表

07:30 Charles Babbage 提出了 "差分机", 在构造差分机期间,想出了分析机, 分析机是通用计算机

08:50 Lovelace 给分析机写了假想程序,因此成为了第一位程序员

09:25 人口普查 10 年一次. Herman Hollerith 的打孔卡片制表机大大提升了效率

第 2 集:电子计算机

提到的设备:继电器 → 真空管 → 晶体管

00:17 20世纪的发展要求更强的计算能力。柜子大小的计算机发展到房间大小

01:06 哈佛 Mark 1 号,IBM 1944 年做的

02:25 继电器,继电器一秒最多 50 次开关

03:24 继电器出 bug

03:49 1904 年,热电子管出现,第一个真空管。改进后变成和继电器的功能一样

05:34 "巨人1号" 计算机在英国布莱切利园首次大规模使用真空管。但编程麻烦,还要配置

06:40 1946 年,宾夕法尼亚大学的 ENIAC 是第一个通用可编程计算机

07:36 1947 年,贝尔实验室做出了晶体管,晶体管有诸多好处,IBM 很快全面转向晶体管

09:27 硅谷的典故:很多晶体管和半导体的开发都是这里做的。而生产半导体最常见的材料是硅

09:41 肖克利半导体 → 仙童半导体 → 英特尔

第 3 集:布尔逻辑和逻辑门

01:00 什么是二进制, 为什么用二进制, 布尔逻辑

02:46 3个基本操作:NOT,AND,OR

02:51 解释3个基本操作

07:11 XOR 异或

第 4 集:二进制

00:46 用十进制举例二进制的原理,演示二进制加法。存储单位 MB GB TB 等

05:30 正数,负数,整数,浮点数的表示

07:20 美国信息交换标准代码 - ASCII, 用来表示字符

09:00 UNICODE 1992 年诞生,是字符编码标准,解决 ASCII 不够表达所有语言的问题

第 5 集:算数逻辑单元 - ALU

00:03 简单介绍 ALU ,英特尔 74181

01:24 ALU 有 2 个单元,1 个算术单元和 1 个逻辑单元

01:32 算术单元

半加器 (处理1个 bit,2个输入)

全加器 (处理1个 bit,3个输入)

8 bit 加法 (1个半加器,7个全加器)

溢出的概念,吃豆人的例子

乘法除法

07:32 逻辑单元

检测数字是否为 0 的电路(一堆 OR 门最后加个 NOT 门)

ALU 抽象成一个 V 符号

Flag 标志(是否相等,是否小于,是否溢出等等)

第 6 集:寄存器和内存

本集重点是 Memory (存储 / 内存两种含义)

03:30 存 1 位 (Gated Latch - 锁存器)

04:48 存 8 位 (Register - 寄存器)

05:46 16x16 的矩阵存 256 位

数据选择器/多路复用器 (Multiplexer) 解码 8 位地址,定位到单个锁存器

07:38 4 位代表行, 4 位代表列

08:16 组合 256 位内存 + 多路复用器

09:01 可寻址的 256 字节内存

一条1980年代的内存,1M 大小

10:14 8个模块,每个模块有32个小方块,

每个小方块有 4 个小块,每个小块是 128 位 x 64 位

第 7 集:中央处理器(CPU)

重点

拼个 CPU 出来

CPU 怎么执行命令

01:00 RAM + 寄存器 + ALU 做个 CPU

04:00 解释 "取指令→解释→执行" 这个循环

08:00 时钟是什么, 时钟速度和赫兹

10:00 超频提升性能, 降频省电

第 8 集:指令和程序

本集重点:一步步带你运行一遍程序

00:45 回顾上集的例子程序,一步步讲解。介绍”指令集”的概念

LOAD_A,LOAD_B,SUB,JUMP,ADD,HALT 等指令

05:16 带条件跳转,JUMP NEGATIVE 是负数才跳转,还有其他类型的 JUMP

08:00 真正现代 CPU 用更多指令集。位数更长。

09:07 1971年的英特尔 4004 处理器,有 46 个指令

09:36 如今英特尔酷睿 i7, 有上千条指令

第 9 集:高级 CPU 设计

00:24 早期是加快晶体管切换速度,来提升 CPU 速度

01:20 给 CPU 专门的除法电路 + 其他电路来做复杂操作,比如游戏,视频解码

02:28 给 CPU 加缓存,提高数据存取速度,更快喂给 CPU,用计算餐馆销售额举例

05:13 脏位 - Dirty bit

05:33 流水线设计,用 1 个洗衣机和 1 个干燥机举例

06:01 并行处理 - parallelize

07:33 乱序执行 - out-of-order execution

08:21 推测执行 - speculative execution

08:50 分支预测 - branch prediction

09:34 多个 ALU

09:54 多核 (Core)

10:11 多个独立 CPU

10:52 超级计算机,中国的"神威太湖之光"

第 10 集:早期的编程方式

本集重点:早期计算机如何编程

打孔纸卡 → 插线板 → 面板拨开关

00:00 开头说本集重点:程序如何进入计算机

00:53 拿纺织业举例,给机器编程的需求远在计算机出现前就有了

01:41 打孔纸卡 - Punched card

02:36 插线板 - Plugboard

04:20 冯诺依曼架构 - Von Neumann Architecture

07:00 面板编程 - Panel programming

07:29 第一款取得商业成功的家用计算机: Altair 8800

08:15 编程依然很困难,人们需要更友好更简单的方式编程

08:44 下周主题:编程语言

第 11 集:编程语言发展史

编程:二进制 → 助记符(汇编器)→ A-0(编译器)→ FORTRAIN

01:45 二进制写程序,先纸上写伪代码,手工转二进制,很快就烦了

02:28 用 "助记符” 写代码(LOAD_A 14)为了把助记符转二进制,汇编器诞生 (Assembler)

04:32 葛丽丝·霍普 (Grace Hopper) - 哈佛1号计算机首批程序员, 海军军官

05:13 Grace 设计了编程语言 A-0

05:29 Grace 1952 年做了第一个编译器 (Compiler),实现 A-0

06:29 变量 (Variables)

07:01 FORTRAN

08:18 COBOL

09:25 新语言

1960 年代:ALGOL,LISP,BASIC

1970 年代:Pascal,C,Smalltalk

1980 年代:C++,Objective-C,Perl

1990 年代:Python,Ruby,Java

第 12 集:编程基础 - 语句和函数

00:50 变量, 赋值语句

02:08 Grace Hopper 拍虫子游戏

02:52 if 判断

04:19 while 循环

05:48 for 循环

07:00 函数

11:11 下集介绍算法

第 13 集:算法入门

03:00 选择排序 - Selection sort

03:52 大 O 表示法 - Big O notation

04:31 归并排序 - Merge sort

08:03 Dijkstra 算法

第 14 集:数据结构

00:39 数组 - Array

02:06 字符串 - String

03:12 矩阵 - Matrix

04:05 结构体 - Struct

04:46 指针 - Pointer

04:44 节点 - Node

04:53 链表 - Linked List

06:21 队列 - Queue

06:21 栈 - Stack

07:31 树 - Tree

08:01 二叉树 - Binary Tree

08:26 图 - Graph

08:50 没时间讲红黑树和堆, 不同数据结构适用不同场景

第 15 集:阿兰·图灵

00:33 介绍图灵

00:52 可判定性问题

01:14 阿隆佐·丘奇,Lambda 算子

01:38 图灵机

04:54 停机问题

08:09 破解德军英格玛加密机

10:40 图灵测试

11:18 图灵的个人生活

12:07 图灵奖

第 16 集:软件工程

01:31 对象 Object

02:39 面向对象编程 Object Oriented Programming.

03:55 API Application Programming Interface

04:33 public, private

05:36 集成开发环境, IDE - Integrated Development Environments

06:09 调试 debugging

06:31 文档和注释 - readme, comment

07:33 版本控制 Version control

08:50 质量控制 Quality Assurance testing,QA

09:21 Beta, Alpha

第 17 集:集成电路与摩尔定律

本集重点:晶圆的制作流程:光刻 (04:21~07:42)

00:51 分立元件 Discrete components

01:09 数字暴政 Tyranny of Numbers - 是 1960 年代工程师碰到的问题

意思是如果想加强电脑性能,就要更多部件,这导致更多线路,更复杂。所以很难做

04:21 光刻 Photolithography

04:26 晶圆 Wafer

04:57 光刻胶 Photoresist

05:08 光掩膜 Photomask

06:00 掺杂 Doping

09:09 摩尔定律 Moore’s Law.

09:38 英特尔 Intel

10:20 晶体管数量大幅度增长, 1980年三万个,1990年一百万个,2000年三千万个,2010年十亿个

11:44 进一步小型化会碰到 2 个问题 1. 光的波长不足以制作更精细的设计 2. 量子隧穿效应

第 18 集:操作系统

00:48 操作系统 Operating systems

01:34 批处理 Batch processing

01:58 计算机变便宜变多,有不同配置,写程序处理不同硬件细节很痛苦,因此操作系统负责抽象硬件

02:12 外部设备 Peripherals

02:48 设备驱动程序 Device drivers

04:43 多任务处理 Multitasking

05:54 虚拟内存 Virtual Memory

07:09 动态内存分配 Dynamic memory allocation

07:31 内存保护 Memory Protection

07:54 1970年代,计算机足够便宜,大学买了让学生用,多个学生用多个 "终端" 连接到主机

08:29 多用户分时操作系统,Multics

09:32 Unix

11:02 MS-DOS

12:09 下集是内存&存储介质

第 19 集:内存&储存介质

本集重点:存储技术的发展

01:01 纸卡 Paper punch cards

02:01 延迟线存储器 Delay Line Memory

04:06 磁芯 Magnetic Core Memory

06:08 磁带 Magnetic Tape

07:08 磁鼓 Magnetic Drum Memory

07:43 硬盘 Hard Disk Drives

08:53 内存层次结构 Memory Hierarchy

09:36 软盘 Floppy Disk

10:09 光盘 Compact Disk

10:51 固态硬盘 Solid State Drives

第 20 集:文件系统

00:47 文件格式:可以随便存文件数据,但按格式存会更方便

01:00 TXT 文本文件:ASCII

01:31 WAV 音频文件:每秒上千次的音频采样数字

02:47 BMP 图片文件:像素的红绿蓝 RGB 值

04:43 文件系统:很早期时空间小,整个存储器就像一整个文件。后来随容量增长,多文件非常必要

05:37 目录文件:用来解决多文件问题,存其他文件的信息,比如开头,结尾,创建时间等

06:39 平面文件系统 - Flat File System:文件都在同一个层次,早期空间小,只有十几个文件,平面系统够用

06:57 如果文件紧密的一个个前后排序会造成问题,所以文件系统会: 1. 把空间划分成一块块 2. 文件拆分存在多个块里

08:30 文件的增删改查会不可避免的造成文件散落在各个块里,

如果是磁带这样的存储介质就会造成问题,所以做碎片整理

09:46 分层文件系统 - Hierarchical File System:有不同文件夹,文件夹可以层层嵌套

第21集讲压缩

第 21 集:压缩

00:26 压缩的好处是能存更多文件,传输也更快

01:52 游程编码 Run-Length Encoding

02:45 无损压缩 Lossless compression

03:55 霍夫曼树 Huffman Tree

05:56 "消除冗余"和"用更紧凑的表示方法",这两种方法通常会组合使用

06:07 字典编码 Dictionary coders, 游程编码和 字典编码都是无损压缩

08:03 感知编码 Perceptual coding

08:09 有损压缩 jpeg 格式

09:39 时间冗余 Temporal redundancy

10:30 MPEG-4 视频编码

第 22 集:命令行界面

本集重点:计算机早期同时输入程序和数据(用纸卡/纸带)

运行开始直到结束,中间没有人类进行操作,

原因是计算机很贵,不能等人类慢慢输入,执行完结果打印到纸上 (02:34)

到1950年代,计算机足够便宜+快,人类和计算机交互式操作变得可行

为了让人类输入到计算机,改造之前就有的打字机,变成电传打字机 (02:44~05:38)

到1970年代末,屏幕成本足够低,屏幕代替电传打字机,屏幕成为标配 (07:24)

00:32 人机交互 Human-Computer Interaction

00:50 早期输出数据是打印到纸上,而输入是用纸卡/纸带一次性把程序和数据都给进去

03:00 QWERTY 打字机的发展,克里斯托弗·莱瑟姆·肖尔斯发明于 1868 年

05:38 电传打字机 Teletype machine

06:32 命令行界面 Command line interface

06:38 ls 命令

08:22 早期文字游戏 Zork (1977年)

08:47 cd 命令

第 23 集:屏幕与 2D 图形显示

00:05 PDP-1 计算机。键盘和显示器分开,屏幕显示临时值

01:14 阴极射线管 Cathode Ray Tube (CRT)

01:38 CRT 有两种绘图方式:

矢量扫描 Vector Scanning

光栅扫描 Raster Scanning

02:14 液晶显示器 Liquid Crystal Displays (LCD),像素 (Pixel)

03:32 字符生成器 Character generator

03:45 屏幕缓冲区 Screen buffer

05:09 矢量命令画图

06:34 Sketchpad, 光笔 (Light pen)

09:00 函数画线,矩形

第 24 集:冷战和消费主义

本集重点:冷战导致美国往计算机领域投入大量资源 (00:00~01:43)

范内瓦·布什预见了计算机的潜力,提出假想机器 Memex

帮助建立国家科学基金会,给科学研究提供资金 (01:43~03:43)

1950 年代消费者开始买晶体管设备,收音机大卖

日本取得晶体管授权后,索尼做了晶体管收音机,为日本半导体行业崛起埋下种子 (03:43~04:29)

苏联 1961 年把宇航员加加林送上太空,导致美国提出登月

NASA 预算大大增加,用集成电路来制作登月计算机 (04:29~06:27)

集成电路的发展实际上是由军事应用大大推进的,阿波罗登月毕竟只有 17 次

美国造超级计算机进一步推进集成电路 (04:29~07:11)

美国半导体行业一开始靠政府高利润合同活着,忽略消费者市场,1970年代冷战渐消,行业开始衰败

很多公司倒闭,英特尔转型处理器 (07:11~08:23)

末尾总结:政府和消费者推动了计算机的发展

早期靠政府资金,让技术发展到足够商用,然后消费者购买商用产品继续推动产品发展 (08:23~10:41)

第 25 集:个人计算机革命

本集:全是历史故事

00:18 1970年代初成本下降,个人计算机变得可行

01:51 Altair 8800

02:32 比尔·盖茨和 保罗·艾伦写 BASIC 解释器

03:45 乔布斯提议卖组装好的计算机,Apple-I 诞生

04:40 1977年出现3款开箱即用计算机:

"Apple-II","TRS-80 Model I","Commodore PET 2001"

06:26 IBM 意识到个人计算机市场

IBM PC 发布,采用开放架构,兼容的机器都叫 IBM Compatible (IBM 兼容)

生态系统产生雪球效应:

因为用户多,软硬件开发人员更愿意花精力在这个平台

因为软硬件多,用户也更乐意买 "IBM 兼容" 的计算机

08:44 苹果选封闭架构,一切都自己来,只有苹果在非 "IBM 兼容" 下保持了足够市场份额

第 26 集:图形用户界面 (GUI)

01:10 图形界面先驱:道格拉斯·恩格尔巴特(Douglas Engelbart)

03:20 1970年成立帕洛阿尔托研究中心(Palo Alto Research Center)

03:29 1973年完成 Xerox Alto(施乐奥托) 计算机

04:42 举例:写一个简单的 GUI 程序

06:38 1981年的 Xerox Star system(施乐之星系统)

08:18 史蒂夫·乔布斯去施乐参观

07:45 所见即所得 WYSIWYG

09:15 1983年推出 Apple Lisa

09:31 1984年推出 Macintosh

10:12 1985年推出 Windows 1.0,之后出到 3.1

10:43 1995年推出 Windows 95 提供图形界面

11:08 1995年微软做失败的 Microsoft Bob

第 27 集:3D 图形

01:15 线框渲染 Wireframe Rendering

01:39 正交投影 Orthographic Projection

01:50 透视投射 Perspective Projection

02:14 网格 Mesh

02:37 三角形更常用因为能定义唯一的平面

03:09 扫描线渲染 Scanline Rendering

05:04 遮挡 Occlusion

05:19 画家算法 Painter's Algorithm

06:09 深度缓冲 Z Buffering

07:45 Z Fighting 错误

07:51 背面剔除 Back Face Culling

08:53 表面法线 Surface Normal

09:33 平面着色 Flat Shading

09:43 高洛德着色 Gouraud shading, 冯氏着色 Phong Shading

10:06 纹理映射 Texture Mapping

11:24 图形处理单元 GPU, Graphics Processing Unit

第 28 集:计算机网络

02:05 局域网 Local Area Networks - LAN

02:36 媒体访问控制地址 Media Access Control address - MAC

02:55 载波侦听多路访问 Carrier Sense Multiple Access - CSMA

05:18 指数退避 Exponential Backoff

05:36 冲突域 Collision Domain

07:08 电路交换 Circuit Switching

07:36 报文交换 Message Switching

10:20 分组交换 Packet Switching

第 29 集:互联网

02:23 IP - 互联网协议 - Internet Protocol

03:00 UDP - 用户数据报协议 - User Datagram Protocol

03:41 校验和 - Checksum

05:26 TCP - 传输控制协议 - Transmission Control Protocol

08:21 DNS - 域名系统 - Domain Name System

10:47 OSI - 开放式系统互联通信参考模型 - Open System Interconnection

第 30 集:万维网

01:01 超链接 Hyperlinks

02:20 URL - 统一资源定位器 - Uniform Resource Locator

03:01 HTTP - 超文本传输协议 - HyperText Transfer Protocol

04:13 HTML - 超文本标记语言 - HyperText Markup Language

04:24 写一个简单网页,用到了 <h1> <a> <h2> <ol> <li> 标签

06:04 第一个浏览器和服务器是 Tim Berners-Lee 花了 2 个月在 CERN 写的

06:32 1991年正式发布,万维网就此诞生

07:19 开始讲搜索引擎的故事

07:40 Jerry 和 David 的万维网指南后来改名成 Yahoo

07:52 搜索引擎 JumpStation

09:07 搜索引擎 Google

09:20 网络中立性

第 31 集:计算机安全

01:00 Secrecy, Integrity, Availability

保密性, 完整性, 可用性

01:49 Threat Model 威胁模型

03:14 身份验证 (Authentication) 的三种方式:

What you know, 你知道什么

What you have, 你有什么

What you are, 你是什么

07:34 访问控制 Access Control

08:48 Bell LaPadula model 不能向上读取,不能向下写入

11:00 隔离 Isolation, 沙盒 Sandbox

第 32 集:黑客与攻击

01:28 社会工程学 Social Engineering

01:38 钓鱼 Phishing

02:06 假托 Pretexting

02:50 木马 Trojan Horses

03:32 NAND镜像 NAND Mirroring

04:12 漏洞利用 Exploit

04:16 缓冲区溢出 Buffer Overflow

05:45 边界检查 Bounds Checking

06:16 代码注入 Code Injection

09:32 零日漏洞 Zero Day Vulnerability

09:53 计算机蠕虫 Worms

09:58 僵尸网络 Botnet

10:11 拒绝服务攻击 DDoS

第 33 集:加密

00:16 多层防御 Defence in depth

01:00 加密 - Encryption,解密 - Decryption

01:11 凯撒加密 Caesar cipher

01:27 替换加密 Substitution cipher

01:59 移位加密 Permutation cipher

02:03 列移位加密 Columnar transposition cipher

02:37 德国 Enigma 加密机

04:54 1977年"数据加密标准" - Data Encryption Standard (DES)

05:24 2001年"高级加密标准" - Advanced Encryption Standard (AES)

07:06 密钥交换 - Key exchange

07:33 用颜色来举例"单向函数"和"密钥加密"的原理

08:24 迪菲-赫尔曼密钥交换 - Diffie-Hellman Key Exchange

10:18 非对称加密 - Asymmetric encryption

11:22 非对称加密算法 RSA

第 34 集:机器学习与人工智能

01:23 分类 Classification

01:25 分类器 Classifier

01:34 特征 Feature

02:03 标记数据 Labeled data

02:38 决策边界 Decision boundaries

03:00 混淆矩阵 Confusion matrix

03:39 未标签数据 Unlabeled data

03:49 决策树 Decision tree

04:25 支持向量机 Support Vector Machines

05:52 人工神经网络 Artificial Neural Network

08:34 深度学习 Deep learning

09:21 弱AI, 窄AI Weak AI, Narrow AI

09:43 强AI Strong AI

10:42 强化学习 Reinforcement Learning

第 35 集:计算机视觉

02:41 检测垂直边缘的算法

03:26 核/过滤器 kernel or filter

03:56 卷积 convolution

04:23 Prewitt 算子 Prewitt Operators

05:34 维奥拉·琼斯人脸检测 Viola-Jones Face Detection

05:35 卷积神经网络 Convolutional Neural Networks

07:33 识别出脸之后,可以进一步用其他算法定位面部标志,如眼睛和眉毛具体位置,从而判断心情等信息

08:52 跟踪全身的标记点,如肩部,手臂等

第 36 集:自然语言处理

01:50 词性 Parts of speech

02:15 短语结构规则 Phrase structure rules

02:32 分析树 Parse tree

05:30 语音识别 Speech recognition

07:26 谱图 Spectrogram

07:44 快速傅立叶变换 Fast Fourier Transform

08:42 音素 Phonemes

09:29 语音合成 Speech Synthesis

第 37 集:机器人

02:08 法国吃饭鸭 - Digesting Duck, Canard Digerateur

02:23 土耳其行棋傀儡, 下国际象棋

02:43 第一台计算机控制的机器出现在1940年代晚期,叫数控机器, Computer Numerical Control(CNC)

03:32 1960年 Unimate,第一个商业贩卖的可编程工业机器人

03:47 简单控制回路 simple control loop

04:08 负反馈回路 negative feedback loop

05:17 比例-积分-微分控制器 Proportional–Integral–Derivative controller PID 控制器

10:48 机器人三定律 Three Laws of Robotics

第 38 集:计算机心理学

00:45 我们需要了解人类心理学,做出更好的计算机

01:12 易用度 - Usability

01:31 颜色强度排序和 颜色排序

02:30 分组更好记,电话号码 317-555-3897 比 3175553897 好记

03:25 直观功能 - Affordances

04:33 认出 vs 回想 Recognition vs Recall

05:45 让机器有一定情商以及 Facebook 的研究

08:40 用软件修正注视位置。让视频通话时看起来像盯着对方,而不是盯着下方

09:58 把机器人做的像人,恐怖谷理论

11:35 有很多开放式的问题,心理学帮助我们明白不同选择可能带来的影响

第 39 集:教育科技

02:15 通过调速,暂停等技巧,加强学习效率

03:15 大型开放式在线课程 - Massive Open Online Courses (MOOC)

05:08 智能辅导系统 - Intelligent Tutoring Systems

05:22 判断规则 - Production rule

06:10 域模型 - Domain Model

06:46 贝叶斯知识追踪 Bayesian knowledge tracing

学生已经学会的概率

瞎猜的概率

失误的概率

做题过程中学会的概率

09:27 教育数据挖掘 Educational Data Mining

(完结)第 40 集:奇点,天网,计算机的未来

01:21 普适计算 Ubiquitous Computing

04:55 奇点 Singularity

06:51 把工作分为4个象限,讨论自动化带来的影响

10:15 机器人的存在时间可能长过人类,可以长时间探索宇宙

本页共452段,16004个字符,25539 Byte(字节)