Notes for Computer Science of Khan Academy

可汗学院里,Computing板块的内容大致分为:计算机科学原理信息理论(information theory)互联网(Internet)、数据分析(analysis)、编程(programming)算法(algorithm)、密码学(cryptography)+信息安全(security)。

各部分之间会有一定概念是重合的。

大部分都属于理论讲解,而“编程”属于实践,包括编程语言:JS、HTML、CSS、SQL,基本都是搭建网络的前端项目(HTML+CSS、HTML+JS)。

理论类的当然是比实践类的要有趣很多。

1. 先看的AP课程里的digital information,这部分讲了二进制(binary)、编码/信息存储、压缩(compression)。虽然不是第一次学习“压缩”了,但是还是觉得很有趣,和以前看的汉明码也有关,不由地佩服人类在这些微小细节上的简单智慧。

2. 接着看了computer & Internet,这部分和高中学的差不多,主要讲了各种protocol的出现与功能,看的时候和现在的快递系统做了一个对比,感受到了系统化思维的重要性。顺便感慨一下美国普通人对于网络的概念理解非常奇异。

3. 然后是编程基础。这块比较杂,包含了伪代码(pseudocode,作为教学和演示工具)、变量(variable)、字符串(string)、列表(list)、条件句(if等)、逻辑运算、程序(procedure,也讲了参数)等。总体来说都是老熟人了,没啥感觉。

4. 算法部分比高中时期学的更基础(fundamental),讲了算法的有效性和高效性、启发式、不可解问题/停机问题、并行与分布式计算等。有点哲学的那种烧脑。看的时候拉上了自己的学生,所以整个复习过程非常愉快。

不过可汗有两个不同的算法板块,我只看了其中一个,还有一个更加具体,会讲二分法(binary search)、渐近(asymptotic notation)、排序(sort,选择、冒泡、快速)、递归(recursive algorithm)、广度优先(breadth-first search)等,几乎都是高中接触过的,算是应用数学范畴的了。不过由于现在在学习软工,以使用工具为主,就先暂时放下,等有空再复习。

5. 现在正在看information theory,也是会让人产生“理念的世界好神奇”想法的。这部分百分之九十都是视频还挺容易卡的,但是B站的相关视频真的是点开就让人犯困了,可汗学院的从历史开始讲起就比较吸引人。

TBC

p.s. B站上的搬运是通过python切入的代码学习,确实会更方便理解,毕竟是更接近自然语言的机器语言,不过还是要注意避免染上不严谨的毛病。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值