共有 17 篇文章
CSCC16 - 其他 2
2022-08-29 - 2023-02-28

好吧,内容不少,为了后续插入图片之后 ,页面太大,我们这里拆分到两个页面中。

CSCC15 - 其他 1
2022-08-26 - 2023-02-28

后续章节为概念性章节,统一汇总在该章节内。

CSCC14 - 数据结构
2022-08-26 - 2023-02-28

i.e. Data Structures

上集讲了一些经典算法,比如给数组排序,找图的最短路径,而上集没讲的是 算法处理的数据 存在内存里的格式是什么。

你肯定不想数据像 John Green 的大学宿舍一样乱 ,到处都是食物,衣服和纸,我们希望数据是结构化的,方便读取,因此计算机科学家发明了 “数据结构”!

CSCC13 - 算法入门
2022-08-26 - 2023-05-08

i.e. Intro to Algorithms

前两集,我们"初尝"了高级编程语言(比如 Python 和 Java),我们讨论了几种语句 - 赋值语句,if 语句,循环语句,以及把代码打包成 “函数”,比如算指数。重要的是,之前写的指数函数只是无数解决方案的一种,还有其它方案 - 用不同顺序写不同语句,也能得到一样结果。

不同的是"算法",意思是:解决问题的具体步骤,即使结果一致,有些算法会更好。 一般来说,所需步骤越少越好,不过有时我们也会关心其他因素,比如占多少内存。

“算法” 一词来自 波斯博识者 阿尔·花拉子密, 1000 多年前的代数之父之一 ,如何想出高效算法 - 是早在计算机出现前就有的问题,诞生了专门研究计算的领域,然后发展成一门现代学科。

你猜对了!计算机科学!

CSCC12 - 编程原理-语句和函数
2022-08-26 - 2023-05-08

i.e. Programming Basics - Statements & Functions

上集讲到用机器码写程序,还要处理那么多底层细节,对写大型程序是个巨大障碍。为了脱离底层细节,开发了编程语言,让程序员专心解决问题,不用管硬件细节。

= 底层各类太多了,编写麻烦,调试麻烦,改动麻烦……*

CSCC11 - 编程语言发展史
2022-08-26 - 2023-05-08

i.e. The First Programming Languages

之前我们把重点放在硬件 - 组成计算机的物理组件,比如电,电路,寄存器,RAM,ALU,CPU ,但在硬件层面编程非常麻烦。

所以程序员想要一种更通用的方法编程 - 一种"更软的"媒介。

没错,我们要讲软件!

CSCC10 - 早期的编程方式
2022-08-26 - 2023-02-28

i.e. Early Programming

前几集我们把重点放在计算机的原理,怎么从内存读写数据,执行操作,比如把两个数字加在一起,还简单讲了下指令的执行,也就是计算机程序。

但我们还没讲的是:程序如何"进入"计算机。你应该记得在第 7, 8 集,我们一步步讲了例子程序,当时为了简单,我们假设程序已经魔法般在内存里了,但事实是,程序需要加载进内存,这不是魔法,是计算机科学!

CSCC09 - 高级 CPU 设计
2022-08-26 - 2023-02-28

i.e. Advanced CPU Designs

随着本系列进展,我们知道计算机进步巨大,从 1 秒 1 次运算,到现在有千赫甚至兆赫的 CPU ,你现在看视频的设备八成也有 GHz 速度 ,1 秒十亿条指令 ,这是很大的计算量!

早期计算机的提速方式是减少晶体管的切换时间 ,晶体管组成了逻辑门,ALU 以及前几集的其他组件,但这种提速方法最终会碰到瓶颈,所以处理器厂商发明各种新技术来提升性能,不但让简单指令运行更快,也让它能进行更复杂的运算。

CSCC08 - 指令和程序
2022-08-26 - 2023-02-28

i.e. Instructions & Programs

上集我们把 ALU, 控制单元,RAM, 时钟 结合在一起,做了个基本,但可用的"中央处理单元", 简称 CPU ,它是计算机的核心。

我们已经用电路做了很多组件,这次我们给 CPU 一些指令来运行! CPU 之所以强大,是因为它是可编程的(programmable)- 如果写入不同指令,就会执行不同任务。CPU 是一块硬件,可以被软件控制!

CSCC07 - 中央处理器
2022-08-26 - 2023-05-08

i.e. The Central Processing Unit(CPU)

今天我们讲 处理器(processors),提示下 - 这集可能是最难的一集,所以一旦你理解了,就会变得超厉害 der~ 😈

我们已经做了一个算术逻辑单元(ALU,Arithmetic and Logic Unit),输入二进制,它会执行计算。我们还做了两种内存:寄存器(Registers) - 很小的一块内存,能存一个值;之后我们增大做出了 RAM ,RAM 是一大块内存,能在不同地址存大量数字。 现在是时候把这些放在一起,组建计算机的 “心脏” 了,但这个 “心脏” 不会有任何包袱,比如人类情感。

= 这一部分的描述真好,对上个章节的迷惑内容做了一个很不错的总结!*

CSCC06 - 寄存器 & 内存
2022-08-25 - 2023-05-08

i.e. Registers and RAM

上集,我们用逻辑门做了个简单 ALU,它能执行算术 (Arithmetic) 和逻辑 (Logic) 运算 ,ALU 里的 A 和 L 因此得名。当然,算出来之后如果扔掉就没什么意义了,得找个方法存起来,可能还要进行多个连续操作,这就用到计算机内存了。

= 算出来,存起来。

如果你在主机上打过一场长时间的对局,或玩困难模式的 “扫雷”(Minesweeper),然后狗跑过来,被电源线绊倒,把插头拔了出来,你知道失去进度的痛苦 😈 真同情你 :(