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


(一)导言

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

  • Python只是辅助工具,是辅助大家理解计算机思维,仅此而已

    • 急功近利是人性,适得其反是结果:我们看到有很多讲Python的资料,严格意义上来说,并不是Python入门,只是帮大家找找敲代码的感觉,而已;
  • 讲师太大牌了,主讲人是麻省理工校长 Eric;

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

(二)计算机的发展史

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


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

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

无论我们是说计算机思维也好,Python编程也好,我们能依靠的载体是不是都是计算机,计算机也是我们解决实际问题的工具,那么怎样才能利用好这个工具呢?是不是最大程度的把工具的能力发挥出来;好,要发挥出工具(计算机)最大能力,就要弄清楚2个问题:

第一个问题就是:计算机的能力是什么?

第二个问题就是:我们怎样把计算机的能力充分的发挥出来?

2.1.1 计算机的能力是什么

  • 能力1:计算

  • 能力2:存储

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

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

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

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

    • 虽然我们拥有超快的计算速度,但是面对异常复杂的问题时,单纯蛮力式的进行运算,是不明智的。这时候算法就派上了用场,通过一些巧妙的的算法,我们可以把一个问题简单化,这样运算自然简单了许多。同样的道理,面对复杂的问题,需要存储的内容和数据是巨大的,如何通过巧妙的存储以利于数据的读写,这就是数据结构的内容了。这也是为什么我们一般会把算法和数据结构放在一起讲授,因为它们本来就是一个整体。

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

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

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

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

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

3.1

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

jacky解读麻省理工《计算机科学与Python编程导论》第1集的更多相关文章

  1. (2)麻省理工:计算机科学和 Python 编程导论

    语义描述了我们如何从那些表达式中推导出相关的含义,从而解决我们想解决的问题. 语法描述了如何将合法表达式组合在一起. 我们要选择什么样的编程语言? 1.     不管我们选什么,都有如下过程: 输入信 ...

  2. (1)麻省理工:计算机科学和 Python 编程导论

    本门课用的语言是python2.7,我的主要学习语言是C++11,所以不是特殊说明,则认为和C++中的是一样的(不管是语法还是表达式),当然,也有我不懂而错认为与C++一样的东西~ Week1 第一讲 ...

  3. Python编程导论第2版|百度网盘免费下载|新手学习

    点击下方即可免费下载 百度网盘免费下载:Python编程导论第2版 提取码:18g5 豆瓣评论: 介绍: 本书基于MIT 编程思维培训讲义写成,主要目标在于帮助读者掌握并熟练使用各种计算技术,具备用计 ...

  4. MIT 计算机科学及编程导论 Python 笔记 1

    计算机科学及编程导论在 MIT 的课程编号是 6.00.1,是计算机科学及工程学院的经典课程.之前,课程一直使用 Scheme 作为教学语言,不过由于 Python 简单.易学等原因,近年来已经改用 ...

  5. (麻省理工免费课程)C语言内存管理和C++面向对象编程

    此课程有全部讲义和习题. 课程描述实在得令人发指.翻译如下: 您是否由于自己的Python程序比同僚们的C程序慢而垂头丧气?你是否想不用JAVA实现面向对象?加入我们,学习C和C++吧!我们带您从简单 ...

  6. 麻省理工《C内存管理和C++面向对象编程》笔记---第一讲:认识C和内存管理

    最近一年都在用.net和Java,现在需要用C了.昨天看到博客园首页的麻省理工开放课程,就找来看看,正好复习一下.这门<C内存管理和C++面向对象编程>不是那种上来就变量,循环的千篇一律的 ...

  7. python编程入门之简介

    引用百度百科: Python是一种面向对象.直译式计算机程序设计语言,由荷兰人Guido van Rossum发明于1989年,1991年发行第一个公开发行版.它常被昵称为胶水语言,它能够很轻松的把用 ...

  8. Linux运维人员如何学习python编程

    Linux运维人员如何学习python编程 从不会写代码,到自己独立能写代码解决问题 .这个问题很重要!盲目学习所谓的项目,最后 还是不会自己写代码解决问题.首先解决了独立能写代码解决问题,再通过项目 ...

  9. Python 编程规范-----转载

    Python编程规范及性能优化 Ptyhon编程规范 编码 所有的 Python 脚本文件都应在文件头标上 # -*- coding:utf-8 -*- .设置编辑器,默认保存为 utf-8 格式. ...

随机推荐

  1. (十六)Hibernate中的延迟加载

    一.什么是延迟加载 为了节省Hibernate加载对象的性能节销,在Hibernate中真正需要用到这个对象时,才会发出        SQL语句来抓取这个对象.这一个过程称为延迟加载. 二.延迟加载 ...

  2. Java Web 深入分析(4) Java IO 深入分析

    I/O问题可以说是现在海量数据时代下 ,I/O大部分web系统的瓶颈.我们要了解的java I/O(后面简称为(IO)) IO类库的基本结构 磁盘IO的工作机制 网络IO的工作机制 NIO的工作方式 ...

  3. java集合的作用

    从架构的方面来理解,可能稍微容易一点.在编程中,需要管理很多对象集.比如某班全部同学,某个公司所有人员资料等.要管理这些资料,java必须提供某种数据结构支持.由于时间,空间,安全的考虑,有各种不同的 ...

  4. 关于jQuery的源码学习

    注:该思维学习自另一个博客:https://blog.csdn.net/software0017/article/details/80317348 以下为我自己总结的jQuery结构:

  5. 深度学习_1_Tensorflow_2_数据_文件读取

    tensorflow 数据读取 队列和线程 文件读取, 图片处理 问题:大文件读取,读取速度, 在tensorflow中真正的多线程 子线程读取数据 向队列放数据(如每次100个),主线程学习,不用全 ...

  6. 为什么JAVA线程中没有Running状态?

    面试官问:为什么 Java 线程没有 Running 状态?我懵了 —— 转  芋道源码 什么是 RUNNABLE? 与传统的ready状态的区别 与传统的running状态的区别 当I/O阻塞时 如 ...

  7. CSS复合选择器和div盒子模型

    一.复合选择器(3种) 1.交集复合选择器 特点:由2个选择器组成,其中第一个必须是标签选择器,第二个是类或id选择器.两个选择器之间没有空格(有空格属于层级选择器) <h3 class=&qu ...

  8. 用js刷剑指offer(合并两个排序的链表)

    题目描述 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则. 牛客网链接 js代码 /*function ListNode(x){ this.val = x; ...

  9. Codeforces 1187 F - Expected Square Beauty

    F - Expected Square Beauty 思路:https://codeforces.com/blog/entry/68111 代码: #pragma GCC optimize(2) #p ...

  10. Paper Reading:个性化推荐系统的研究进展

    论文:个性化推荐系统的研究进展 发表时间:2009 发表作者:刘建国,周涛,汪秉宏 论文链接:论文链接 本文发表在2009,对经典个性化推荐算法做了基本的介绍,是非常好的一篇中文推荐系统方面的文章. ...