当奥数风光不再时,机构和父母找到了新的偶像 少儿编程。然而,就像全民奥数的狂热,在编程这条路上,不少父母根本不理解学习编程的意义,更多的是恐惧、功利心在作祟。
其实,记者早就想问父母一句话:你真的搞了解孩子学习编程是如何一回事了吗?
今天,大家一块扒一扒。
1
为何全球都在看重编程教育?
编程教育正在全球范围内普及,现在已经有16个欧美国家将编程设为学校的平时课程!
2012年起,日本中小学生就开始学习编程;
2013年起,美国总统奥巴马号召全美学生学编程;
截至现在,美国已有500万青少年在学习编程;
2014年起,英国将编程作为5-16岁学生的必学课;
2017年起,新加坡将会在中小学考试中加入编程科目;
国内的宝岛台湾也将在2018年年将编程教育纳入初中和高中必学课。
这类传统的教育强国或区域,对编程的看重显示出了教育理念上真的的深谋远虑。
为何在发达国家会产生如此的趋势,把原来至少是在大学时才有些针对小众学生的编程课程要下移普及到儿童,甚至在Amazon上充斥了练习三岁以上孩子编程思维的玩具呢?
笔者觉得,这是由于目前全球商业社会环境的深刻变化,导致了人才需要的变化。今天的世界,已经遍布程序和算法,大家天天都接触到的微信、滴滴打车,大家去银行取款机取款,大家在电脑上打开网页,大家在淘宝上购物,所有这所有都跟程序和算法有关。今天的明星公司,基本上都是算法公司,譬如Google、譬如腾讯、譬如阿里巴巴。更为宏大的年代背景是,AI的大幕正在缓缓拉开。
大家不难预测,将来完全没计算式思维练习的职员在高科技企业中有哪些用途也会愈加边缘化。而对这种复合型计算式思维人才需要的激增,使发达国家意识到从孩子培养编程思维是将来国家竞争优势的要紧原因。从事少儿编程教育的机构,应该有如此一份使命,通过编程教育参与到将来竞争优势的提高中来。
2
孩子学编程到底是在学什么?
有过编程历程的人,会有如此的感受,计算机就像一架自动钢琴,而撰写程序就和音乐家作曲一样。当你撰写好程序将来,计算机就会100%根据程序去做。但程序也会不像你预期的那样工作,它会失败。
为何会出现这种情况呢?有两种可能:
第一种:你的想法本来就是错的。那样请重新考虑一下:你到底想要干什么?
第二种:你的想法非常不错,可是程序却没写对,也就是说没把你的思想准确地表达为程序。
把目的想了解困难;确定了目的,想了解了要干什么,然后再把它明确地表达出来,更是困难。
任何程序任务的达成都是由每个分解的任务构成,任何一个分解任务的缺陷都会干扰最后的结果,每个分解任务的达成都需要孩子认真对待。
任务分解的办法及用程序达成的过程会对孩子的思维办法产生潜移默化的影响。
笔者有如此的经验之谈,将同一个复杂问题拿给学过编程的孩子和没学过编程的孩子,孩子会有完全不同的反应,学过编程的孩子开始构思并拆解问题,然后将复杂的问题变成小的可以解决的问题;没学过编程的孩子面对问题时,多在外围打转,最后发现依旧是个复杂的问题,无从下手。如此的差距,其实是孩子的思维能力的差异。
学习编程,除去学习漂亮简洁的代码,严格规范的语言风格,最重要的是要给孩子一种计算式思维,教会孩子用一种新方法考虑这个世界。
那样,问题来了,什么是计算式思维?
Google公司将计算式思维概括成四个组成模块:
1、可以把现实日常的复杂问题,逐步拆分成更好理解、更可实行的小问题(Decomposition 拆分),接着
2、依据已有些常识和经验,找出新问题和以前解决过的问题的相似性,举一反三琢磨出规律(Pattern Recognition 模式辨别),然后
3、聚焦要紧的重点信息,将问题里涉及的数据抽象(Abstraction)到数据结构(变量,数组,链表等等),把数据处置过程可重复实行部分抽象(Abstraction)成函数模块,通过循环实行,最后
4、依据前三步的剖析成就,设计一步一步的解决路径,写出算法,从而解决问题。
通俗的来讲,计算式思维,就是把一个看来困难的问题重新阐释成一个大家了解问题如何解决的办法;它教会大家怎么样处置大麻烦,将它们化整为零,使之变得愈加容易处置。它允许你用高效的办法大规模地运作。将真实世界用适合的抽象的方法转成模型,将大家的注意力集中在重点部分,帮助大家找到特定的解决方法。
计算式思维已经日益渗透到大家每一个人的生活之中,诸如算法和首要条件条件,这类词语已经成为大家平时语言的一部分。它的运用已经扩展到撰写软件以外,甚至连机械工程、液体力学、物理学、生物学、考古学和音乐都运用到计算思维。今天,在高科技行业,几乎所有些科技领袖都是拥有计算式思维的复合型人才,譬如扎克伯格、埃隆马斯克、马化腾等。
3
编程教育应该培养孩子那几个方面的能力?
通过实质的教学实践,笔者觉得,通过编程教育,至少应该培养孩子以下八个方面的能力:
1、编程常识与方法
程序和算法有成熟的常识结构和体系,这一块是最易学习的。
2、逻辑建构能力
孩子们通过编程做一个作品的过程就是一个创造的过程。他们第一要在心里大致架构源于己想要的作品模样,然后开始考虑第一步该如何做,第二步该如何做。这类都对孩子的逻辑思维能力有非常大的启发用途。即便在日常,编程的逻辑思维也会让他们有条不紊地解决问题和表达源于己的想法。
3、设计策划能力
每个作品的背景角色、角色成效与行为规则需要孩子们自己来创作和选择,这类会对孩子们的设计能力和审美能力等有非常大的提升。
4、考虑与学习力
在学习编程过程中,没固定的常识范围,更多的是需要孩子们去主动考虑,主动探索。孩子学习进度的差距,总是源于孩子考虑和学习力的差距。
5、交流与协作能力
伴随项目复杂度的提高,需要团队之间的协作;伴随交流范围的扩大,孩子们甚至要参与到全球的交流与协作中。
6、工程搭建能力
把硬件结合进去,培养孩子的工程搭建能力,并通过编程,解决日常的问题,这对于孩子在将来的现实日常大有裨益。
7、问题解决能力
发现日常的问题,通过编程,解决掉,这是一种叫人收获感爆棚的捷径。
8、案例剖析与借鉴能力
鼓励参与到全球化的交流与推荐中,能对别人的作品有鉴赏能力,广泛借鉴学习出色案例,并优化整理提高我们的作品。当然,大家对别人的作品和努力需要维持充分的尊重。