大家好,我是果果妈~
前不久和大家聊过,果果奶奶是我见过的最宝藏最充满正能量的人之一~计算机专业的她能文能武,还非常乐于带着果果玩乐高。
上一篇文章,果果奶奶跟大家聊了聊如何用《一套年买的玩具,给果果打开了新世界的大门》(点击标题可以阅读原文)。
后来果果奶奶又购置一套五合一智能化LEGOBoost,里面包含芬尼机器人、芬奇小猫咪、积木自动拼装机、M.R.T.4智能车和可弹奏的吉他,可以通过iPad或手机APPLEGOBOOST引导指南搭建、编程和运行。
说实话我看着这么多零件和指引都有点眼晕,但果果和果果奶奶祖孙俩却能玩得不亦乐乎,还给我表演机器人打枪发射子弹等等各种动作。
下面就是果果奶奶写的第二篇乐高编程文章~
大家好,我是果果的奶奶。可能因为我是计算机老师,所以对邓小平说过的“计算机普及要从娃娃抓起”印象深,另外我也相信未来社会人工智能等先进高科技即将成为主流技术,我很乐于在陪果果的过程中给她适当引入我的“老本行”。
家里最早的一套乐高还是果爸小时候玩过的,果果很喜欢。后来又给果果买了一套能编程的乐高机器人,里面交互式的操作能让孩子相对容易自主地去设计控制机器人,因而也更容易让孩子产生兴趣。配套的乐高APP通过电子设备仿真人的大脑,产生声音输入和输出,采用闯关解锁方式,一步一步指导完成,前一个步骤完成,测试成功后,才允许解锁,进入下一步,一环扣一环,直到成功。计算思维
计算思维是除了大家熟悉的逻辑思维和形象思维之外的第三种人类思维方式,它是运用计算机科学基础概念进行问题求解、系统设计、人类行为理解等涵盖计算机科学的一系列思维活动。模块化编程思想是计算思维内容之一,简单地说,模块化设计不需要逐条输入计算机的语句或代码,而是将完成某种功能设置为一个框架。模块化的目的是为了减低程序设计复杂度,简化到人人可用而无需写代码。通过模块化编程,使积木“动”起来,启蒙孩子的编程兴趣。机器人的核心技术是具有“生命力”,能够运动并完成指定设计,只有通过编程模式才能使机器人“活”起来。主要技术包含一个主控模块,一个色彩传感器,iPad通过蓝牙传输信息、编程、录音等,LEGOBoostAPP像大脑一样指挥和控制机器人的行为和功能。认识模块化知识
模块化程序设计的逻辑性很强,是培养孩子清晰思维和逻辑条理严谨的好平台,它基本思想是自顶向下、逐步分解,即将一个较大的程序按照功能分割成一些小模块,各模块相对独立、功能单一、结构清晰,孩子根据自己设计的任务组装它们即可。对3岁左右的果果,我们只想给她最初步、最简单的编程知识。例如,一个个小方块代表的模块、不同符号和图示代表着不同功能,不需要记忆代码和结构,只需要将各种图形化模块按设计要求拖曳到指定位置,并将相关的模块按顺序连接到一起,就像串一串珠子,有开始、有结束,一个个有顺序地连接起来,形象生动,简单易学。因此我主要负责搭建机器人,果果根据她的能力参与组装部分的大约15%,接着应该是程序模块化,在这之前我们先了解图形化的符号。认知编程常用图示
数学中常用符号表示,通过采用各种不同形状、颜色和大小的图形,表示各自独立的、显示各个物体的数量、功能和性能特征的方法。孩子们的后续学习中,应该经常遇到符号表示,通过LEGO,建立初步的认知。1.方向图示:控制机器人运动方向。如图依次为向前、退后、向左90°、向右90°、逆时针°、顺时针°。如果下面有数字的图示,还可以设置或修改前进后退的步数或旋转的度数。2.启动或触发执行图示:程序中触发指令是用来出发模块或模块集执行的指令,以达到运行程序的效果。此LEGO中,通过图形化模块实现的,这里有不同启动模块运行的模式,一旦满足启动模式,就执行。如图列出几种,按顺序是手动点击、标记、颜色传感器、遮挡传感器、声音、拍打机器人等等,符号特点是左侧具有圆弧。3.功能图示:具有某功能并连接在中间的模块,每个具有各自的功能,左右两侧有凹凸,代表它们可以与其同类图示连接的截面,若下方有数字,还可以设置次数或时间。第一排下一排是带有声音的模块。4.结束、返回和延时图示:程序执行时需要控制停止,否则无限运行,所以设计程序时,不仅要考虑启动,还有设置结束。这里,凡是有红色且有正方形图示用来表示停止程序执行,第1个是停止当前界面的所有程序,第2个是暂停,第3个是停止当前模块集的程序;第4个是返回上一层,最后一个是设置时间的延时。感受计算机程序三种结构
无论是计算机二进制、汇编语言还是今天的C语言、Java语言和Python语言,都离不开三种基本结构:顺序、选择和循环,也是计算思维最基本内容。在LEGO机器人中,它们表示为:1.顺序结构:按问题解决顺序设置模块,其执行顺序是自上而下,依次执行。LEGO在顺序结构设计得非常有意思,它从两个方面体现编程的顺序结构。一方面,机器人在搭建和模块建立共有六个大部分,每个大部分由3个小部分组成,前面一个若没有搭建或设置模块功能,下一个不能被解锁,即无法进入到下一个操作。例如,机器人先搭建身体、头部,然后脚部的履带,这样才可以解锁跳到后续一步;搭好头部,才可以设置摇头;搭建好枪,才具有发射子弹操作。这就是从上到下,一个一个设置和解锁。另一方面,多个模块构建成的程序集,执行是按照从左到右顺序进行的,如图,当手动触发后,依次执行“您好”语音模块,然后是前进一步、延时10秒、逆时针旋转90°、点头……。这个过程也是顺序结构的模式。2.选择结构:按照某个条件设置和执行指定模块,即条件不同将执行不同模块集。在这个机器人设置中,通过不同启动功能模块,执行满足条件相对应的模块集。例如,如图,当手动启动时,将执行第一个模块集;当通过红色传感器启动时,则执行第二个模块集;当通过与机器人握手方式启动时,将执行第三个模块集,从而达到选择结构方式。3.循环结构:在编程中需要反复执行某个模块或模块集而设置的一种结构。它由循环体中的条件,判断继续执行某个功能还是退出循环。乐高提供了可以容纳需要重复执行的模块,也可以设置循环次数,如图左侧的两个模块,分别是在模块集中和模块集结束之前用于设置循环结构的;右侧是一个实例,设置了5次顺时针旋转°和3次握手之后结束此模块集。果果能逐渐感受和体会这些知识。首先我们建立一个简单地模块集,只有3-4个,从启动模块开始,然后加入前进、旋转90°、左右摇头模块,当运行时,提示果果注意闪烁的模块,以呈现从左到右的顺序执行,灌入顺序结构思想;她自己随意建立模块集,执行,反反复复过程加深感受和操作;之后,添加循环模块,此在运行时不断闪烁,直到次数递减为0,模块执行与机器人行为同步,所见即所得,模块功能与机器人表现吻合。果果在实际过程中感悟和体验,玩中学,学中玩,我在旁边念叨着,“这是顺序执行的”,“这是不同启动方式中选择满足条件的运行”,“现在是重复执行的”。获取数据和信息的方法
信息分类有物理和化学等,物理的有光、电、声、位置、颜色、接触、遮挡等等,机器人通过自带的颜色传感器给孩子建立获取信息的方式以及它们的区别。在这套乐高编程套装里主要是颜色和接触等。例如,通过颜色传感器区分六种颜色,并将其作为启动条件。若设置红色,当在颜色传感器前5~10厘米之间放置其他颜色时,启动模块不响应。果果手上拿着不同颜色的积木,持续地尝试,只有红色被识别,让她领悟到红色才被认可,她又拿了一张红色的纸张,也被认可了,其他颜色的纸被拒绝。通过这类反反复复地实验,果果感知到信息载体的不同和区别。随着他们长大还会接触到触碰、超声波、光、距离、角度、温度、声音、陀螺仪、力、射频等信息的获取,对相关的传感器不会陌生的,接受力和理解力将会多么强大呵!在孩子的感知领域里,当他们与机器人握手时、大声与机器人说话时、向机器人挥手时,手动控制时,机器人就会执行相应的程序,一下子就能调动起孩子的兴趣~改变一些模块或调整模块的顺序,又能产生不同的效果,孩子们就觉得更有意思了。果果看我演示了几次,对图形化模块的使用很感兴趣,上手也很快。自己打开录音模块,开始录音“我是果果”等语音,选择她喜欢的图形化符号,然后随意地拖曳到她建立的模块集里,灵活地应用以上列出的各类图形化模块,随意组合,乐此不疲地让机器人运行,来回行走,不停旋转,摇头握手,色彩感应。果果展现出的那份自信,那份娴熟,好似勤快的小蜜蜂,自在地在LEGO模块王国中忙忙碌碌。感悟
在不懂什么叫编程,什么是代码的懵懂孩子面前,一个构思巧妙的游戏,一套LEGO积木,用他们的小手指,拖入或释放图示化的模块,就能打开一扇崭新的门,开启他们的思维,潜移默化地嵌入编程的思想方式,见识多姿多彩的世界,渐渐地产生探索科学奥秘的兴致。如果喜欢我的