随着计算机奥林匹克竞赛、机器人竞赛等活动在小学生中的深入开展,面向小学生的程序设计教学已经在小学信息技术教学中所处地位越来越重要。小学生的程序设计教学以计算机语言为教学内容,以让学生能够运用所学的计算机语言独立编程解决日常生活中的数学问题为教学目标。其宗旨主要是运用电脑开发人脑,培养学生的抽象逻辑思维能力及创新思维能力。目前,适合小学生学习的计算机语言有logo、quickbasic、turbopacal等,flash动画制作中的动作脚本编程及机器人课外活动中的编程也可纳入到程序设计教学中来。学生学习程序设计,强调运用创新思维解决问题。因而在程序设计教学中培养学生的创新思维能力非常关键。怎样在这些程序语言的教学中培养学生的创新思维能力呢?我在从事多年的小学生程序设计教学中进行了一些实践探索和探索。
一、激发学生学习编程的兴趣,培养学生创新的思维态度
兴趣是最好的老师。对于小学生而言,程序设计让学生面对的就是英文和数字,内容抽象枯燥,如果教师处理不当学生将极易产生厌学情绪,对学生今后学习程序设计都将产生消极影响。怎样激发学生学习兴趣呢?首先是通过明确学习的目的来激发学生学习编程的兴趣。如我在辅导学生学习pascal编程时,第一节课就让学生打开编程环境让学生运行一个算式或绘图的简单源程序,通过让学生了解程序设计的作用来激发学生的学习兴趣。其次是通过榜样的力量来激发学生学习兴趣,如让在各类程序设计竞赛中获奖的同学在课堂上介绍学习经验,让尖子生或进步的学生演示作品等。
在程序设计教学中,我认为最重要的要让学生在学习过程中能体会到学习成功的感觉,这是学生学习兴趣得以持续的根基。我在教学过程中发现,每当学生自己成功编程解决一个问题时便高兴得手舞足蹈,欢呼鹊跃,这就是学生学习成功的感觉。这种感觉犹如催化济,催引学生向更高、更深层次的编程学习。教师在教学中应充分利用“评价”杠杆,及时发现、表扬与鼓励学生的成功之处,多采取赏识教育。当学生遇到较大困难时应采取多种方式启法教学,牵引学生走向成功。学生对编程有了浓厚的学习兴趣,在学习过程中能感觉到成功,这将促使学生形成积极健康、迎难而上的创新思维态度的形成,为学生的创新实践活动打下了基础。
二、加强“程序改错”教学,培养学生发现问题的能力
创新思维的可贵之处是随时能发现问题。在程序设计教学中可通过“程序改错”培养学生发现问题的能力。程序设计要求学生思维严谨,一个字符、一个标点错了程序就不能运行或运行结果差之千里。因此,我在教学每一个基本语句时均安排“程序改错”题让学生练习。这些错误码的程序或是因语法错误,或是表达式错误,或是变量类型定义错误。学生通过改错,一方面巩固了新学知识,更重要的是培养了学生发现问题的能力,有的通过改错还发现了另一问题的解决方法,促进了学生创新思维的发展。
三、加强“程序推理”教学,培养学生预知事物的思维能力
创新思维要求对新事物的诞生有丰富的想像力和预知能力。发明家在发明新的东西时心中已经有该物的蓝图了。在程序设计教学中可否培养学生对事物的预知的思维能力呢?
程序设计教学必须培养学生阅读程序的能力,其主要表现是“程序推理”教学。基本方法是给学生一段源程序,让学生通过所学知识及算法推理程序运行的结果。学生刚面对源程序,猜想结果的类型可能会是数值、表达式或图形,然后按程序执行的顺序及算法再科学推理程序运行的结果。对于小学生而言,直接推理程序的运行结果比较困难。我在教学过程中,用“变量列表法”让学生捕捉教师在教学过程中可
四、提倡“一题多解”,培养学生求同存异的思维能力
程序设计追求的是结构明析,语句优化,功能完备。但对于小学生而言,程序设计要求可不能那么高,教师在课堂教学中主要是鼓励、引导学生用不同的语句或不同的算法来编程解决同一个问题。如求五门功课的总分与平均分,学生最开始是用赋值语句直接得出结论;随着学习的深入,学生依次学会了简单变量、循环语句、甚至数组等方法来解决这个问题。学生在编程解决问题的时候有自己的思路,教师在指导学生设计源程序时应坚持让让学生自己动手,肯定学生做得好的地方,并时时启发学生是不是还有别的方法来解决问题。信息学奥赛不能讲求题海战术,而是要运用对一个问题不断深入的探索,最终得出一个最优化的解决方案。在指导学生探索过程时,首先引导学生根据题义,引入最常规、最易想到的算法;然后沿着思路,编程求解;再继续深入,增加条件判断,完善程序。在辅导学生时,还可以引导学生通过典型例题举一反三,寻找最佳方案。