你所不知道的少儿编程教育

网友投稿 2018-06-08 08:28

当奥数风光不再时,机构和家长们找到了新的偶像 ——少儿编程。然而,就像全民奥数的狂热,在编程这条路上,很多家长根本不理解学习编程的意义,更多的是恐惧、功利心在作祟。

其实,小编早就想问家长们一句话:您真的搞清楚孩子学习编程是怎么一回事了吗?

今天,我们一起扒一扒。

1

为什么全球都在重视编程教育?

编程教育正在全球范围内普及,目前已经有16个欧美国家将编程设为学校的日常课程!

  • 2012年起,日本中小学生就开始学习编程;

  • 2013年起,美国总统奥巴马号召全美学生学编程;

  • 截至目前,美国已有500万青少年在学习编程;

  • 2014年起,英国将编程作为5-16岁学生的必修课;

  • 2017年起,新加坡将会在中小学考试中加入编程科目;

  • 我国的宝岛台湾也将在2018年年将编程教育纳入初中和高中必修课。

https://cdn.china-scratch.com/timg/180610/0RT3HZ-0.jpg

这些传统的教育强国或地区,对编程的重视显示出了教育理念上真正的深谋远虑。

为什么在发达国家会产生这样的趋势,把原来至少是在大学时才有的针对小众学生的编程课程要下移普及到儿童,甚至在Amazon上充斥了训练三岁以上孩子编程思维的玩具呢?

笔者认为,这是因为当前全球商业社会环境的深刻变化,造成了人才需求的变化。今天的世界,已经遍布程序和算法,我们每天都接触到的微信、滴滴打车,我们去银行取款机取款,我们在电脑上打开网页,我们在淘宝上购物,所有这一切都跟程序和算法有关。今天的明星公司,基本上都是算法公司,比如谷歌、比如腾讯、比如阿里巴巴。更为宏大的时代背景是,人工智能的大幕正在缓缓拉开

我们不难预测,未来完全没有计算式思维训练的人员在高科技企业中的作用也会越来越边缘化。而对这种复合型计算式思维人才需求的激增,使发达国家意识到从孩子培养编程思维是未来国家竞争力的重要因素。从事少儿编程教育的机构,应该有这样一份使命,通过编程教育参与到未来竞争力的提升中来。

2

孩子学编程到底是在学什么?

有过编程经历的人,会有这样的感受,计算机就像一架自动钢琴,而编写程序就和音乐家作曲一样。当你编写好程序以后,计算机就会百分百按照程序去做。但是程序也可能不像你预期的那样工作,它会失败。

为什么会出现这样的情况呢?有两种可能:


第一种:你的想法本来就是错的。那么请重新思考一下:你到底想要做什么?

第二种:你的想法很好,可是程序却没写对,也就是说没有把你的思想准确地表达为程序。

把目标想清楚不容易;确定了目标,想清楚了要做什么,然后再把它清晰地表达出来,更是不容易。

任何程序任务的实现都是由每一个分解的任务构成,任何一个分解任务的瑕疵都会影响最终的结果,每一个分解任务的实现都需要孩子认真对待。

任务分解的方法及用程序实现的过程会对孩子的思维方法产生潜移默化的影响。

https://cdn.china-scratch.com/timg/180610/0RT43E1-1.jpg

笔者有这样的切身体会,将同一个复杂问题拿给学过编程的孩子和没有学过编程的孩子,孩子会有截然不同的反应,学过编程的孩子开始构思并拆解问题,然后将复杂的问题变成小的可以解决的问题;没有学过编程的孩子面对问题时,多在外围打转,最终发现依然是个复杂的问题,无从下手。这样的差距,其实是孩子的思维能力的差异。

学习编程,除了学习漂亮简洁的代码,严格规范的语言风格,最核心的是要给孩子一种计算式思维,教会孩子用一种新方式思考这个世界

那么,问题来了,什么是计算式思维?

谷歌公司将计算式思维概括成四个组成模块:


1、能够把现实生活中的复杂问题,逐步拆分成更好理解、更可执行的小问题(Decomposition 拆分),接着

2、根据已有的知识和经验,找出新问题和以前解决过的问题的相似性,举一反三琢磨出规律(Pattern Recognition 模式识别),然后

3、聚焦重要的关键信息,将问题里涉及的数据抽象(Abstraction)到数据结构(变量,数组,链表等等),把数据处理过程可重复执行部分抽象(Abstraction)成函数模块,通过循环执行,最后

4、根据前三步的分析成果,设计一步一步的解决路径,写出算法(Algorithms),从而解决问题。

https://cdn.china-scratch.com/timg/180610/0RT41427-2.jpg

通俗的来讲,计算式思维,就是把一个看来困难的问题重新阐释成一个我们知道问题怎样解决的方法;它教会我们如何处理大麻烦,将它们化整为零,使之变得更加容易处理。它允许你用高效的方法大规模地运作。将真实世界用适当的抽象的方式转成模型,将我们的注意力集中在关键部分,帮助我们找到特定的解决方案。

计算式思维已经日益渗透到我们每个人的生活之中,诸如算法和前提条件,这些词汇已经成为人们日常语言的一部分。它的运用已经扩展到编写软件之外,甚至连机械工程、液体力学、物理学、生物学、考古学和音乐都运用到计算思维。今天,在高科技行业,几乎所有的科技领袖都是具备计算式思维的复合型人才,比如扎克伯格、马斯克、马化腾等。

3

编程教育应该培养孩子哪些方面的能力?

通过实际的教学实践,笔者认为,通过编程教育,至少应该培养孩子以下八个方面的能力:

1、编程知识与技巧

程序和算法有成熟的知识结构和体系,这一块是最容易学习的。

2、逻辑建构能力

孩子们通过编程做一个作品的过程就是一个创造的过程。他们首先要在心里大致构造出自己想要的作品模样,然后开始思考第一步该怎么做,第二步该怎么做。这些都对孩子的逻辑思维能力有很大的启发作用。即使在日常生活中,编程的逻辑思维也会让他们有条不紊地解决问题和表达出自己的想法。

3、设计策划能力

每一个作品的背景角色、角色效果以及行为规则需要孩子们自己来创作和选择,这些会对孩子们的设计能力和审美能力等有很大的提高。


4、思考与学习能力

在学习编程过程中,没有固定的知识领域,更多的是需要孩子们去主动思考,主动探索。孩子学习进度的差距,往往来自于孩子思考和学习能力的差距。

5、沟通与协作能力

随着项目复杂度的提升,需要团队之间的协作;随着沟通范围的扩大,孩子们甚至要参与到全球的沟通与协作中。

6、工程搭建能力

把硬件结合进来,培养孩子的工程搭建能力,并通过编程,解决现实中的问题,这对于孩子在未来的现实生活中大有裨益。


7、问题解决能力

发现现实中的问题,通过编程,解决掉,这是一种让人成就感爆棚的捷径。

8、案例分析与借鉴能力

鼓励参与到全球化的交流与分享中,能对他人的作品有鉴赏能力,广泛借鉴学习优秀案例,并优化整合提升自己的作品。当然,我们对他人的作品和努力必须保持充分的尊重。

通过学习编程习得这八项能力,再加上计算式思维,想想都觉得厉害,有木有?

--end--

声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com