拓展计算思维 培养创新能力

2017-07-31 13:07朱建峰
中国信息技术教育 2017年13期
关键词:路段算法传感器

朱建峰

《综合实践活动课程指导纲要》指出,“在不具备实物机器人的情况下,可以利用机器人仿真环境来模拟机器人的运动和调试使用流程图编制的简单的控制程序;初步感受利用程序解决问题的一般过程”。IRobotQ3D机器人在线仿真平台是基于网络互动模式设计,以强大的物理引擎作为技术支撑,以机器人为载体的科技创新平台。利用IRobotQ3D机器人在线仿真平台,便于组织机器人活动,能让更多的学生有接触机器人的机会,同时也有利于竞争交流。本文基于“汽车总动员”项目教学,对其中涉及的学生计算思维的培养方面作了一些思考。

● 情境创设,培养学生计算思维的基石

IRobotQ3D机器人在线仿真平台提供了“汽车总动员”项目。该项目的任务是:在一个虚拟的物理环境下,要求学生自己设计搭建机器人,并让机器人在规定的时间内从随机选取的赛道的起点抵达终点。在赛道中还设置了得分标记、快速过弯、飞车路段、能量补充站等,学生完成的得分动作越多,用时越少,得分就越高。

学生在面对这个任务时,首先会问:完成这个项目需要解决多少问题?解决这些问题困不困难?怎样才是最佳的解决方法?因此,在汽车总动员设置的情境中,要完成任务就需要学生运用计算机科学的基础概念去求解问题和设计方案。学生会根据自己的实际情况去搭建自己的小车,考虑用怎样的传感器。不同的学生搭建的小车是不一样的,使用的传感器也是不一样的,即使传感器一样,其安装的角度也是不一样的,正是由于这么多的不一样,学生才会产生思维的碰撞,才能不断改进。而在这个过程中,学生对问题的不断修正是培养他们计算思维的基石。

● 真实的体验,有效培养学生的计算思维

有效培养学生的计算思维,必须建立在学生实践的基础上,如果不给学生思考和实践的时间与空间,就无法培养他们的计算思维。因此,在实施项目任务时,教师应紧紧围绕实践性这个特点,让学生在解决问题中提高计算思维能力。

现象一:不同路况的不同处理。

在教学中,学生会遇到三种不同的直角转弯路段(如图1、图2、图3)。学生必须针对这三种路段进行实际的分析,采用不同的实施方案才能顺利完成任务(如下页表1)。

学生通过体验不同的路段,在思维与现实的碰撞中,提高了计算思维能力。而有了这种能力,学生在遇到类似的情况下,都能非常快地解决问题。

现象二:同一路段的不同处理。

在实践中,学生常常会因为同一情况(如图4)而采用不同的处理方式,于是有了如下方案(如表2)。

不同的处理方式的效果是不同的,但学生往往满足于一种解决方案,而忽视更为科学的另外一种方式,所以在教学中,应让学生在感知体验自己的解决方案的同时,想一想有没有比这个更优的处理方案,通过实践比较,得出一个最佳的求解方案。只有让学生体验,给予他们足够的时间与空间,才能让其充分利用自己的计算思维能力,更有效地解决问题。

● 引导新发现,拓展学生计算思维的深度

问题是思维的起点,也是创新的前奏,它能激活学生的潜在学习要求。学生在玩机器人时常常会进行调试,发现问题、解决问题是学生灵活掌控IRobotQ3D机器人的必经之路。

发现一:IRobotQ3D机器人在20的速度下运行稳定,能够正常完成任务,而当速度提高到40以上时,会出现转弯翻车的现象。针对这一问题,学生联系生活中的现象,发现可以从加重底盘、降低重心、缩短轴距等方面去调整机器人的结构。通过改进,机器人顺利地完成任务跑完全程,但新的问题又出来了,机器人在跑道边上取不到得分物,怎么办?有的学生想出了在机器人身上加装一根横梁跨过整个跑道的办法,但是机器人超过了规定长度。最终,学生想出了在机器人身上装一个伺服马达的办法,当机器人检测到有得分物时,就伸出横梁取得得分物。正是在这样的问题引导下,学生能不断改进机器人的搭建,同时也培养了独立思考、分析问题和解决问题的能力。当学生碰到问题时,他先对这个问题进行抽象,然后对它进行一种重新的计算性表达,接着发挥自己工程性的思维,考虑这个问题的解决效率是不是高,表达是不是准确,这就是学生计算思维的充分体现。

发现二:用一个子程序跑完了整个赛段,任务是完成了,但是得分不理想。不同情况的赛道都用同样的程序去走,有些可加分的地方就得不到分,怎么办?学生想到了分路段跑,把整个路段分解成若干部分,并给每一部分编程,这样针对具体的路段就可以具体处理,成绩提高很快,学生也很有成就感。在解决问题时,让学生经历发现问题、提出问题、利用学科思维方式解决问题的过程,综合应用知识、技能来分析问题,设计解决问题的方案,并让计算机完成方案,得出结果,是对学生计算思维最好的锤炼。如果学生多经历几次这样的过程,他们的学科思维方式和计算思维能力就会逐步建立、强化并深化。

● 运用合理算法,培养学生创造力

王荣良曾提出,“算法思维能清楚说明问题解决的方法,能将一个复杂的问题转化成若干子问题并将其进一步简化,以达到解决问题的目的,这也是科学和设计领域的一项重要技能”。例如,要让汽车走完全程,学生可以利用多种传感器来完成,如障碍传感器(只能沿围栏走)、灰度传感器(沿路上的标志线走)、距离传感器(沿中间走或围栏走)这三种传感器都能完成任务,但最佳的永远只有一个。很多学生通过比较选择了距离传感器,因为它在实施任务时最方便可行。对于一個有算法思维的人,在给定有限的条件下,他会既考虑效果,又考虑准确性。

算法是对解决问题的计算过程的描述,也就是对解决问题的具体方法和实现步骤的描述。怎样把算法的本质进行抽象化呢?这涉及程序问题。一般情况下,汽车走在路中间会有三种情况(如图5、图6、图7)。

学生可以根据以上三种情况,通过枚举法的设计思想设计出算法,得出结论,进行程序的设计(如表3)。

建立在理论上设计的程序,还需要用实践检验。在调试中,学生会发现小车运行时会不断抖动,这是为什么呢?这时,可以引导学生对算法进行反思和探索,得出结论。如何进一步优化算法,消除小车抖动呢?在此基础上,可以进一步引导学生积极展开思维,留出空白,使其完成新的求解方法,并讨论方法,归纳总结,这样学生的计算思维就得到了很好的锻炼。在这个程序中,只需要调整一下左右距离的差值,就能让机器人流畅地跑起来。学生在完成项目时往往会有很多想法,我们需要一步步引导学生不断否定自己的方法,深化对需求的理解,跳出惯性思维,以此养成对算法不断优化的思维习惯,从而促进其创新思维的形成。

在利用IRobotQ3D机器人在线仿真平台进行项目教学时,学生的计算思维得到了发展,学生的算法思维、创新思维也不断得到提升。就像周以真教授对计算思维的特征总结出的这样一句话:是人的而不是计算机的思维方式,良好的计算思维养成将成为个人终身受益的能力。

猜你喜欢
路段算法传感器
DEP推出量产内燃机传感器可提升效率减少排放
Travellng thg World Full—time for Rree
跟踪导练(三)2
基于元胞自动机下的交通事故路段仿真
基于元胞自动机下的交通事故路段仿真
光纤与光纤传感器
学习算法的“三种境界”
算法框图的补全
算法初步知识盘点
走好人生“特殊路段”