jacky解读麻省理工《计算机科学与Python编程导论》第1集

文:@数据分析-jacky(朱元禄)web


(一)导言

  • 本课程讲的中心思想就是五个字:计算机思惟算法

  • Python只是辅助工具,是辅助你们理解计算机思惟,仅此而已编程

    • 急功近利是人性,拔苗助长是结果:咱们看到有不少讲Python的资料,严格意义上来讲,并非Python入门,只是帮你们找找敲代码的感受,而已;
  • 讲师太大牌了,主讲人是麻省理工校长 Eric;数据结构

  • 本系统课程的坑:大神知识渊博,喜欢旁征博引,不免一讲嗨,一些辅助的知识点风头会盖过主线,致使主线不是那么清晰,这就须要你们多捋顺主线逻辑,有主次的学习;编程语言

(二)计算机的发展史

在大牌的讲师,要系统的讲述一个课程,也都要从历史开始讲,这是必然的svg


关于计算机历史的逻辑线,Eric并无像普通教授那样照本宣科按照时间年限开始讲,而是从计算机的两大能力展开的,把握住这个逻辑,咱们就能够听明白第二部分了;工具

2.1 逻辑线的展开-计算机的两大能力

不管咱们是说计算机思惟也好,Python编程也好,咱们能依靠的载体是否是都是计算机,计算机也是咱们解决实际问题的工具,那么怎样才能利用好这个工具呢?是否是最大程度的把工具的能力发挥出来;好,要发挥出工具(计算机)最大能力,就要弄清楚2个问题:
第一个问题就是:计算机的能力是什么?
第二个问题就是:咱们怎样把计算机的能力充分的发挥出来?学习

2.1.1 计算机的能力是什么

  • 能力1:计算优化

  • 能力2:存储xml

    • 计算机所具备的两个根本特性——超快的计算速度和超大的内存。计算机拥有的计算速度,能够达到每秒钟十亿次,与此同时,相较与须要存储的内容而言,计算机具备近乎无限的存储空间。正是由于在这两个惊人特性的组合,便赋予计算机强大的功能。

2.1.2 如何充分发挥计算机的能力

  • (1)用算法将计算能力发挥到极致

  • (2)用数据结构将存储能力发挥到极致

    • 虽然咱们拥有超快的计算速度,可是面对异常复杂的问题时,单纯蛮力式的进行运算,是不明智的。这时候算法就派上了用场,经过一些巧妙的的算法,咱们能够把一个问题简单化,这样运算天然简单了许多。一样的道理,面对复杂的问题,须要存储的内容和数据是巨大的,如何经过巧妙的存储以利于数据的读写,这就是数据结构的内容了。这也是为何咱们通常会把算法和数据结构放在一块儿讲授,由于它们原本就是一个总体。

2.2 计算机的发展史就是计算和存储能力的发展史

  • (1)第一阶段:固定程序计算机-为算法制造的机器

    • 说白了就是只能解决特定问题的计算机,好比说咱们最多见的计算器,固然Eric教授用他深厚的内功给咱们举了不少例子,告诉咱们什么一样也是固定计算机,好比专门解决线性问题的Atanasoff计算机(1941),二战时期专门破译代码的bombe计算机,
  • (2)第二阶段:存储程序计算机-既能计算又能存储的计算机

(三)编程语言只是工具,而已

为了说明这个问题,Eric从下面几个方面展开,其实都是为了说明,Python只是一个工具,他真正要教授的是编程思惟;

3.1

计算思惟的过程,归纳起来主要有四个内容——抽象、可计算、运行、优化。 具体说来,面对一个问题的时候,先利用抽象能力,找到问题的本质,随后将其转换为可计算的内容来运行获得结果,可是到这一步并未结束,在获得结果后咱们还有对其进行优化,以获得更好的结果,并且这个优化过程是往复屡次的。

相关文章
相关标签/搜索