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

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

ID:30992890

大小:106.50 KB

页数:5页

时间:2019-01-05

在程序设计教学中培养学生的创新性思维_第1页
在程序设计教学中培养学生的创新性思维_第2页
在程序设计教学中培养学生的创新性思维_第3页
在程序设计教学中培养学生的创新性思维_第4页
在程序设计教学中培养学生的创新性思维_第5页
资源描述:

《在程序设计教学中培养学生的创新性思维》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、在程序设计教学中培养学生的创新性思维  摘要:创新教育是目前人才培养的改革与探索目标,而程序设计教学有着较好的培养学生创新性思维的优势。现从培养思维的变通性、流畅性以及独特性三个方面着重阐述在程序设计教学中如何培养学生的创新思维。  关键词:程序设计;创新意识;创新性思维;变通性;流畅性;独特性  诺贝尔奖获得者贝尔纳说:“创造力是没法教的。所谓的创造力教学,指的是学生要真正有被鼓励展开并发表他们想法的机会,为此,才能发展他们富于创造力的才能。”在教学过程中,教师只是起到激励、引导的作用,而创新

2、思维的培养还是由学生通过不断的思维和实践,伴随着对挫折、成功、愉悦的体验和积累,逐步自主内化、被熏陶出来的。创新性思维的具体过程包含准备、酝酿、实施和验证四个阶段。而程序设计课程的教学过程:从分析问题到确立算法是准备和酝酿阶段。但解决同一个问题的思维方法往往有许多种,各有利弊,对此以创新性的意识去比较、分析、领悟、吸纳,有时就会“灵感一现”,顿悟到新的算法。在确立了算法,完成程序的设计编制后,还要经过不断的修改和优化,此时又有可能出现新的思路,甚至会有再寻捷径的强烈欲望,因此,程序设计教学有助于

3、培养学生的创新性思维。  一、在比较中寻找差异的目标,培养思维的变通性5  通过比较,探寻新课题与已掌握的知识间的差异,实现思维的迁移,是培养创新性思维的有效方法之一。我们会发现,程序设计中这种新旧问题之间的差异是各种各样、异彩纷呈的,这就要求教师在教学过程中能积极引导、帮助学生养成通过比较去寻找差异的思维习惯,以逐步提高学生自主思维的变通能力。  例如,输入A,B两个数,交换值后输出。此时大多数同学总是会这样来编写(以A=2,B=3为例):A=B,B=A运行结果:A=3,B=3。当同学们百思不

4、得其解的时候,笔者引导大家借助第三个变量来实现交换。趁机提醒学生思考:如果不通过第三变量,用数学知识应如何解决?最后,学生研究讨论后得出利用两数四则运算解决的方法。此题笔者着眼于数学知识与程序设计思路的迁移,虽然只是简单的思维变通,但在此过程中,学生获得了从寻求差异到开拓新思路的快乐,也尝试了变通思维的一种方法,实现了由固有知识到对新知识的建构。这种变通性的思维新方法将在他们日后的程序设计中,乃至解决某些问题时起到非常大的作用。  二、分解或改编目标,培养思维的流畅性  爱因斯坦说:“提出一个问

5、题往往比解决一个问题更重要。”提出问题不一定局限于借助对诸多因素的分析之后,提出一个隐含着的关键问题,也可以在问题已经明确,但由于一时难以着手解决,而从原有问题的框架中超脱出来,以连贯性的思维和迂回方式逐步加以分析,找出要达到最终目标之关键要素,逐一加以攻克,5从而找到问题解决的最终方案。也就是说,将大目标加以分解,转换到比较明确的小问题上,找到解决这些小问题的具体方法,最后根据大目标的要求,将这些方法优化组合起来。这样由小及大的思维方式,既可以激发新灵感,又有利于保持思维的连续性、流畅性。在程

6、序设计教学中,这种创新性思维方式是较为常用又至关重要的。  例如,对已有的10个整数进行从小到大排序。  从问题本身来说,目标已经一目了然。但如何入手呢?具体要解决些什么问题呢?在教学时,我启示学生将此问题改写成自己认为与题目类似,并且简单到运用已有知识自己能解决的问题。有学生将问题变成:10个人排队,每趟找出个子最矮的同学,将此同学排在最前面,然后再对剩下来的人用同样的方法,最后完成任务。此种方法比较直观形象,而且贴近学生的生活。也有学生将问题改写成:用10张扑克牌来模拟排序,方法类似于排队,

7、此种方法的实现比较简单。  更让笔者感到惊喜的是有组同学利用数组的下标完成了排序:将数组定义成下标从最小值到最大值变化范围,由于VB中变量数值型变量定义后初始值都为零,所以,读入数组值的时候,如果元素值和下标相同,则将该元素值加1,最后输出的时候,以下标作为循环控制变量,输出值不为零的下标值。代码如下:  Dima(-10to1000)asinteger‘最小值为-10,最大值为1000  DimIasinteger,jasinteger,xasinteger  Fori=1to10’数组元素输

8、入  X=val(inputbox(请输入数组元素值)  A(X)=A(X)+1  Nexti5  Fori=-10to1000’从小到大输出数组元素值  Forj=1toa(i)  Printi;  Nextj  Nexti  上述代码中丝毫没有任何的比较语句,并且巧妙运用了循环语句实现的条件。由此可见,并非是学生不肯动脑筋,他们的创意和智慧是无穷的。  教学过程中通过对原始问题的分解、改编处理,使学生掌握了由简到繁的思维方法,让他们在掌握整个问题的算法时更有认同感,同时,使他们体会到了只要对

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。