当前位置:首页 > 科学研究 > 电子编程 > 正文内容

编程思维|锻炼孩子的逻辑思维

RonWang7年前 (2018-10-05)电子编程1394

自然语言(人类的语言)和计算机语言之间有许多相似之处,学习计算机语言类似于学习一门外语语法。 计算机编程或者算法的难点和意义是,是编程思维和解决问题能力。

程序设计早已不是程序员们独有的技术活了,很多国家在小学阶段就引进甚至普及编程课:

2012年爱沙尼亚宣布为所有入学儿童引入计算机编程课程,成为全球首个让小学生学习编程的国家。

2014年英国在教育制度改革中规定5岁以上的学生都必须修读一门课程,那就是电脑程序编写。

2016年芬兰成为继爱沙尼亚和英语之后,第三个将编程纳入小学生教学大纲的国家。

在科技中心美国,虽然没有把编程列为小学必修课,但是连总统奥巴马都亲自上阵宣传,推动每年一次的“编程一小时(Hour of Code)”活动——一个帮助孩子甚至成年人学习编程的公益项目。

编程一小时

编程思维的核心,不是编程语言和语法,更不是算法或数据结构本身,而是如何分解问题,从中发现规律,建立解决问题的模型,并映射到合适的数据结构和算法上,然后才能根据算法写程序实现。

在未来的世界,编程将成为一种基本能力。编程可以使孩子拥有比同龄人更严谨的思维,能让孩子们从另一方面展示自己,建立更强大的自信。在程序的世界中,没有特别规定的路径,也没有什么“正确的答案”,他们完全可以根据自己的答案去解决问题,这对于独立解决问题的能力和逻辑思维能力,是极好的锻炼。 在这个日益数字化的世界,让孩子学一门可能对未来职业规划有帮助的技能是十分有必要的。不管以后孩子是否从事编程行业,编程时学到的逻辑思维、算法思维将会让孩子终身受益(编程思想的比奥数学到的思维模式用来解决实际问题更有实际价值)。

什么是编程思维?

所谓“编程思维“就是”理解问题、找出路径“的思维过程,它由四个步骤组成(Decomposition拆分、Pattern Recognition模式识别、Abstraction抽象、Algorithms算法)

从本质上讲,编程思维是把现实生活中的复杂问题,逐渐拆分成可以理解的小问题(Decomposition拆分)。接着根据已有的知识和经验,找出新问题和以前解决过的问题的相似性,举一反三琢磨出规律(Pattern Recognition模式识别),然后将问题里涉及的数据抽象(Abstraction)到数据结构(变量,数组,链表等等),把数据处理过程可重复执行部分抽象成函数模块,通过循环执行,最后根据前三步的分析成果,设计步骤,写出算法(Algorithms),从而解决问题。

apple hour of code

编程思维的意义

学习编程不一定都要成为程序员,而是培养一种思维习惯,编程思维可以用来处理任何事情。

例如:组织一次朋友聚会的时候,你需要分析问题:你们能去哪里、做什么、每个参加聚会的人都喜欢什么、预算成本、时间长短、天气等等问题。

再比如:写一篇文章的时候,想把文章写得又快又好,要先分解题目,拆分出内容的层次;然后调用存储的信息列出提纲,理清思路,最后下笔。

这种逻辑思维,是学习编程带来的最重要的能力。而英国,爱尔兰等国家推行全国编程教育的主要目的就是让人养成编程思维。因为编程思维能够更好的帮助学生沥青逻辑过程、理解问题,从而高效的解决问题。

2014年英国把图形化编程纳入了5岁以上小朋友的必修课;在法国,编程被纳入了初等义务教育的选修课程;在北欧国家如芬兰、爱沙尼亚也把编程作为了一门非常重要的义务教育学科。而在中国,只有很少很少一部分孩子在学编程,少儿编程教育在中国还是一块很少被人触及的真空地带。我们常说“不能让孩子输在起跑线上”,可是我们的孩子在编程这个领域已经落后发达国家很多了。

Seattle Hour of Code

培养编程思维不仅是培养编程能力

编程思维是一个看似遥远与抽象的概念,但当中却蕴含着丰富的人生大智慧。

小到洗衣做饭,大到公司决策。编程思维是计算机科学解决问题的一种强有力的思维方式。

具有编程思维的人,遇到问题会取出问题细节,抽象定义问题,会通过收集数据,分析数据来理解和思考问题;能够将一个问题清晰具体的描述出来,并将问题的解决方案表示为一个信息处理的流程。

那么,孩子除了能够掌握如何变编写代码外,还能得到什么?

编程思维能力

1、问题解决能力

计算机可以帮助人类解决问题,但是要解决那些问题,解决问题的路径,还是人类说了算。培养编程思维就是培养理解问题,找出解决问题路径的能力。

2、内在学习动力

内在驱动力是指学生被学习活动本身激发的驱动力而不是外部的奖励。

2016 Hour of Code

在编程学习中,学生们不再是完成练习题,而是“我要做一款自己想要的产品、解决生活中的一个问题“。编程教育可以从提高内在学习动力、潜能激发、树立自信、学会自我激励等方面入手来增强学生的内在学习动力,使他们的远景目标与近景目标相结合,增强当下的学习动力。

3、创造能力

在瞬息万变的今天,没有什么比创造力更重要。虽然现在已经有很多人花大量时间与电脑互动,可他们中的大多数并没有机会用电脑进行创造。他们在玩游戏是得心应手,却无法创造他们自己的游戏。而编程学习就是要急眼他门创造的机会,让他们从科技的消费者变为科技的创造者。

面向孩子的编程语言如:Scratch、Blockly和ROBOLAB等,可以让儿童借助图形化的编程工具,从简到繁,从易到难,一步一步的让编程成为一种“思维艺术”,让孩子们尽情的在0和1的世界里遨游,充分激发孩子们的想象空间,让各种天马行空的创意在程序中实现。要知道,年幼的孩子在学习语言上有很大的天赋,因为年轻的大脑更容易形成“程序性”记忆——一种深深烙印在我们神经中的记忆,调动时只是一个条件反射而无需意识参与。

那么,Donstudio将会在这里为您讲解关于儿童编程的启蒙课程《Hello Ruby 儿童编程大冒险》《Scrathc 编程真好玩》等。


    Hello Ruby

版权声明:本文为原创文章,版权归donstudio所有,欢迎分享本文,转载请保留出处!

本文链接:http://www.donstudio.cn/?id=37

相关文章

Arduino Project 026 - Dual Servo Control

Arduino Project 026 - Dual Servo Control

This project you’ll create another simple project, but this time you’ll control two servos using com...

Books Exploring Arduino

Books Exploring Arduino

Exploring Arduino uses the popular Arduino microcontroller platform as an instrument to teach topics...

Arduino Programming Basic - Funcation

Arduino Programming Basic - Funcation

Arduino 程序基础,介绍Arduino程序的基本组成,第一部分编写了10个例子,关于变量及变量名称,串口监视器,if循环,for循环,while循环等。第二部分介绍了函数,全局变量,局部变量和静...

Arduino Project 036 - DTH Temperature and Humid Sensor

Arduino Project 036 - DTH Temperature and Humid Sensor

The DHT11 Temperature and Humidity Sensor senses, measures and regularly reports the relative humidi...

Beginner Tools Kit

Details HomeThis assortment of tools has everything you need to get started tinkering with Sparkfun...

Arduino Project 015 - Simple Motor Control

Arduino Project 015 - Simple Motor Control

First, you’re going to simply control the speed of a DC motor in one direction, using a power transi...