小学程序设计教学要点分析
2017-12-08李存儒
李存儒
[摘 要]以Logo语言为背景程序设计教学并不是强化Logo语言知识本身,而是培养和训练学生的思维深度和抽象认知能力。引导学生使用logo语言将解决问题的算法落实在与计算机的对话中,初步认识结构化程序设计思想,为以后的进一步学习打下基础。
[关键词]Logo语言;思维深度;算法
[中图分类号] G43 [文献标识码] A [文章编号] 1007-9068(2017)30-0086-02
现在的小学信息技术教学过多地把信息技术单纯看成技术应用,学习掌握的只是应用程序,是在按照程序做事,通过程序化的模块(菜单)进行判断决策,选择合适操作,学生的思维和创造力没有得到全面的发展。而另一个层面的程序控制及其思想却被忽略了,由此我们想到了应该增设初步的程序设计内容,来启迪学生的创造性思维,也正是这种思考,logo语言教学重新又回到了课程中。
一、Logo语言的特点——命令简单易记,执行灵活多变
logo语言的系统命令一般由英语单词缩写而成,如“HT”是“hideturtle”的缩写,藏龟命令。“FD”是“forward”的缩写,是前进命令。在logo语言中,可以将一个或几个命令一起依次输入,每个命令之间用空格分开,logo按顺序依次编译执行。
Logo语言命令的执行方式有两种:立即执行和过程运行。1.立即执行。在LOGO上画图最直接的方式是在“文本窗口”输入命令,“文本窗口”中命令的输入是与“作图窗口”上的图形显示同步的,只要命令符合语法规则,海龟能马上按照命令执行动作,效果立竿见影。2.过程执行。是指小海龟能够完成一组命令,且这组命令能够被保存下来,反复使用。所谓过程是为达到某种目的而按一定的规则组织起来的Logo语言的语句集合,这些过程又可作为其他过程的子过程,组织更复杂的过程,以此来解决复杂的问题。过程一经定义便为一个新的命令,以后可用来作为基本命令进行调用,其扩展性强。程序还可以递归(自我调用),给编制高水平的程序带来极大的方便。
二、教学设计——想象力的培养和思维深度的训练
1.想象力的培养
想象力是发展学生创造性思维必不可少的条件和重要内容。想象力是这样一个过程,我们可以在头脑中构想各种各样的图景,把自己所期望或所想达成的愿望描摹在上面。想象力虽是人天生具有的能力,但这种能力是可以通过后天改善和提高的。想象力有着无可估量的价值。Logo语言设计中,教师要鼓励学生展开想象,帮助学生想办法把想象变成指导实践的具体方法,从而达到提高学生想象能力的目的。
2.思维深度的训练
思维深度,是指一个人逻辑思路连贯性和全面性的程度,它在思考力体系的关系中是基础性的, 在某种程度上它影响着思维速度。思维深度深的人思路清晰、细致、善于总结规律,解决问题的效率高。
logo编程有这样的特点,命令不用编译,再短的命令只要符合语法规范,马上可以执行,这样设计的优点是学生能很快地看到程序运行的结果,缺点是学生容易养成 “短思维”的习惯。在画稍微复杂的图形时,“一条命令,一个回车”,会造成短命令碎片多、无条理、程序查错困难等一系列问题。如果编写程序时能多想几步,将逻辑上相对完整的语句写在一行中,一并执行,或者使用“过程”形式来组织,便能大大提高程序的可阅读性,便于后期程序的优化操作。其实这样的思维和编程习惯正是结构化设计思想,在教学设计时要有意地渗透这种思维方法。
三、教学的重点——吃透“算法”
简单地说,算法就是问题在学生大脑中一个思维和计算过程,或具体地看图推算,或抽象地数学计算,它是一个解决问题的思路。学习logo语言的过程实际上就是验证了算法的过程,无形中学生的操作、组合、建模、优化等一系列的思维能力都得到了发展。
1.算法的广度思考
[教学实例1]“画笔方向变化与转弯命令之间关系”
在学习前进与后退命令、左转与右转命令时,我们通过“画等边三角形”学习小海龟方向变化与转弯命令之间的关系。学生受“画矩形”影响(矩形在顶点处内角和外角正好都是90°),想当然地认为在顶点转角为60°(因为三角的内角是60°),这时要引导学生仔细分析,我们可借助一个钟面指针的动画演示小海龟在顶点的转弯过程,指针转动角度才应该是小海龟转过的角度120°,它应该是外角180° -60°。然后根据顺逆时针来确定用哪一个命令。通过这个练习,学生们对转弯命令有了更深层的理解。
再推广到画封闭的图形(學习repeat命令)时,如正三角形、正方形、正六边形等,又涉及了顶点转角的问题,这时学生已会根据图形几何形状判断转过的角度为外角,可是需要知道图形内角的角度才能计算,如果正多边形边数很多,那么很难计算出来。这时我们又可以引导学生从另外一个角度去思考:小海龟完整地画完图形时,其实是转了360°,因为是“正”形,所以每画一条边后转过的角度应当是一样的,因此,每次转过的角度变为了360/边数,这样在画正多边形时,可以免于思考和计算图形内角的度数。在这个过程中学生的发散思维得到了很好的训练。
2.算法的深度挖掘
[教学实例2]由“角数是奇数正多角星”到“任意角数的正多角星”
课的难点是画角数为奇数的正多角星顶点角度的确定,学生都懂得转过角度应该是外角的道理。因此,“180-内角”是没有问题的。可是内角怎么确定?教参和网上的很多相关内容都没讲清楚这个问题的算理,因此内角的确定成了解决本课难点的难点,怎么突破这个难点。用数学的方法很容易证明:
其实从纯数学的方法,我们也可证明出∠1=∠3=180/n(这里n=5,五角星)。
证明过程:
因为∠2=(n-2)×180/n(绿色五边形)
∠1=(180-∠2)/2=180/n(红色的等腰三角形)
可是小学生受数学知识的限制无法理解。如何向他们解释清楚这一算理呢?经过多次的探索,发现用小学生容易接受的直观的“剪拼”图形法能很容易讲清楚算法(算理)。例如,将五角星的五个“角”剪下来,把它们拼在一条直线上。正好拼成一个平角,又因为它们是相等的,所以每个角是180°/5,即36°。
四、教学方式——以“兴趣”为起点,以“活动”为载体
Logo教学是一种程序教学,由于其在现实的计算机中缺乏应用基础,导致学生对此几乎没有直接兴趣,加上知识本身的抽象性、变幻性较强,一旦处理不好,学生就会有较重的畏难情绪和疏远心理。因此教学中我们一直把要激趣、活动和评价等作为突破口。小学生仍以直觉形象思维为主,单纯向他们灌输命令名、格式、语法等,既枯燥又不可取,应联系具体图形介绍每一个命令。尽量地在例子中来学习命令,比如用画台阶学习画线与转弯命令,用画虚线学习提笔与落笔命令,用画正多边形学习重复命令等等。尽可能通过视觉形象思维来引导学习。
有人将logo说成另一种“画图”,其实“海龟画图”并非在“画图”,准确地说,应该把logo中的海龟看成是虚拟的机器人,是按照设定的图形路线在行动。从思维过程来看,是控制海归者思维上先有路线,再设定程序,最后是海龟按照程序在行走而留下的“图画”。其过程是一个程序控制过程,在控制过程中涉及数学知识和程序的算法。学习Logo语言总的目标首先是要能运用Logo语言的命令画出一些基本图形,包括用定义过程的方法,说到底,定义过程后,过程名就是一个新的命令。教学中对于每一个问题的出现,每一种操作和分析,我们都要从更深的层次去把握。
(责编 韦淑红)endprint