前述
我们在前面的总述中曾经提到过,有个家长跟我说,他的孩子今年3岁。有个机构的“老师”,极力推荐他学习编程,问我应不应该报名?我惊到下巴都快掉出来了,这是怎样的一家机构,怎样的一群老师?难道他们的课程已经如此的“完美”和“高深莫测”了吗?现在很多机构,都在给家长灌输少儿编程教育、机器人教育的好处多,可以提高逻辑思维能力,这一点没有错。但要在恰当的时间做恰当的事,才能有所收获,否则适得其反。
小虫在学校从事小学生机器人教育、竞赛15年,其中包括实体机器人编程教学,虚拟机器人编程教学,编程猫教学,Scratch编程教学等。为了使更多的学生受益,我们在上级的指示下,组建了团队。专门针对机器人和机器人编程的普及性教学进行研究。大量的实验和案例告诉我们,小孩子最适合学习编程的年龄在9岁(四年级)。原因有很多,在这里不能展开来讲,因为篇幅太长太过专业。本文由创梦飞科教-星际小虫原创,转载请注明出处。下面我从5个方面来解答编程教育的适合年龄问题。
机编程学习适宜年龄分析
一,逻辑思维能力:
从孩子的逻辑思维发展窗口期来说,逻辑思维能力最早可以在出生后10个月到四岁之间进行培养。这个时候孩子的逻辑思维一般处在归纳和类比的基础形式,对因果的演绎关系,处在单层的对应关系,比如说:“因为太阳出来了,所以天被照亮了。”可以随着年龄的增长,逐渐增加逻辑的长度和要素的个数,比如说:“你做的事情让妈妈生气了,因为妈妈生气了,所以不愿意给你做好吃的了。”这时只有当父母亲有意识的进行培养,这个阶段才会得到足够的发展。用多变的因果关系去逗孩子,其实质是对孩子逻辑思维的一种培养,很多搞笑短视频中展示的小大人,有些就是逻辑思维丰富的表现。但就算得到充分的发展,这样的逻辑思维水平也是无法接受编程这种需要一定逻辑运算能力的学习。而在我们国家的教育体系当中,真正系统的培养孩子的逻辑思维能力,是在小学一、二年级,这一点大家翻看小学一、二年级的数学课本的目录便可一目了然。而一、二年级的数学课本主要以分类、总结、归纳来形成一些具体的数学概念,包括基本的计算方法等,对于演绎性的逻辑分析能力的培养还是不多,演绎性思维只是在三、四年级才逐步展开。简单来说,家长们只要看看应用题在各年级数学教学的演变可知。一、二年级是单一步骤算术形应用题。主要在于计算的意义,三年级开始应用题变成多步骤,多层次的分析综合,到了四年级,我们认为孩子才初步拥有了学习编程算法的基本逻辑思维能力。而学校里的信息技术课学习编程的这部分内容,是在五年级展开。这个时候孩子的逻辑思维能力发展更加完善,学习起来更加的容易。
本文由创梦飞科教-星际小虫原创,转载请注明出处。
二,儿童认知水平的一般规律,
从儿童的认知发展水平来看,7岁之前处于前运算阶段。通俗简单的说,这是孩子将自己感知到的表象,分类、归纳、总结并进行再加工,形成各种符号,如词语,手势,标记等,是抽象概念的形成与完善阶段。这时儿童的思维具有不可逆性。儿童在学习编程时,往往不理解编程的流程,但是程序执行的结果显而易见。这个时候就需要孩子有足够的逆向推演的思维能力,找到程序中出错的位置,并进一步学习和巩固,这个年龄之前的孩子不可能拥有逻辑编程所需要的多要素逆向倒推思维能力。7岁到11岁之间,孩子进入了具体运算阶段,孩子初步拥有了具体事物的逻辑分析能力,但仍然不能对抽象的概念进行逻辑运算,我们也是研究了多年,才使得10岁的孩子在学习编程的时候,通过表象思维建立程序语言的基本概念和系统逻辑关系,但可接受概率也只能达到73%,接受不了的一部分是教法的问题,但多数是因为孩子的前期思维方式和学习方式,没能得到很好的引导和开发。(后面的教学形式章节会适当提到这部分内容,)孩子到了11岁之后进入到形式运算阶段,才真正的具备了学习编程的完整思维链路。从我们的研究和案例中可以清晰的看出,经过前期的学习铺垫,孩子可以在10~11岁之间进入到程序学习的爆发期,只要孩子的学习习惯良好,基本都可以接受编程教学的课程。这就是为什么现在根据国家教育部的文件,关于加强少年儿童编程教育的指示精神,小学五年级上册就编入了机器人和编程的教学内容的原因,但目前从教学情况来看不尽如人意。原因就不说了!而我们认为9岁进入编程语言的学习,可以通过一定的手段、教学形式和训练,逐渐培养与强化孩子的逻辑思维能力,为10岁孩子深入学习编程知识做好铺垫。
三,编程语言的理解,
学习编程是件好事,但是编程教学却不是件简单的事儿。就我们目前看来,至少要跨越十几个门槛,第一道门槛就是编程语言的理解问题,从上面的讲述我们可以知道,孩子在11岁左右初步拥有了形式运算能力,既利用词语,符号等进行思维运算。而程序语言当中,大量的专业词语和概念都是通过其他的词语和概念进行延伸、类比衍生而来,如菜单、储存等,还有一部分学生根本没有接触过的,没有表象积累的词语和概念如变量、流程等,如何让学生正确的理解这些抽象概念,都是一件考验教学能力的事情。试想一下低年龄的孩子,连编程语句中的一些概念都无法形成,如何利用这些概念去具体的操作和运用,学习编程岂不是空中楼阁。
四,需要学会、理解和使用电脑或智能产品,
学习编程不是靠几个道具或几套积木可以完成的,必须用电脑、手机等智能产品,进行编辑、运行和演示,一个不能熟练使用手机和电脑的孩子,如何来学习编程呢?而现在小学三年级已经开始学习信息技术课,比较系统的学习如何使用电脑。这里请家长注意,会打开电脑玩游戏,并不等同于系统的学习电脑知识。三年级结束到四年级的时候,电脑的基本应用还是不成问题的,也积累了一部分计算机的概念词汇,这也是我们选择9岁孩子开展编程教学的辅助因素。虽然现在市面上有一些编程类积木,只需要用积木进行拼接、调整顺序来组建程序并进行演示。这些确实可以使老师对更低年龄层次的孩子进行教学,但对于学习编程的内在原理、流程与架构,这类教学真正具有多大的意义呢?还有待研究。
五、时间窗口
综上所述,孩子在9岁时具备学习编程的前期能力,当然稍大一点的孩子大脑逻辑思维能力更强,学习编程将会更容易。但是,从我国的教育体系来讲,初中二年级以上学生由于升学压力,几乎没有时间进行第二课堂的学习。而编程教学又是一个长期积累的过程,只有当孩子学习了逻辑语句、变量关系,运算方式、命令执行流程等,形成了基本的编程逻辑思维框架,这时才能激发孩子深层次的兴趣。这不是靠一、两期课程就能学会点什么的。本文由创梦飞科教-星际小虫原创,转载请注明出处。所以我们认为孩子在9岁(四年级)时,开始学习编程是最为合适的时间窗口期。
3岁孩子可以学编程?
可以从另一个角度解释。如果将简单的程序语句编串成短小命令模块,并使之呈现一定的效果,在教学当中让孩子直接记住命令模块和其对应的演示效果,借着孩子对新鲜事物的好奇与兴奋,在家长面前似乎展示的是小孩子正在学习编程,并且很喜欢的错觉。这就是很多机构为什么都不怎么讲解教学的内容,而是一再要求让你带孩子过来试课的原因。但实质上是孩子根本没有理解和吃透编程的逻辑关系和基本原理。你可以说让孩子早早接触编程教育,提高兴趣。但不适当的年龄和不合理的教法,会无形中给孩子制造过大的学习压力,更容易使幼小的心灵中产生刻板印象,认为“编程这么难学,自己根本都学不会”,或者“编程就像记忆单词或电话号码一样,只是在机械、重复、简单的记忆过程,毫无乐趣可言。”这岂不是更早的关闭了孩子学习真正编程的兴趣大门。
学习机器人的适合年龄
一、学习大颗粒的积木搭建课程,这个对孩子的成长有很大的帮助,但3~4岁的孩子也不是一定要到机构中来学习,孩子在1~2岁时,会逐渐意识到自己与他人是不同的个体,这时如果引导的不好,会有一定比例的孩子产生自私行为和自我保护意识很强。到了三、四岁,由于孩子没有经历足够的幼儿园中班、大班这样的集体交流、活动和锻炼,孩子没有意识和能力控制自己的行为,容易与其他孩子产生冲突。同时,孩子的注意力保持时间很不稳定,很多因素会很容易影响孩子的注意力持续时间,情况不好时可能注意力只能保持几分钟,面对一帮这样的孩子,老师实际上很难协调、统一,组织一堂有效的课,(关于这一点你可以观察一下幼儿园小班的孩子每天上课都在做些什么就不难理解了。)上课的内容和效果和父母亲陪孩子搭积木几乎无异。有时,孩子也会表现出极度的专注,可以达到三、四个小时,这时在机构中进行学习,是没有办法满足孩子的需求的。其实父母亲有时间,完全可以自行陪着孩子搭积木会更为合适。我们建议不如多带着孩子,到外面的世界去走走看看,多和孩子一起观察和了解一些(对孩子来说是)新鲜的事物,让他积累更丰富的具体形象事物,提高孩子的具体形象思维,反而对今后的学习与思维的成长有较大帮助,不要让孩子过早的接触课堂教学,以免过早的产生厌学情绪,
二、五、六岁的孩子,需要学习与人交流、沟通和协作, 形成完整的构思与语言表达能力。孩子也具有一定的自控能力和安全意识,这个时候根据孩子的兴趣取向,可以适当学习大颗粒积木的课程。父母也可以给孩子买一些小颗粒积木,和孩子一起组装。对孩子做事的条理性和严谨性,以及培养孩子的意志力、专注力都有很大的帮助,但一定要在自己监督和保护下,因为这个时候的孩子,手部的灵巧性和力量的不足,会对小颗粒的拔插有一点吃力,这时孩子很容易会用嘴进行协助,这一方面是不卫生,另一方面会造成一定几率的可能被吸入和卡住喉管的危险情况。
三、6~7岁之间随着孩子手部力量的成长和灵巧度的提高,可以逐步过渡到小颗粒的搭建。小颗粒积木的结构品种丰富,表现力更强。通过有目的的培养和训练,可以提高孩子的观察能力,思考问题的条理性、严谨性。
四、7~8岁用动态小颗粒积木学习,这个时候应该学习一些基本的力学,结构特性,简单机械的相互运作关系,如齿轮、杠杆、连杆,为机器人的学习积累外形结构经验。
五、9岁以后开始进入到机器人编程的学习,
六、10岁到11岁可以学习感应器知识。感应器虽然涉及到很多物理知识,这些都是初中物理的内容,但是我们通过反复摸索和验证,证明是可行的。
七、10岁之后可以逐步的参加一些活动和竞赛。验证自己所学,以激发学习热情。这部分内容在后面的学习与竞赛章节会详细说明。
3D打印教学适应的年龄
我们建议五年级(10岁)以后开始学习,因为这个时期的孩子已经学会了点、线、面的概念,初步进入到各种形状、体积的学习,具备一定的空间结构观察和思维能力。只要教法得当,完全可以掌握工业级的建模软件。我们曾经对一个五年级的孩子用30分钟左右的时间,讲述了Creo 3.0的用法和拉伸的基本操作要领和原理,他便能在接下来的两个半小时里,设计出一柄自己的长剑。这里请注意长剑并不是我们的教学内容,而是他依据所学自我创作的结果。而四年级的孩子在教学的时候,难度却要大很多。
当然,在这之前学习一下如何操作3D打印机。如何将一个STL的模型文件在3D打印机中打印出来,如何将一个图画直接放入切片软件自动生成3D模型并打印出来。这些简单的常识性接触也是可以的,但绝不要认为这就是3D打印,真正意义上的3D打印教学的核心内容应该是3D模型设计。这一点会在后面的课程体系中谈到。
以上是我们长期教学经验的总结分享给大家,供大家参考!本文由创梦飞科教-星际小虫原创,转载请注明出处。
国外低龄学习编程分析
有些人可能会质疑,那为什么编程教育在美国要求在6岁开始;英国5岁;法国、新加坡……!感觉这是典型的“拿来主义”。任何事物是否可行,都要考虑当前的国情和体系内部的现实状况,不可以完全、生硬照搬。比如“市场经济和民主”。在很多发展中国家照搬,却没有得到西方国家同样的结果。这其中含有很多西方国家隐藏着不可告人的目的。我们在具体引用时一定要分辨清楚。就此也谈谈个人观点。
首先,从教学实践的经验和结果来看,我们在学校机器人普及性教学的研究中,(其中包括机器人编程教学,)团队中由另一名教学经验很丰富的老师负责一、二年级的编程教学,但经过两个学期的实验,效果非常不理想,当然这可能与教师个人的水平;实验思路和目标参照有一定的关联。但我个人负责的三到六年级的教学实验当中,三年级的编程教学难度相当的高。所以没有对一、二年级的编程教学做进一步的拓展实验与研究,而四年级的教学,在教法的不断更新下,学习编程还是没有问题的,五、六年级的编程教学可接受度显著增加。分析有以下几个原因。
1、学生能力的不足。教育体系的不同,(关于体系在后面的章节会谈到。)使西方的孩子很早就进行了探究性学习、项目式学习的教育。在逻辑思维和辩证思维上,远比中国应试教育、记忆性学习所培养出的孩子强的多。
2、所处环境的不同。在西方,学校、家长、老师、同学、社会媒体都处在这种探究性和辩证性思维的大环境当中。中国没有这样的大环境,只有在高等院校、研究机构、部分高知阶层才会有。不要说中国的大多数老师可否驾驭这类课程,孩子成长的过程中,家庭对孩子的引导和培养都是很重要的。
3、目前流行与常用的计算机语言,基本为西方工程师所编写,更适合西方语言的语境,读写习惯与使用习惯。一些词汇和语言用法在内涵与外延上与中文不尽相同。西方孩子学习编程,犹如学习讲话一般容易理解,中国孩子学习这类语言需要跨越中西方语境语法的不同,孩子理解起来就有一定难度,如同外国人学中文一样。
4、记忆性学习和等待老师给予答案的学习习惯,是孩子学习编程的最大阻碍。
但并不能排除低年级的孩子,能很好掌握编程语言的可能性,这需要前期家庭对孩子的学习习惯、科学实践方法、逻辑思维、辩证思维;以及坚韧性和毅力的培养和引导。还需要具有一定实力的教育工作者,研发相对应的课程(不是指外来课程),并进行大量的教学课时的实践、分析与研究,才有一定的可行性。而作为家长要找到对的老师,则至关重要!
本文由创梦飞科教-星际小虫原创,转载请注明出处。