简论少儿编程对于儿童和基础教育的巨大作用!
编者按:少儿编程对于儿童和基础教育具有巨大作用。用三个判断来说明,不仅在数学、逻辑、设计思维和程序设计等基本技能上具有巨大作用,而且在跨学科学习和融合学科实践上具有巨大的作用,同时少儿编程将深入的培养儿童的创造性、团队协作以及数据和系统思维能力等高阶能力。
当然,即使是从信息技术奥赛对孩子的帮助,以及未来一流大学对于自主招生中STEM实践的重要性,甚至孩子高等教育结束后他的学术界研究工作或者工业界职业发展,少儿编程都是有持续重要作用的。
再有,编程,做产品,开发游戏——这不是一件很酷的事情吗?!比玩游戏要酷多了。会编程的孩子,将成为孩子群体中的摇滚巨星。
坦率的说,少儿编程不是一个“写程序,做码农”的事情,少儿编程方向是一个基础性的学科群体,在计算机科学发展到今天,在人机协作系统深入人类社会方方面面的今天,这么讲是为编程正名:这就是我今天主要想探讨的,为什么少儿编程是基础教育一个升级的巨大机会,为什么少儿编程对于儿童基础教育有巨大的帮助。
成语有云:名正言顺。最近有和业内人士交流的经验,无论是否懂计算机科学的教育人士,都觉得少儿编程是一个选择性的兴趣学科。我的观点是从基础性学科的可能性开始谈起,认为少儿编程方向,未来可能会像数理化一样,成为一个基础性学科,甚至人文、艺术也可以基于它有延伸和融合。
在这个时间点,这是一个有争议而且有趣的话题。做教育的人关心,家长也关心,而当我们接触到大部分有这方面接触的家长来讲,谈及Minecraft、Scratch等等,都说孩子们是超级喜欢。换言之,孩子们对电子游戏和计算机世界不是无感的,他们是最早投入和感兴趣的一批人类群体。无论我们是否回避,在孩子们基础教育甚至高等教育的同步年龄段,以电子游戏和计算机世界为代表的生活方式都会大规模浸入孩子的真实生活。不管我们如何争议、甚至坚决要求杜绝孩子接触计算机,但事实上,我们丝毫拒绝不了计算机世界对孩子成长的影响。
所以,无论你持有什么立场,不妨和我一起来看一看,从我这个对少儿编程学科群有正面看法的人的视角里,看到一条不一样的路。盲目的批评和拒绝是没有意义的,但我欢迎任何有价值有针对性的探讨和质疑。我认为,少儿编程对于儿童和基础教育有巨大作用
简论少儿编程对于儿童和基础教育的巨大作用
左边舞台上,有一个默认角色,就是一只小猫咪。中间功能区有各种指令代码和套装、语音设计功能等。右边是编写代码的区域。这个例子中,我对小猫咪写的代码翻译是:
当旗帜被点击启动;
永远循环下面这些动作:
往前走10步;
如果碰到边界,折返。
所以这一段代码的例子,就是让这只小猫咪来回走动散步,碰到舞台边界的时候折返。
孩子懂得这些指令的基本含义之后(他完全可以探索式的尝试,弄懂大部分简单指令的含义),他就可以把中间的指令拖拽到右边,享受他控制小猫咪的乐趣,创造一些活动场景和游戏的乐趣——这些就是编程过程。
所以这个儿童编程的过程,不是像我们软件开发工程师那样,对着符号化的计算机语言来工作。而是面向一个图形化界面,面向一个具有丰富角色和操作性的、能够让他控制全部的新游戏。少儿编程就像一个创世纪的游戏一样,这是我们的一个基本印象。
1. 少儿编程培养儿童的基本技能
少儿编程涉及到的基本技能非常丰富,不仅仅是编程本身。我们前面说,就以Scratch为例,至少有如下四个方面的基本技能方向,如图:
简论少儿编程对于儿童和基础教育的巨大作用
2. 数学方面
第一个方面就是数学。少儿编程图形化编程,第一技能方向就是数学。我们前面注意到,儿童学少儿编程,首先注意的就是一个或一些角色在舞台上的行动——这其中就包括:
★坐标系:舞台是一个以中心为原点的直角坐标系,x轴正方向为右,y轴正方向为上。通过(x,y)坐标点,来控制所有角色的位置。事实上,舞台上还有一个隐含的坐标系,通过方向、角度和距离,这是一个极坐标系。上下左右的位置,行动操控都是通过角色的坐标来实现的。
★数据类型:最常见的是整数和小数,即实数集(在Scratch中所有实数是一个数据类型),另外还有布尔类型(真或假)、字符串类型(一段文本)。
★数据的比较:也就是数学中三种基本顺序,大于、等于和小于。
★算术运算:加减乘除是四种基本运算,儿童在编程过程中,常常需要在具体的场景中来运用这四种基本运算。另外还有取模运算和四舍五入。
★数学函数:在编程过程中,儿童将接触到一些基本的数学函数,包括取绝对值,三角函数,对数函数以及指数函数等。可以非常直观的通过函数图像的自动喵点画图及生活应用来理解它们。
★几何图形:在编程过程中,一类常见的任务就是图形绘制。这个过程中,儿童将大量接触几何图形,并从坐标系中进行图形绘制和操控。
所以这里面有着大量的数学学科内容,而且,这些内容都在具体的问题和任务场景中出现,既包括基本算术和几何图形知识,也包括函数以及坐标系等中学数学核心概念。通过它们在具体任务中的应用,儿童不仅操控了这个虚拟世界,而且会切身锻炼到、应用到数学知识和能力。
3.逻辑方面
编程的基础,既有数学,也有逻辑。逻辑思维能力,是儿童发展的一个基本能力,在文理各个方向都是十分重要的基础。少儿编程,可能是第一次对儿童正式的、系统的进行逻辑方面的锻炼。
★逻辑变量:起点就是逻辑变量或事件的真或假。真或假是逻辑世界的两个基本值。
★比较逻辑:对于用比较判断的逻辑,是儿童有直接经验并可以学习的基本逻辑判断,大于、等于、小于三种逻辑判断。
★事件逻辑:其次是事件逻辑,基于事件的判断,也是儿童比较熟悉的。少儿编程用几种基本的事件模式,来生成事件判断语句。在Scratch中都是以“触碰”为核心动作来构建的。
★逻辑运算:在简单的逻辑推理中,三种基本逻辑运算是最重要的基础。即与逻辑、或逻辑和非逻辑——这三种基本逻辑在少儿编程中大量的使用到。
★逻辑控制:然后就是一组逻辑控制,包括条件判断、循环控制和等待。这些既是少儿编程的基本逻辑控制语句,也是逻辑思维锻炼的一个基本工具。
所以在少儿编程中,逻辑思维的训练是一个基本训练,这也是程序设计及计算机科学方向的一个基本核心特征。儿童将在大量的问题解决和任务控制中,形成系统化的有逻辑的解决方案。突出锻炼到儿童的逻辑思维能力。这种逻辑训练的密集度,不是其它活动所能比拟的。
4.设计思维
设计思维是人们提出的对未来社会有重大意义的思维方式,它是一种面向问题解决的、创新的系统思维方法。这也是属于STEM课程方向内少儿编程的优势之一。我们的儿童将学会系统的思维方法来分析、分解问题(需求),并通过综合的资源来解决问题。
★基本设计:在Scratch的编程世界中,任何一个问题需求或任务,都需要在背景、角色及行为上进行思考和分解。它们是这款编程工具提供的基本视角和思维框架。
★角色表达:在角色的行为表达过程中,基本的表达工具是外观图形的控制和声音音乐的控制(Scratch提供21种乐器的模拟)。一个角色的外在行为和表达,无非这些方面。
★交互逻辑:在事件过程中,背景、角色、行为所组成的一个完整世界中,核心逻辑是通过它们交互来完成的。除了程序所控制的软件层面的交互之外,Scratch还提供丰富指令对计算机外部设备(如鼠标、键盘)以及外部的自动化控制元件的操作能力,这使得少儿编程的解决问题方式,扩展到了硬件层面,扩展到了生活中的自动控制层面。
所以,少儿编程是一个具有丰富资源和场景可能性的学科方向,以驱使儿童深入的、创新的考虑问题的解决方法,并锻炼到儿童的设计思维。随着问题的复杂度,以及儿童问题解决方案的复杂度,和方案中操控设备复杂度的提升,儿童的设计思维能力在不断提升。
5.程序设计
我们最后再谈一谈少儿编程对程序设计能力的提升——这是显而易见的,这是本门的功能。虽然我们前面说,就编程启蒙工具Scratch这一类而言,它的语言设计是简版的,但对儿童而言却是刚刚好。
★程序设计的基本方面:程序设计和计算机语言的基本方面,包括数据与变量的概念,包括语句和模块(函数),都是程序设计的基本概念。
★计算机科学的方面:另外,Scratch中还有数据结构的支持,这是计算机科学的基本核心内容之一,还有对消息机制的应用,这在计算机软件系统中大量的应用着。同样的,需要使用到流程图等设计工具。
★系统运行逻辑:目前我们的社会,是一个人机协作的社会。相当多的职业和职位,都需要和计算机系统打交道。理解计算机系统运行的原理,最好最深入的方式就是理解一段程序。少儿编程每个任务,都会涉及到系统启动、运行和结束的基本过程。
★工程技术研发逻辑:这既属于元认知层面的训练,同时也是STEM学科方向的基本特征之一。儿童在少儿编程过程中,将学会如何分析问题(需求),学会设计、研发、测试,并在应用中体会着解决问题的快乐。深刻理解在工程意义上而言解决一个真实问题的过程。
6.小结
通过以上数学方面、逻辑方面、设计思维和程序设计四个方向基本技能介绍,我们可以得出结论,少儿编程这个学科,对比现在学校里的所有学科而言,都有鲜明的特色和优势。它对我们儿童的教育和锻炼,恰恰是许多学科所不能提供的。
所以,少儿编程对于儿童的基本技能的学习和训练,有着巨大的、不可替代的作用。
少儿编程对于儿童跨学科学习的帮助
比较先进的教育国家,及创新学校,都有在融合学科、跨学科的学习模式上有探索。这有真实的社会需求和背景,也有学科发展细化之后的内在逻辑要求。但是我相信,在基础教育阶段,融合学科或跨学科学习应该如何做,应该有很多人在困惑中。不是简单的拼凑,不是简单的活动展现,而是扎扎实实的在提出问题、并通过学科融合的思路来解决问题——很多人对此不知道应该如何做。
我的观点是,少儿编程是儿童跨学科学习的最好的工具之一。无论是在学术界,还是在工业界,计算机科学已经融合到各个学科当中,做天文研究、做数学研究、做医学处理,甚至做文学事业,都需要使用到计算机学科方法或成果。这是世界发展的自然结果;我们的教育上,在面向跨学科学习的命题时,也必将发展出基于少儿编程的基础教育中的学科融合学习模式。
-
这几年,小升初一直被列为热门话题,其热度甚至超过中、高考的关注。家长认为,好的初中才会考上好的高中,然而,好的高中就几乎等同于进入了好的大学。在小升初的面试中,如何让孩...
- 2021-03-09
-
前不久,一条消息刷爆教育界朋友圈:等我们娃考大学的时候,机器人编程估计已经是必考项目了,家长要像补文化课一样补编程。其实编程说简单了就是如何玩机器人,幼儿园小班开始学乐...
- 2021-03-09
-
从战胜最顶尖的国际象棋选手到驾驶飞机,再到进行股票市场的交易,计算机在现代生活的各个领域无孔不入。自从AlphaGo战胜李世乭以来,有人开始惊呼:“计算机要统治未来,现在开始要学...
- 2021-03-09