LOGO语言教学初探

时间:2011-07-23 编辑: 手机版

  【摘 要】LOGO语言是一种过程性语言,它功能强大,简单易学,适合学生学习。学好LOGO语言的关键是——有效激发并保持学生的学习兴趣。为此,教学一开始,就需要创设情境,以境激趣,因趣导学,通过强烈的视觉冲击征服学生的眼睛,捕获学生的心灵。而后,通过课例引导,由浅入深,适时激励,快乐学习,轻松记忆,让学生很好地保持这种兴趣。精讲例题,举一反三,分析同类题目,让学生自己设计问题,自己去发现,去探索,去解决,则能达到触类旁通的效果,并使个性得到张扬。一题多解,不去框定解题的思路,不去禁锢学生的思维,每个学生都可以从不同的角度去分析问题和解决问题,这样可以有效训练学生的逻辑思维与发散思维,同时,也能让学生的创新潜能得到极致发挥。

  【关键词】LOGO语言 教学 兴趣

  LOGO语言是美国麻省理工学院人工智能实验室的西摩尔·帕伯特教授特意为孩子们设计的计算机语言。它是一种过程性语言,具有绘画、字表和会话功能,还能进行过程调用,功能强大,形象直观,简单易学。学生用LOGO语言“搭积木式”地“作画”,其中的每一段线条,每一个图案,都可以看作是一个具体算法的体现。可以说,学生设计“作画”的过程,也是学习与运用LOGO语言的过程。在“玩”中“学”,这不仅是一种理性的思维过程,也是一种愉悦的审美过程。

  说实话,一接触到LOGO语言,我本人对这只“小海龟”是充满无限爱意的。但是,作为学习的主体——学生呢,也有那份激情吗?如何才能让学生学好LOGO语言呢?凭着多年的经验,我把兴趣培养放在了首位。爱因斯坦不是说过吗——“兴趣是最好的老师。”只要能有效地激发并保持学生的学习兴趣,那么,学好LOGO语言也应该是水到渠成的事。

  一、创设情境,以境激趣,因趣导学。

  良好的开始就是成功的一半,第一堂课的教学犹为重要。对于新事物,学生总是怀着好奇心的。所以,一开始就需要创设情境,力求一下子抓住学生的心,以境激趣,因趣导学。

  “画图”应该说是LOGO语言最具特色的功能之一,几个简单的命令组合便可以完成一个画图的任务。在上第一节LOGO语言课时,我首先出示了一幅图(如图1),让学生用最拿手的电脑绘图方法在最短的时间里画出来。学生大多选用他们熟悉的“画图”工具作画,也有部分学生试图用WORD中的绘图工具完成,甚至有人尝试用金山画王来解决。但无论他们怎样控制鼠标,要精确地画出如此精致的图形显然有些难度,颇有些力不从心的感觉。几分钟后,就在学生信心不足摇头叹息准备放弃的时候,我轻描淡写地冒出一句:“其实呀,如果老师来画这幅图,根本就用不着鼠标!”一石激起千层浪,就在学生诧异之际,我弹指如飞迅速录入“REPEAT 10 [REPEAT 5 [FD 50 RT 360/5] RT 36]”,学生还没明白是怎么一回事,我已经轻轻地按下了Enter键,屏幕上显示的结果令所有的孩子目瞪口呆!这“欲摛故纵”的策略,为我创设了良好时机,学生非得让我慢慢地重输一遍刚才的内容。我趁热打铁,展示出网上搜集的几幅精美的LOGO语言作品图案。当学生还在欣赏惊叹之时,我郑重宣布:“这些图案都是一只小海龟所画”。顿时,“小海龟”三个字成了学生脑中的一个烙印,敬意与好奇已然刻入其中。这还不够,为了印证自己的话说得没错,紧接着,我利用WAIT这个“等待”命令来展示作画的过程。还是画原来的那幅图(图1),输入“REPEAT 10 [REPEAT 5 [FD 50 RT 360/5 WAIT 20] RT 36 WAIT 10]”。因为有了等待的时间,每一条线段,每一个转弯,都看得清清楚楚,学生无不啧啧称奇。随后,我又利用反复循环构造出一架会转动的螺旋图案以及一个摩天轮。我想,我已经充分吸引孩子的目光,彻底征服孩子的眼睛。因为,看他们的样子,已是蠢蠢欲动迫不及待了。

  通过强烈的视觉冲击来征服学生的眼睛,捕获学生的心灵,通过了解LOGO语言所具有的强大功能激发学生强烈的学习愿望与学习兴趣,都为学好LOGO语言开了个好头。

  二、课例引导,由浅入深,轻松记忆。

  俗话说,“万丈高楼平地起。”LOGO语言虽然简单易学,但真正要掌握也是要花点功夫的。LOGO语言的基本绘图命令是学好LOGO语言的基础。而在理解命令含义的基础上熟练地记忆命令,并且在需要的时候能够灵活运用,则是学习的关键。

  命令都是英文单词,虽然有很大一部分是缩写,但对于小学生而言,背诵仍然是十分枯燥与乏味的,也是有一定难度的。一开始,因为学生被可爱的小海龟所吸引,学习时兴趣盎然,对于“前进、后退”这些简单命令的掌握应该是不在话下。但随着课程学习的深入,学习难度的增加,绘图命令的增多,命令的记忆与运用是有一定难度的。这些都往往令学生无从下手,不知所措,容易导致厌倦情绪产生,厌记厌学。一旦厌学,学习LOGO语言便如同嚼蜡,索然无味,甚至望而却步。如果是这种结果,那么,我们的教学也就陷入了困境。

  为了令学生保持原有的那份热情,那份兴趣,我们必须降低难度,由浅入深,适时激励,快乐学习,轻松记忆。利用课例引导可以让学生很好地保持学习的兴趣。所谓课例引导,即是事先给定一个算法课例,有算法设计(其间有空缺),也有图形展示,两相对应,同时展现:学生对照图形来分析每一个算法命令,在充分理解的基础上再把空缺的的命令或参数补充完整。这样的练习与分析,有例可循,有图可参,学生很容易记住命令,练得多了,也就熟练了。

  比如,LT(左转)、RT(右转)是非常简单的转向命令。但有一点要注意的是,它们的转向有一个参照点,这个参照点就是海龟的当前方向:如果海龟的头上脚下,LT就是往屏幕左侧;如果是头下脚上,那么LT就是往屏幕右侧。但很多学生都直观地认为往屏幕左侧就是LT,右侧就是RT,其实这是不对的。为此,我设计了这么一个课例:让学生用LOGO语言画出经典游戏“俄罗斯方块”中的一款积木形状(如图2)。学生都十分喜欢游戏,如今通过自己的双手让小海龟画出游戏里的图形,学习热情空前高涨。加之有图形对照,大部分命令也已存在,所以完成起来非常顺利。我再趁热打铁,让学生思考:LT 90 能不能用RT 来实现?如果可以,角度是多少?这样一来,学生已完全掌握了转向命令LT、RT的使用。

  REPEAT(重复)命令的嵌套使用是一个重点,也是个不折不扣的难点,学生学起来比较抽象。为了让学生理解REPEAT命令的嵌套使用,我设计了下面这样一个课例(如图3):先通过画一个简单的正六边形来体会使用REPEAT命令可以在很大程度上简化程序。因为有直观的参考,学生很容易得出结果:REPEAT 6 [FD 30 RT 60],重复6次。在这个基础上,引导学生分析,下面的组合图,如何完成?一开始,学生基本上都会认为这个组合图是由三个正方体加一外框线组成的,是个立体图形。这样一来,事情就走入了死胡同,把问题复杂化了。为此,我作了适当的提醒:这个组合图包含着多少个刚才画过的正六边形?学生在热烈的讨论中,通过大脑空间的想像,达成共识:正六边形每旋转60度再画一次,一共6次,从而得出最终结果:REPEAT 6 [ REPEAT 6 [ FD 30 RT 60 ] LT 60 ]。如此一来,无需多费口舌,学生在不知不觉中已然深层次地理解了REPEAT命令的嵌套使用。

  课例教学其实是一种问题情境。通过课例引导,命令的教学已经融合在一个个学生喜欢的情境中,不再是机械的、被动的。课例教学使得LOGO教学脱离枯燥的背记,走进轻松的游戏,令学生保持浓厚的学习兴趣。

  三、精讲例题,触类旁通,张扬个性。

  用LOGO语言绘制的图案,变化多样,奥妙无穷。很多图形乍看之下,迥然不同,根本就是风马牛不相及。而事实上,他们使用的命令大同小异,只是顺序稍有不同,或是参数作了改变,或是顺序作了变换。特别是REPEAT这一重复命令,即使所用命令全部一样,只要参数不同,所作的图就千姿百态,完全两样。如果懂得了其中的奥妙,学起来就会事半功倍。为此,在教学中我经常精讲例题,然后让学生举一反三做同类型的题目,达到触类旁通的效果。

  比如,在教画正多边形的时候,首先从画正方形入手,因为正方形是大众化的一个图形,学生再熟悉不过。通过命令试画,总结得出一个比较好的答案:REPEAT 4 [FD 80 RT 360/4]。而后,再引导学生分析,这一行命令中的几个参数都有什么含义?通过讨论,让学生明白其中的“4”是边数,“360/4”是旋转的角度。在这个基础上,让学生试着画一个边长为80的正三角形(等边三角形)和正五边形。在精讲例题的引导下,大部分学生都能得出这样的答案:REPEAT 3 [ FD 80 RT 360/3], REPEAT 5 [ FD 80 RT 360/5]。有了这样的练习,学生就很容易再得出画边长为80的正N边形的命令模式:REPEAT N [FD 80 RT 360/N],继而总结出画任意边长正N边形的命令模式:REPEAT N [ FD M RT 360/N],其中M表示边长,N表示边数。

  在教学中,我们要注意学生程序设计思维的培养,注重个性张扬。“授人以鱼,不如授人以渔”,老师往往擅长说教与分析。在我看来,与其把一个复杂的程序展示给学生,讲解算法,解释命令,不如让学生自己动手去解决一个简单的问题,培养学生自我探究的能力。因此,在课堂上,我会尽量多地让学生自己设计一个问题,然后自己去发现,自己去探索,而后动手解决它,让学生的个性得到张扬。

  在懂得画正五边形的基础上,有个学生就提出了一个问题:五角星也是五条边的,怎样画出五角星呢?是啊,REPEAT 5 [ FD 80 RT 360/5 ] 可以画出一个正五边形,那五角星又该如何画呢?此时,我并没有急着揭示答案,而是让学生自己去解决这个问题。通过摸索,学生搞清楚了,其实就是旋转的角度不同:REPEAT 5 [ FD 80 RT 144 ]。事情到这还没结束,又有同学提问了,这样画出的五角星中间有线条,不太好看,空心的五角星(图4)才美呢,可是怎么画呢?真是长江后浪推前浪!真是个棘手的问题,因为这不仅是五条边的问题了,并且转弯的方向也不同。但因为有动力,有兴趣,学生研究的劲头可是不容小觑,没费多大功夫,问题便迎刃而解:REPEAT 5 [ FD 50 LT 72 FD 50 RT 144 ]。这是多么令人欣喜的事啊!

  四、一题多解,训练思维,大胆创新。

  计算机编程有一个特点,完成相同的结果,可以运用多种不同的算法。不同的算法体现了不同的解题思路,不同的思维模式。所以,LOGO语言是训练逻辑思维和发散思维的有力武器。

  教学中,不宜一味地让学生照着葫芦画瓢。可以通过一题多解,让学生通过不同的角度去分析问题,解决问题,从复杂的操作中寻求最简单有效的方法。比如在教画“米”字图形时,我先引导学生分析图形,得出一个结论:这个图形可以通过多种方法画出。有同学把海龟原点作为“米”的右下角开始作画,也有当作左下角开始作画,而大部分同学选择了把它作为“米”的中心点;有的同学把“米”字作为一横一竖两斜线来处理,有的同学却从原点出发,按45度角转弯画8条线段处理;有的同学用的是分步作画,分行写命令,但有的同学却使用了REPEAT命令,使得作画过程更为简单明了。但是,无论怎样,只要画出了“米”字形的图案,无论用哪种方法应该说都是可行的,都值得肯定。只是在最后评价时,鼓励同学们采用最简单有效的方法来做,尽量避免复杂化。

  LOGO语言就像搭积木,可以灵活组合,随时创新。陶行之曾说:“每个儿童都有创造潜能。”这种并不限定算法而让学生一题多解的做法,没有框定解题的思路,没有禁锢学生的思维,每个学生都可以用自己独特的方法去解决同一个问题。因此,不仅学生的逻辑思维与发散思维得到了很好的训练,同时,他们的创新潜能也得到极致的发挥。

  当然,学生总究只是学生,思维没有那么成熟,算法也不至于那么缜密与完善,但LOGO语言确实为学生提供了一个自由广阔的空间。在这里,他们可以尽情地发挥自己的创造力、想象力,这对于培养学生的创新能力是有莫大帮助的。

LOGO语言教学初探相关推荐