程序设计中培养学生的创新性思维

时间:2022-04-28 03:56:55

导语:程序设计中培养学生的创新性思维一文来源于网友上传,不代表本站观点,若需要原创文章可咨询客服老师,欢迎参考。

程序设计中培养学生的创新性思维

一、在比较中寻找差异的目标,培养思维的变通性

通过比较,实现思维的迁移,是培养创新思维的有效方法之一。我们会发现,程序设计中这种新旧问题之间的差异是各种各样、异彩纷呈的,这就要求教师在教学过程中能积极引导、帮助学生养成通过比较去寻找差异的思维习惯,以逐步提高学生自主思维的变通能力。例如,输入A,B两个数,交换值后输出。此时大多数同学总是会这样来编写(以A=2,B=3为例):A=B,B=A运行结果:A=3,B=3。当同学们百思不得其解的时候,笔者引导大家借助第三个变量来实现交换。趁机提醒学生思考:如果不通过第三变量,用数学知识应如何解决?最后,学生研究讨论后得出利用两数四则运算解决的方法。此题笔者着眼于数学知识与程序设计思路的迁移,虽然只是简单的思维变通,但在此过程中,学生获得了从寻求差异到开拓新思路的快乐,也尝试了变通思维的一种方法,实现了由固有知识到对新知识的建构。这种变通性的思维新方法将在他们日后的程序设计中,乃至解决某些问题时起到非常大的作用。

二、分解或改编目标,培养思维的流畅性

爱因斯坦说“:提出问题不一定局限于借助对诸多因素的分析之后,提出一个隐含着的关键问题,也可以在问题已经明确,但由于一时难以着手解决,而从原有问题的框架中超脱出来,以连贯性的思维和迂回方式逐步加以分析,找出要达到最终目标之关键要素,逐一加以攻克,从而找到问题解决的最终方案。也就是说,将大目标加以分解,转换到比较明确的小问题上,找到解决这些小问题的具体方法,最后根据大目标的要求,将这些方法优化组合起来。这样由小及大的思维方式,既可以激发新灵感,又有利于保持思维的连续性、流畅性。在程序设计教学中,这种创新性思维方式是较为常用又至关重要的。例如,对已有的10个整数进行从小到大排序。从问题本身来说,目标已经一目了然。但如何入手呢?具体要解决些什么问题呢?在教学时,我启示学生将此问题改写成自己认为与题目类似,并且简单到运用已有知识自己能解决的问题。有学生将问题变成:10个人排队,每趟找出个子最矮的同学,将此同学排在最前面,然后再对剩下来的人用同样的方法,最后完成任务。此种方法比较直观形象,而且贴近学生的生活。也有学生将问题改写成:用10张扑克牌来模拟排序,方法类似于排队,此种方法的实现比较简单。更让笔者感到惊喜的是有组同学利用数组的下标完成了排序:将数组定义成下标从最小值到最大值变化范围,由于VB中变量数值型变量定义后初始值都为零,所以,读入数组值的时候,如果元素值和下标相同,则将该元素值加1,最后输出的时候,以下标作为循环控制变量,输出值不为零的下标值。代码如下:\上述代码中丝毫没有任何的比较语句,并且巧妙运用了循环语句实现的条件。由此可见,并非是学生不肯动脑筋,他们的创意和智慧是无穷的。教学过程中通过对原始问题的分解、改编处理,使学生掌握了由简到繁的思维方法,让他们在掌握整个问题的算法时更有认同感,同时,使他们体会到了只要对一个小问题有了新的解决办法,就有可能使整个问题的解决变得简单明了。课堂教学中引导学生合理地分解问题,使不同层次的学生都体会到了用自己编制的程序解决问题的成功感,有利于激发学生对程序设计的学习兴趣,同时使思维既发散又集中,不至于产生断续和不连贯,体现了流畅性的创新特点。

三、鼓励大胆假设,培养思维的独特性

创新思维贵在思维的独特性,独特创新的思维更是可遇而不可求的。只有保护独特性的思维意识和独特的思维方式,鼓励在思维中产生种种假设,才能实现思维的突破和创新。要激发这种思维火花,教师就要充分利用假设情境,营造有利于学生独立思维的氛围;即使学生的思维有失误或偏颇,也应宽容而不随意否定,因为对错误思维的修整也有可能产生与众不同的思维结果。例如,输入A、B两个数,输出其中较大的值。(不允许用条件语句来实现)传统的解决方案用if语句,现在问题的关键是不允许用条件语句。此时要激发学生新的思维,让他们提出自己的假设并分小组展开讨论。有的组想到用绝对值的方式:Printabs(A-B)/2+(A+B)/2有的组想到利用逻辑表达式强制转化为整数类型时true为-1,false为0的方式来实现:print-a*(a>=b)-b(a<b)由于VB语法的不严谨性,还有的组想到了这样的方法:printA>BandAorA<BandB,在请她解释原因时,她说是试出来的。由此可见,不断假设可以触发各种新的思维模式,当假设成为一种思维习惯时,会有更多新的思考方法涌现出来。当然,假设绝不是胡猜,它是建立在对问题深入细致地分析基础之上有一定依据的设想。教师在分析问题时可以启发学生不断假设,引导他们抓住关键,多角度提出假设。

总之,在教学实践活动中,可以灵活运用各种不同的创新思维方法,不存在明显的界限,也不能把它们程式化地凝固起来。值得注意的是,教师的作用重在引导学生积极开展思维活动,决不能将自己的创新性思维方式按传统的填鸭式教学方式强加于学生,因为这必然会遏制学生的自主思维,也违背了培养创新性思维的初衷。

本文作者:张小莉李晟工作单位:江苏省苏州中学园区校