麻省理工公开课《计算机科学及编程导论》中文笔记(第1讲)

Python Django QQ学习群:139220186 ,欢迎各位加入,一起学习。



麻省理工公开课《计算机科学及编程导论》中文笔记(第1讲) by易枭寒
说明:本文由@易枭寒(Email:yixiaohan121318@gmail.com   QQ:499065469)整理,转载请注明出处,和作者信息。

土豆观看地址:点击打开链接



课程主旨:帮助人们学习和了解计算机科学

课程目标:

教学战略目标:

 1、帮助大一、大二学生入门。(本课程要求:零基础,没有任何编程经验

 2、培养学生读、写小段代码的信心和能力。

 3、理解计算科在解决技术问题中,能够和不能胜任的角色。

 4、培养学生学以致用,将所学知识运用到工作或暑期兼职中的能力。


教学策略目标:

 1、使用计算式思维的基本工具,写一些小规模程序。

 2、理解他人所写的代码。

 3、计算科学的功能和局限性及代价。

 4、掌握如何将科学问题转换到计算机科学上(即描述实际问题,并将其转换为计算机语言)。


 总结:计算式思维能力。读代码、写代码。计算机能做什么,不能做什么。其他领域的问题,描述清楚,然后转换成计算机语言。


课程使用语言:Python(请自行 Google 下载安装 Python ,安装完,运行 Python交互式解释器 Python Shell 即 Python GUI,在Python Shell中写下图片中的代码,具体代码见文章末尾附录

      注:>>>提示符的意思是,解释器让你输入一些东西。



计算式思维能力:

 知识分为两类:

   1、陈述性知识:事实的陈述。如,y是x的平方根,当y的平方等于x且y为正

   2、过程性知识:对推导过程的描述。猜测、判别、返回结果。重复这些步骤。即,如何做。


类比:食谱。原材料一步步组织,最好成为美味大餐。



计算机发展史:

 1、固定程序计算机,只能做算术运算

 2、存储程序计算机,给其指令,机器内部进行处理。

    存储程序计算机内部组成:控制单元、算术逻辑单元ALU、内存、计数器PC


程序:简单说,就是计算机内部的一连串指令的集合。     


关于语言之争:没有最好的语言,语言只是工具,适合自己理解,解决问题即可


语言的分类:

 1、第一个维度:语言是高级语言还是低级语言;

    低级语言:例如,汇编语言,其基本指令的层次还停留在将信息从内存的一出移动到另一处。

    高级语言:设计者提供了大量的基本指令集


 2、第二个维度:语言是广泛用途还是特定用途。例如,MATLAB就是特定用途的,只处理矩阵向量。


 3、第三个维度:语言是解释型还是编译型

         1、解释型语言,解释器在运行时是直接处理代码的。

            解释型语言便于调试,因为处理的是原始代码,速度相对慢。


         2、编译型语言,写完源码后,首先送入到编译器中,产生目标代码,然后再执行目标代码。

            编译型语言有两个好处:一、帮助寻找代码的bug。二、在执行之前,将代码转化为更高效的指令。

            编译型语言执行较快,但不便于调试。


区分语法和语义

    语法:用来描述语言中什么表述是合法的。

    语义:用合法的语言构筑内容,分为静态语义和完整语义。

          静态语义,表示什么程序是有意义的。代码是有实际意义的。

          完整语义,即程序想达到什么目的。(运行程序会达到什么效果。)



语法用来描述语言中,什么表述是合法的


再次提醒:本课程目标是计算式思维,我们的目标是通过基本指令集合,构筑复杂的程序,

         然后再将程序抽象为基本指令,我们希望通过在控制中运行一连串指令,从而得          到我们想要的结果,这就是我们讨论的过程性知识。


要讲编程,首先要讲值和基本数据类型


Python中的值:数字和字符串(最基本的两种)

             数字:整数,例如1,2,3,4。符点数,例如1.0,2.1,3.2,4.3

             字符串:在Python中字符串,用单引号、或双引号括起来。

 


expression 表达式:Python中的表达式是运算对象、运算符、运算对象。例如:1 + 2 。 操作对象 操作符 操作对象。

运算符(操作符)加(+),减(-),乘(*),除以(/),取模(%),幂(**)

 

变量,绑定值。

mystring = 'Hello World'

print mystring

将字符串联 'Hello World'赋值给mystring这个变量名。或者说将字符串联 'Hello World'绑定到 mystring 这个变量名上。

---------------以上文字由  @易枭寒 (yixiaohan121318@gmail.com根据视频资料进行的手工整理。----------

附录:具体代码
Python 2.7.3 (default, Apr 10 2012, 23:24:47) [MSC v.1500 64 bit (AMD64)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> print 'Hello World'
Hello World
>>> 1 + 1
2
>>> 2 - 1
1
>>> 2 * 3
6
>>> 1 / 2
0
>>> 1.0 / 2.0
0.5
>>> 1.0 / 2
0.5
>>> 1 / 2.0
0.5
>>> 1 // 2
0
>>> 1.0 // 2.0
0.0
>>> 10 / 3
3
>>> 10 % 3
1
>>> 2 ** 3
8
>>> -3 ** 2
-9
>>> (-3) ** 2
9
>>> mystring = 'Hello World'
>>>print mystring 
Hello World
以上文字由   @易枭寒 (yixiaohan121318@gmail.com 根据视频资料进行的手工整理,转载请注明出处和作者信息。














  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值