启发式在《程序设计》课程教学中的实践

2009-07-24 01:47孙振坤
考试周刊 2009年23期
关键词:启发式教学实践探索程序设计

孙振坤

摘 要: 本文作者分析了传统的启发式教学的弊端,针对程序设计课程如何开展真正的启发式教学作了探讨,并结合《VB程序设计》课程的内容进行一定的实践。

关键词: 《程序设计》课程 启发式教学 实践探索

《程序设计》课程的教学除了强调理论的完整性外,同时还注重学生分析、设计和编程的能力,而这种能力主要体现在学生是否具有创新性思维。启发式教育就是通过启发知识来启发创新。爱因斯坦认为:“提出一个问题往往比解决一个问题更重要,因为解决问题也许仅是一个数学上或实验上的技能而已。而提出新的问题、新的可能性,从新的角度去看旧的问题,都需要有创造性的想象力,而且标志着科学的真正进步。”

一、教学现状分析

传统的启发式教学是一种“标准答案”式的教学。一般针对问题,教师已经预先设定好了标准答案,然后为了引导学生能靠近答案,设置一系列问题,而且这些问题通常较简单,学生很容易答出来。这样一步接一步地启发,学生逐步接近最终的答案。这样的教学过程,实现了课堂上的互动,教师有问学生有答,课堂气氛活跃,相比较“填鸭式”的教学方法,似乎教师的教学机智得到了充分展现。

但这种引导学生朝一个方向思考的方法,实际只是要求学生进行机械式的模仿,生搬硬套教师所给的例子,并没有对题目进行真正的思考,造成学生解题时完全依赖教师所给的思路,教师有启发学生就会回答,教师没有给提示学生就不会思考,不知从何处下手解决问题。久而久之,学生的思维习惯会完全依赖于教师的提问或提示,只会回答问题而不会解答问题。

如在VB程序设计中,循环部分有一道题目是要求实现如图1的图形。

根据之前所学知识,学生可以很快写出外层循环,for i=1 to 9;对于内层循环,就需要启发学生思考了。笔者曾经这样设计教学过程:

提问:如果只看一行,比如第一行,它是几个“*”组成的?程序应当如何写?

根据之前所学,学生很容易答出:for j=1 to 9。

提问:再依次写出第二行、第三行……的程序,总结规律。

如果学生总结不出规律,教师继续启发,写出i和j的变化过程如下:

i 1 2 3 4 5 6…

j 9 8 7 6 5 4…

这样学生会很快发现规律:i+j=10,从而得出之前设定好的标准答案:for j=1 to 10-i。

整个过程非常简单,学生很快得到了答案,而且思路非常清晰。但是,学生学会的是这种题目的答案,以后碰到相似的题目,学生马上就想到找i和j加加减减的规律,然后将“10-i”这部分内容进行替换即可,完全是一个依葫芦画瓢的过程。

二、介绍及实践

1.启发式教学模式

真正的启发式教学,应该是在教学过程中,以教材为基础,在教师的启发引导下,学生自由发挥表达他们的观点,自己去问题提出疑问,然后深入探究,而且可以通过个人、小组、集体等多种形式的解难释疑活动,用所学知识解决实际问题的教学模式。

这种教学模式要求教师去启发学生思考问题的方法,而不是关注问题的答案;教学目标是让学生学会独立思考、分析问题、解决问题的思维方法,而不是得到结果就算完成任务,授之以“渔”,而不是授之以“鱼”。启发的最终效果是不用启发,通过例题,学生学会思维过程,自己提问自己启发,从而提高解决实际问题的能力。

2.《程序设计》课程启发式教学模式的实践探索

2.1实例的设计

经过多年的教学经验,笔者发现很多学生对于《程序设计》课程总是抱有畏惧心理,觉得其难懂难学。究其原因,一是觉得程序设计语言太抽象,与汉语的语法差别大;二是认为学了没用,除非以后要专门从事程序员工作。所以教师在选择和设计实例时,和实际应用的联系越紧密越好。亚里士多德说过:“思维是从惊奇和疑问开始。”比如在学习时钟控件时,就可以设置很多小游戏程序,如打字速度测试、数学题测试等。又如学习列表框和组合框控件,可以设计如点菜界面之类的题目。这种实例能大大激发学生的学习兴趣,这些常见的东西他们热切渴望自己也能做出来,此时学习就变为一种主动的行为,而不是被动地灌输。

2.2模仿阶段

学习的过程,是量变到质变的过程。必须先有一定量的重复,才能激发出质变的灵感。所以在能灵活应用之前,首先要先学会依葫芦画瓢。就如第一节所讲的例子,帮助学生理解整个分析过程,并且在改变部分参数时也能作出对应的修改。同时启发用到的问题,应当有意造成结果与学生求知心理之间的“不协调”,产生悬念,促使学生在注意力最集中,同时思维又最活跃的状态下学习。

2.3深入启发与引导

对已学过的题目进行反思,对发现的问题进行对应的分析。如第一节所讲的VB实例,得出结论后可继续启发学生,思考是否还有新的解法。本题目只是要求输出指定个数的图案,所以循环的书写上可以更加灵活些,只要实现循环的次数正确就可以,不必拘泥于答案的形式。启发后组织学生热切讨论,鼓励想法多样化。学生会提出自己的方法,简单的改变是将循环倒着写:for j= 10-i to 1 step -1;也有更进一步的改变:for j=i to 9;或是i和j都进行改变:for i=9 to 1 step -1:for j=1 to i;最后将所有的想法互相交流,取长补短,促使学生对循环语句的使用更加熟练,同时思维也更开阔。

最后还要加强作业,多让学生上机亲自实践,看到程序的运行效果,加深印象。

三、结语

启发式教学的形式是积极设问并引导学生自己去思考,对思考方式只是进行点拨和引导,鼓励学生对于问题大胆猜测、想象和联想,而不是简单地问答,培养学生深入思考和独立钻研的能力。这个过程前提准备是需要学生有一定的知识积累,否则无从思考,之后需要练习和巩固,对后面的学习内容进行知识储备。

参考文献:

[1]林惠强,刘财兴,林丕源.“软件工程”课程启发式教学的研究与实践[J].计算机教育,2008,6(11):40-42.

本文系江苏省高职教育研究会研究课题《高职院校“程序设计基础”课程体系的研究与实践》(编号2007-31-1)

猜你喜欢
启发式教学实践探索程序设计
基于Visual Studio Code的C语言程序设计实践教学探索
从细节入手,谈PLC程序设计技巧
高职高专院校C语言程序设计教学改革探索
新形势下完善国有资产管理工作的实践探索
浅谈新时期煤矿员工教育培训的实践探索
《微机原理与接口技术》教学创新方法研究
《运筹学》教学模式探讨
《机电传动控制》课程实验教学改革探讨
PLC梯形图程序设计技巧及应用