学员信息
- 学号:1901020043
- 学习内容:MIT 6.0001 LECTURE 1 +Python 编程导论(第2版)(第1章+第2章的2.1)
- 学习用时:4小时
学习笔记
收获总结:
Computers only know what you tell them. Computers only do what you tell them to do.
计算机能且只能做两件事——执行计算与保存计算结果(perform calculations and remember results),但它把这两件事做到极致。
计算机思维:
七种关系:1.大和小 2.快和慢 3.多维度和单一维度 4.网络和个体 5.自顶向下和自底向上 6.全局和局部 7.成本和表现
两个原则:1.等价性原则 2.模块化原则 ——(吴军的谷歌方法论)
算法:是一个有穷指令序列,描述了这样一种计算过程,即在给定的输入集合中执行时,会按照一系列定义明确的状态进行,最终产生一个输出结果。(简单步骤,控制流,何时结束)
通用图灵机:可以接受任意一个图灵机 M 的编码
,然后模拟 M 的运作。 邱奇-图灵论题:任何在算法上可计算的问题同样可由图灵机计算。(如果一个函数是可计算的,那么一定可以通过对图灵机进行编程实现这种计算。)
停机问题:是否存在一个程序P,对于任意输入的程序w,能够判断w会在有限时间内结束或者死循环。
图灵完备性:在可计算性理论里,如果一系列操作数据的规则(如指令集、编程语言、细胞自动机)可以用来模拟单带图灵机,那么它是图灵完备的。图灵完全性通常指“具有无限存储能力的通用物理机器或编程语言”,所有现代编程语言都是图灵完备的。
每种编程语言都有基本结构、语法、静态语义和语义。
Python的基本结构包括字面量和中缀操作符;语法定义了字符和符号组成句子的正确形式;静态语义定义了哪些语法有效的句子是有意义的;语义为每个语法正确又没有静态语义错误的句子关联一个含义。
程序如果没有正确运行,就应该表现出明显的错误。只要有可能,我们都应该以这种方式编写程序。
对象是Python程序处理的核心元素。Python有4类标量对象:int,float,bool,None
在Python中,变量仅是名称,没有其他意义(非常重要)。变量名可以包含大写字母、小写字母、数字(不能以数字开头)和特殊字符_,变量名称大小写敏感,保留字不能做变量名。
恰当的选择变量名和添加注释是提高程序可读性的好方法。
总结:看英文字幕虽然很难但是不会像中文字幕令人不舒服;明确计算机的边界,能做什么,不能做什么;学习计算机思维的相关知识很重要,得到有很多文章讲解,应该再看一些相关书籍;个人偏好一些概念的认真理解,会额外耗费很多时间,是否有用在以后的学习中会验证;养成好的编程习惯,先从变量名和注释开始;多输入代码,刻意练习的技巧可以考虑如何用在这里。
遇到的难点与问题(是否解决):对停机问题的理解还不够,先放放,过一周再看。