每次跟人解释“为何要学编程”的时候,我都会搬出乔布斯,乔老爷的那段名言“我认为每个人都应该学习编程….因为能够教会你如何思考”。
美国有个公益性质的编程学习网站叫做Code.org,他们早在2013年就拍摄一部宣传片“What Most School Don’t Teach”(大多数学校都不会教的东西),在这部公益宣传片里,集结了世界上数位顶尖科技公司的大佬,其中包括,Facebook创始人马克 扎克伯格,微软创始人–比尔盖茨等。他们拍摄此短片只有一个目的,为学习编程打call,而影片的开头便是已故乔老爷的那段采访“每个人都应该学习编程”。
“人人学编程”的观点
报告还指出,在2014年的美国本科毕业生中,平均100个毕业生里,仅有2个半是计算机相关专业的毕业生。为何即使在美国这么一个科技如此发达的社会,也只有那么少的人在学习计算机呢?
原因其实很简单,因为在K-12阶段,这些学生根本没机会接触到编程和计算机科学的相关知识,那又怎么会去选择计算机相关的专业(其实这个现象,在中国更普遍,读大学之前,我们可能连专业的名称都未曾听过)。
因此,在报告的结尾,Code.org提出,社会应该为K-12阶段学生提供计算机科学的相关课程,并且他们表示,90%的家长们都认同他们的提议(依据Code.org上的数据调查)。
过去,你离不开写作,未来,你也逃不了编程
一位好的读者总是能够在阅读的时,将书中的文字在脑海中变成一幅幅生动的画面。但是,反过来,让他们用文字将脑海中的想法(思维)记录下来,却不是一件容易的事,很多人都会词不达意或缺东少西,不能将脑海中的想法完整的表达出来。为什么呢?因为,文字是抽象的,思维也是,将一个抽象的东西,转换成另外一个抽象的东西,本身就很难。
然而,学习编程却能够提供给孩子们这么一个机会,让孩子们能够将脑海中的想法(思维)可视化,将“想法(思维)”转换成一张张有形态、有动作的画面。这样,便为孩子们搭建了一个桥梁,让孩子们能够将抽象的“思维”成了有模有样的画面。
玩编程,能够帮助孩子保持创造力,且不用担心犯错。在编程过程中,当一件事情行不通的时候,孩子们会去分析,到底是哪里行不通,为什么行不通,然后再去做调整,把问题解决了。玩编程,没有唯一答案,能解决问题的程序都是好程序,所以不用担心犯错。
当你想教孩子们解决这些“应用题”时,你必须让孩子们理解,我们的大脑是如何运作的。其实,我们的大脑就是一台超级计算机,当有一个问题被大脑接收时,首先,我们会将这个问题拆解成一些小问题(Decomposition 分解),然后识别这些小问题,并找出解决这些问题的步骤(算法&流程),执行这些步骤(Data Collection数据采集),分析结果(Data Analysis 数据分析),最后判断结果是否符合预期(Data Representation & Abstraction 数据呈现与提炼)。
运用计算思维,帮助孩子理解应用题,只是“计算思维”的一个小应用。我们活在这个世界,总会遇到不同的难题,但是有了正确的思维模式,我们便能够找到正确解决方案,借助技术的力量解决问题。
周以真教授是这样定义计算思维的——计算思维实际上是一个思维的过程。计算性思维能够将一个问题清晰、抽象地描述出来,并将问题的解决方案表示为一个信息处理的流程。因此,当我将大脑看成一台超级信息处理器时,我们会发现运用“计算思维”能帮助我们解决很多问题。
随着科技的进步,沟通与协作的形式,已经日新月异。现在,借助网络,我们可以和世界上任何一个人进行沟通与协作。IT技术的进步,把我们推进了一个需要协作与快速反馈的时代,在这个时代里,计算思维是劳动者必须要掌握的技能,而学习编程则是形成计算思维的最佳方式。
创造力和批判性思维贯穿了每个年龄阶段coder(编程的人)的编程过程,掌握了编程这么工具,就像是掌握了数字世界的画笔,学习者不再是数字产品的消费者,而是数字内容的创造者。当我们在消费某些内容时(例如使用手机APP),我们能学到的仅仅是“what”和“How”,只知其然,而不知其所以然。而当我们开始创造这些内容的时,我们便会深入地去了解“Why”。
就是培养“创造力”与建立“批判性思维”的过程。
所以编程不仅仅能够在虚拟世界中进行创造,更能够改进我们的真实世界。当我们将学校与真实世界的界限变得模糊时,我们应该鼓励孩子们去发现问题,探索问题的原因,并鼓励他们去寻找解决问题的方法。
很多人认为,想要有所“作为”是一件很容易的事情,他们认为只要作起来了,便是有作为。但是,我们仔细想想,“作为”的动力是什么?——是为何我们要做这件事。假如我们想让孩子们在这个世界上有所作为,那么我们应该让他们明白,做一件事情的动力并不源自于老师或家长的命令,而是源自于自己内心的独立思考。而掌握编程这项技能,就掌握了解决问题的能力,让孩子们能够在真实的世界中有所作为。
参考文献:Heidi Williams 《NO FEAR CODING》
未经允许不得转载:创客探索 » 为何要在小学阶段开展编程教育?