在机器人教学中培养学生编程思维

2017-09-24 06:33陈漫
新课程·上旬 2017年8期
关键词:面向对象语句编程

陈漫

一、问题的提出

学生编写程序的能力和编程思维的培养是信息技术课教学的核心内容之一。可以说,信息社会的快速发展,就是完全依赖于浩如烟海的程序和众多的程序员。但是,编程思维非常抽象,逻辑性非常强,而且编写程序又是学生非常难以接触到的领域。所以,不管是外国,还是中国,都有许多教育专家在想方设法让中小学生能够在课堂上培养编程思维和进行编写程序的训练。

二、智能机器人教学

直到最近几年,我开始进行智能机器人的教学试点,逐渐开展智能机器人的课堂教学,我发现智能机器人的图形化编程打开了一扇通往学生编程思维和编程能力的大门。

智能机器人编程软件的图形化界面,模块化的程序,简单的中文注释,还有学生最喜欢的模拟仿真环境,这些机器人编程的要素都极大地降低了学生编写程序的难度,为培养学生的编程思维提供了条件。

三、在机器人教学中培养学生编程思维

1.学生编写程序画出六边形和八边形

这一课,学生正在为六边形和八边形一条长长的程序而头疼不已。突然间,老师示范了一种更加简便和有效的编程方法,只用了3个程序,就可以画出六边形、八边形,甚至十六边形、三十二边形。学生的印象非常深刻,立刻就接受了编程思维中的循环概念,而且体会到了循环语句带来的简便。

2.编写巡逻机器人程序和走迷宫

这一课的巡逻机器人的程序用到了传感器。教学中,在多次循环程序的基础上,引出了“永久循环”程序。又利用人的眼睛、鼻子做例子,引入了条件判断、“是的行动”和“否的行动”。在编写程序中,又提出了“条件判断表达式”。

在机器人的图形化编程环境中,这个程序呈现出一个非常稳定的三角形结构,让学生直观地体会到了结构性编程的稳定和牢固。小学生的形象化思维是比较强的,这个三角形稳定结构的巡逻机器人程序,更加容易被中小学生所接受。一定会对学生长大后学习编写程序起到非常有益的作用。

程序编写完成后,还要在仿真模拟环境中画迷宫测试程序。这项操作,其实就是未来的搭建程序测试环境。学生编完程序后,就拼命画各种不同的迷宫让机器人走,玩得不亦乐乎。编写程序中的测试环境的搭建环节就自然而然地成为学生测试程序的最佳选择。

3.编写特殊传感器——轨迹识别传感器的程序

这一课要学习一个特殊的传感器——轨迹识别传感器,这种传感器的程序打破了稳定的三角形结构,针对轨迹识别传感器的不同状态使用了3个条件判断。

轨迹识别传感器的程序不是C语言的结构性编程思维,而是C++和C#,以及JAVA的面向对象的编程思维。

面向对象的编程思维是编程思维的飞跃式发展,可以使程序更加灵活,适应性更广,可以完成更加复杂的任务。面向对象的编程思维才可以适应现在复杂多变的信息社会和多种多样的智能设备。

4.编写音乐的程序

这一课的学习就比较轻松,我把学生比较熟悉的儿歌简谱发给学生,让学生尝试编写,并在模拟仿真环境中进行演奏。学生都玩得特别高兴,会乐器的学生还编出了比较复杂的曲子。大部分学生都编出了简单的曲子,还有学生自己创作了自己的曲子,不断找同学试听。

准确来说,这一课中的音乐程序,属于面向对象的编程思维中的接口程序。因为不管是在过程性编程的汇编语言里,还是在结构性编程的C语言里,都可以编写音乐程序。但是都没有在面向对象编程的C++、C#、JAVA语言里,那么方便和简单。

四、教学的感悟

经过一个学期的学习,由浅入深,由简单到复杂,学生的编程思维和编程能力得到了系统的锻炼和提高。

從程序的简单排列和重复;到程序参数的调节和精确调节;从循环语句到条件语句的学习;从结构化编程到面向对象的编程;从程序的接口到复杂程序的嵌套。学生在学习中都接触到了,并且能够编出相关的程序,而且在模拟仿真中真切体会到了程序的运行。

五、学生编程能力对比

我在2个学期后进行了PClogo编程和机器人编程的对比测评。测评班级的学生都学过PClogo编程和机器人编程。测评任务是编写程序画出一个正方形。

测评结果是:

使用PClogo编程序画正方形——无一人完成(如图)。

使用机器人编程序画出正方形——全部完成(如图)。

对比测评结果非常悬殊,说明了教学效果有明显差别。这一测评结果证明了机器人编程对学生的编程能力和编程思维有着非常巨大的帮助。

在PClogo编程中,即使有个别学生记得怎样编程,但是也因为忘记相关程序语句而无法完成编程。而在这一方面,机器人编程占据了先天的优势。学生只要用鼠标选取合适的模块和程序,就基本完成了编程,不需要记忆相关的程序语句。

在对比测评中,全部完成画正方形程序的学生中,大概有三分之一的学生使用了循环语句来完成画出正方形的程序。这就证明了这部分学生的编程思维已经摆脱了简单排列组合而进入了更高的层次。这就更加证明了一个更好的教学方式,一个更好的教学环境所引发的巨大进步。

这些具备初步编程思维和编程能力的学生长大以后,就会非常自然地把编程思维和编程能力运用到自己的生活和工作中。那么,学校中的教育教学才真正具有促进社会发展的意义。

编辑 李博宁endprint

猜你喜欢
面向对象语句编程
编程,是一种态度
编程小能手
重点:语句衔接
纺织机上诞生的编程
面向对象的计算机网络设计软件系统的开发
面向对象的数据交换协议研究与应用
面向对象Web开发编程语言的的评估方法
如何搞定语句衔接题
面向对象信息提取中影像分割参数的选择
作文语句实录