或许大伙对程序设计、技术员都有一些知道,但事实上真的知道儿童编程的并不多,特别是儿童学习编程对TA的早期教育,到底有多大的影响。
以Scratch为例进行展示。Scratch是MIT研发并开放的一个儿童图形化编程的工具平台。可以在web上进行操作和推荐,也可以下载到计算机当地。儿童甚至成人都可以用它,来制作动画贺卡,制作游戏,制作音乐,制作各种他们可以用编程完成的任务。很酷炫,所以也有人说,会编程的孩子将来就像摇滚巨星一样,在孩子他们的群体中。
Scratch是一个图形编程的工作方法,很 合适儿童,但相应的它的编程语言设计,相比较专业计算机语言而言,就是一个简版对于儿童起步而言,刚刚好。
孩子了解这类指令的基本含义之后,他就能把中间的指令拖拽到右侧,享受他控制宠物猫的乐趣,创造一些活动场景和游戏的乐趣这类就是编程过程。
所以这个儿童编程的过程,不是像大家软件开发工程师那样,对着符号化的计算机语言来工作。而是面向一个图形化界面,面向一个具备丰富角色和操作性的、可以让他控制全部的新游戏。儿童编程就像一个创世纪的游戏一样。
儿童编程对于教育有哪些用途
三个层面来回答儿童编程对于儿童教育的巨大用途。
第一层:儿童编程有着丰富的基本技能内涵,可以在每个方面帮助到儿童。
第二层:儿童编程是一个学科融合的最好平台,可以提供跨学科的学习。
第三层:儿童编程可以完成不少高阶能力的培养,在将来公立教育中的地位也会不断提升。
儿童编程培养的基本技能
儿童编程涉及到的基本技能很丰富,不止是编程本身。大家前面说,就以Scratch为例,至少有如下四个方面的基本技能方向:
1.数学方面
第一个方面就是数学。儿童编程图形化编程,第一技能方向就是数学。大家前面注意到,儿童学儿童编程,第一注意的就是一个或一些角色在舞台上的行动这其中就包含:
坐标系:舞台是一个以中心为原点的直角坐标系,x轴正方向为右,y轴正方向为上。通过坐标点,来控制所有角色的地方。
数据种类:最容易见到的是整数和小数,即实数集,另外还有布尔种类、字符串种类。
数据的比较:也就是数学中三种基本顺序,大于、等于和小于。
算术运算:加减乘除是四种基本运算,儿童在编程过程中,常常需要在具体的场景中来运用这四种基本运算。另外还有取模运算和四舍五入。
数学函数:在编程过程中,儿童将接触到一些基本的数学函数,包含取绝对值,三角函数,对数函数与指数函数等。可以很直观的通过函数图像的自动喵点画图及生活应用来理解它们。
几何图形:在编程过程中,一类容易见到的任务就是图形绘制。这个过程中,儿童将很多接触几何图形,并从坐标系中进行图形绘制和操控。
所以这里面有着很多的数学学科内容,而且,这类内容都在具体的问题和任务场景中出现,既包含基本算术和几何图形常识,也包含函数与坐标系等中学习数学核心定义。通过它们在具体任务中的应用,儿童不只操控了这个虚拟世界,而且会切身训练到、应用到数学常识和能力。
2.逻辑方面
编程的基础,既有数学,也有逻辑。逻辑思维能力,是儿童进步的一个基本能力,在文理每个方向都是十分要紧的基础。儿童编程,可能是首次对儿童正式的、系统的进行逻辑方面的训练。
逻辑变量:起点就是逻辑变量或事件的真或假。真或假是逻辑世界的两个基本值。
比较逻辑:对于用比较判断的逻辑,是儿童有直接经验并可以学习的基本逻辑判断,大于、等于、小于三种逻辑判断。
事件逻辑:第二是事件逻辑,基于事件的判断,也是儿童比较熟知的。儿童编程用几种基本的事件模式,来生成事件判断语句。在Scratch中都是以触碰为核心动作来构建的。
逻辑运算:在简单的逻辑推理中,三种基本逻辑运算是非常重要的基础。即与逻辑、或逻辑和非逻辑这三种基本逻辑在儿童编程中很多的用法到。
逻辑控制:然后就是一组逻辑控制,包含条件判断、循环控制和等待。这类既是儿童编程的基本逻辑控制语句,也是逻辑思维训练的一个基本工具。
所以在儿童编程中,逻辑思维的练习是一个基本练习,这也是程序设计及计算机科学方向的一个基本核心特点。儿童将在很多的问题解决和任务控制中,形成系统化的有逻辑的解决方法。突出训练到儿童的逻辑思维能力。这种逻辑练习的密集度,不是其它活动所能比拟的。
3.设计思维
设计思维是大家提出的对将来社会有重大意义的思维方法,它是一种面向问题解决的、革新的系统思维办法。这也是是STEM课程方向内儿童编程的优势之一。大家的儿童将掌握系统的思维办法来剖析、分解问题,并通过综合的资源来解决问题。
基本设计:在Scratch的编程世界中,任何一个问题需要或任务,都需要在背景、角色及行为上进行考虑和分解。它们是这款编程工具提供的基本视角和思维框架。
角色表达:在角色的行为表达过程中,基本的表达工具是外观图形的控制和声音音乐的控制。一个角色的外在行为和表达,无非这类方面。
交互逻辑:在事件过程中,背景、角色、行为所组成的一个完整世界中,核心逻辑是通过它们交互来完成的。除去程序所控制的软件层面的交互以外,Scratch还提供丰富指令对计算机外部设施与外部的智能化控制元件的操作能力,这使得儿童编程的解决问题方法,扩展到了硬件层面,扩展到了日常的自动控制层面。
所以,儿童编程是一个具备丰富资源和场景可能性的学科方向,以驱使儿童深入的、革新的考虑问题的解决方案,并训练到儿童的设计思维。伴随问题的复杂度,与儿童问题解决方法的复杂度,和策略中操控设施复杂度的提高,儿童的设计思维能力在不断提高。
4.程序设计
最后再谈一谈儿童编程对程序设计能力的提高这是显而易见的,这是本门的功能。虽然大家前面说,就编程启蒙工具Scratch这些而言,它的语言设计是简版的,但对儿童而言却是刚刚好。
程序设计的基本方面:程序设计和计算机语言的基本方面,包含数据与变量的定义,包含语句和模块,都是程序设计的基本定义。
计算机科学的方面:另外,Scratch中还有数据结构的支持,这是计算机科学的基本核心内容之一,还有对消息机制的应用,这在计算机软件系统中很多的应用着。同样的,需要用到步骤图等设计工具。
系统运行逻辑:现在大家的社会,是一个人机协作的社会。相当多的职业和职位,都需要和计算机系统交际。理解计算机系统运行的原理,最好最深入的方法就是理解一段程序。儿童编程每一个任务,都会涉及到系统启动、运行和结束的基本过程。
工程技术研发逻辑:这既是元认知层面的练习,同时也是STEM学科方向的基本特点之一。儿童在儿童编程过程中,将掌握怎么样剖析问题,掌握设计、研发、测试,并在应用中领会着解决问题的快乐。深刻理解在工程意义上而言解决一个真实问题的过程。
通过以上数学方面、逻辑方面、设计思维和程序设计四个方向基本技能解说,大家可以得出结论,儿童编程,对比目前学校里的所有学科而言,都有鲜明的特点和优势。它对大家儿童的教育和训练,恰恰是很多学科所不可以提供的。
所以,儿童编程对于儿童的基本技能的学习和练习,有着巨大的、不可替代有哪些用途。