届奥斯卡最佳纪录片《徒手攀岩》,推荐大家看无字幕原版或者纯英文字幕版。
很多时候,人们都高估了一天能做的事情,但低估了一年能做的事情: 每天进步一点点:1.01^365 = 37.78 每天堕落一点点:0.99^365 = 0.0255
现在的孩子大多一直生活在一个宽松、丰富多彩的成长环境下,钢琴、围棋、机器人、网球、滑雪这些孩子们爱学爱玩的项目,但这里面有一个很大的问题,也是现在孩子的通病:什么都玩一下,兴趣广泛,但对哪个都不通。不通非常致命,因为不通孩子就无法建立自信,没有自信就容易躲避困难,然后又更不自信,如此恶性循环。没有自信作为基础,孩子很难充分发挥自己的能力,形成自己的特长。所以说从小能有一个特长,有一个专注的、足够突出的拿手项目,对孩子的发展非常重要。
什么是计算机程序设计(What)
什么是编程
很简单,编程(programming)就是告诉计算机要做什么。计算机只是一些没有生命的机器,它们自己可不知道该做什么,一切都得你来告诉它,而且你还必须把细节都说清楚。不过不要忘了,一定要自己动手试一试,如果只是纸上谈兵,只看不做,你就无法感受到程序成功运行那一刻的快乐和成就感。
什么是算法
算法就是计算或者解决问题的步骤。我们可以把它想象成食谱。要想做出特定的料理,就要遵循食谱上的步骤;同理,要想用计算机解决特定的问题,就要遵循算法。这里所说的特定问题多种多样,比如“将随意排列的数字按从小到大的顺序重新排列”,“寻找出发点到目的地的最短路径”,等等。
什么是编程语言
所有计算机在内部都使用二进制。不过大多数人都不擅长使用这种语言。我们需要一种更简便的方法来告诉计算机要做什么。所以人们发明了编程语言。利用计算机编程语言,我们可以先用一种自己能理解的方式写程序,然后再把它翻译成二进制供计算机使用。
集中常见的编程语言:
- C适于快而小的程序,但不支持面向对象的编程;
- C++完全支持面向对象,但是非常复杂;
- VisualBasic与Delphi易学,但不可移植且有专利权;
- Java有很多简洁的功能,但是慢;
- 等等。
Python
对于初学者而言是一种简单的语言。因为很少强调语法,Python是一种代表简单主义思想的语言。阅读一个良好的Python程序就感觉像是在读英语一样。它使你能够专注于解决问题而不是去搞明白语言本身。
我们的课程会使用 Python 语言,不过你在这里学到的有关编程的大多数内容也适用于所有计算机语言。学习用 Python 编程可以让你有一个很好的起点,有了这个基础,将来学习任何其他语言都会很轻松。
不过无论如何,努力和坚持是最重要的。
为什么学习计算机编程(Why)
锻炼思维能力
现在的孩子有一个特点,就是非常聪明、精力旺盛。这个时候如果不能给他一个有乐趣、有难度的事,他的发展节奏就会被破坏,天赋就会被浪费。对于数理感觉比较好的孩子,编程其实是个非常好的选项。这里有创造、逻辑、条理、推理、计算,可以充分锻炼孩子。
计算机科学对孩子智力发展的推动作用是十分明显的。现在,计算机科学已经不再是一门单独的学科,它不仅融合了各个学科发展的前进方向,也是各个学科研究的持续动力。此外,它对孩子的程序设计教育、数理逻辑培养、探究精神和创造性思维的培养,都是大有裨益的。
人类的思维模式可能比较神秘,但机器的思维模式是清晰的,比如常见语言结构包括变量、循环、函数等等,与人类完全不同。因此,与机器对话,需要把人类的需求,转换成机器可以理解的这些结构,中间的转换很多时候并不容易。人类话语中的小小的变动,都会导致最后编程实现的巨大不同。
与机器“交流”
21世纪与其说是生物的世纪,不如说是机器的世纪。机器与算法已经占据了我们生活的方方面面。我们信息换获取来源不再来自于人工编辑的报纸,而是来自于搜索和推荐系统。我们购物的渠道也从线下的人工商店转换成了线上的自助服务。当人类社会积累的知识和行为都变成数据,慢慢地积累在一台台服务器上,能够与机器熟练交流的人,就是掌握先进生产力的人,就是能够引领时代潮流的人。而与机器交流的语言,就是编程,就是写代码。
精确沟通
沟通精确,无歧义。计算机都低到上都是有明确而简单的规则组成的,比如现代计算机的冯诺依曼体系,其背后就是图灵机。图灵机的原理并不复杂,但是表达能力却极强。
因为精确,所以与机器交流的语言,也容不得半点的错误。所有与机器的语言表达,都是直面上的意思,也没有意会一说。说清楚了,才会得到想要的结果,而如果得到的结果不如预期,那一定是没有说清楚,代码写错了。
吾日三省吾己
程序本身是精确的,如果得到的结果不是预期,那一定是自己写错了。写程序的一半时间都在 debug,而 debug 的时候内心满满的都是“我哪里又错了”,“OMG,这么简单的错误我都没注意到。”这种长时间自我反思的状态,也会影响到生活,改变工作以外的思维方式。
培养学习能力
计算机编程是一种培养孩子学习能力的有力工具,学习编程的孩子会把这种能力也运用到其他东西的学习中。
- 培养思维模式
- 引导游戏瘾
- 掌握一门技术
- 培养编程兴趣
如何学习计算机编程(How)
简单的说:用 Python 语言结合相应的算法解决具体的问题。
这里明确了三个要点:
- 学习使用 Python 语言
- 了解算法,并用 Python 实现
- 用 Python 和算法,解决实际问题
准备工作
- 报名参加本课程 :)
- 一台计算机(Windows 或者 Mac),安装 Python
- 使用计算机的一些基本知识(开机,启动程序,保存文件等)
- 渴望学习和尝试新事物,尽管需要多次尝试也不会轻易放弃的个性。
学习要点
- 验证例子。(运行老师提供的程序,改变输入参数,验证输出结果)
- 输入程序。(动手输入老师提供的程序)
- 做习题。(自己编写,或者寻求帮助)
- 别担心,放松点。(犯错,搞清楚怎么找出错误并改正,是最好的一种学习方法)
安装 Python3
IDLE 是一个 Python shell。shell 的意思就是“外壳”,基本说来,这是一个通过键入文本与程序交互的途径,可以利用这个 shell 与 Python 交互。
是 Python 提示符(prompt)。提示符是程序等待你键入信息时显示的符号。这个 >>> 提示符就是在告诉你,Python 已经准备好了,在等着你键入 Python 指令。