游戏思想在程序设计语言课程教学中的应用

2009-08-31 07:45
计算机教育 2009年13期
关键词:案例教学法

贺 忠

摘要:计算机程序设计语言课程是高等院校计算机应用等专业教学计划中的一门重要课程,但在教学过程中学生的畏难情绪普遍存在,很大程度上影响了教学效果。本文从教学实践出发,针对在计算机程序设计教学中出现的问题,探讨了如何有效地通过游戏案例把游戏思想应用于程序设计教学中,以达到提高计算机程序设计语言教学的实效性和增强学生学习兴趣和信心的目的。

关键词:计算机程序设计语言;游戏思想;案例教学法

中图分类号:G642 文献标识码:B

1引言

计算机程序设计语言是高等院校计算机应用及相关专业的专业基础课,是学生进一步加深专业课程学习的基础。在教学中我们发现,因为这门课程要求学生有较强的逻辑思维能力和分析能力,所以很多学生感到学习困难,产生畏难情绪,失去学习的兴趣和信心,对教学效果有较大的影响。

许多学生在进行设计程序时不知何如动手,究其原因,这些学生并不是语句语法没学好,也不是脑子笨,而是没有找到好的学习方法,没有领悟到程序设计的方法和思想,不知道如何利用各种语句和函数的功能、规避各种语句和函数的限制,最终实现程序的要求。因此,这些学生把程序设计看得高深莫测、非常人可做,进而对程序设计产生畏惧感。在高职学院,由于学生的基础相对较弱,这种现象就更加突出。为了帮助这些学生找到学好程序设计的突破口,笔者从教学实践出发,针对这些教学中的问题,探讨了如何有效地通过游戏案例把游戏思想应用于程序设计教学中,以达到提高计算机程序设计语言教学的实效性和增强学生学习兴趣和信心的目的。

2游戏思想在教学中应用的具体案例

在与学生们的日常接触中,我们发现他们当中不乏棋牌高手。在一些智力游戏中,他们常常也表现出非凡的才智。无论是棋牌,还是智力游戏,往往都包含程序设计的方法和思想。人们在玩这些游戏时,都要在游戏规则下,利用一切可利用的条件,规避各种限制条件,设计一整套实现目标的程序,这一点与程序设计的方法和思想是相通。因此,在计算机程序设计语言教学中,我们采用恰当的案例,通过案例教学法来详细阐述游戏思想与程序设计思想之间的关系,帮助学生理解程序设计的方法和思想。下面通过两个案例来说明如何将游戏思想运用到教学过程中。

2.1案例一

问题:设计一程序,求斐波那契数列(1,1,2,3,5,…)第几项开始大于10000。

这个问题使用数组可能不太好,所以一般常用下列程序段来实现。(因为目前大多数高校都用C语言教学,所以以下程序段用C语言来描述。为了便于后续说明,下列程序段的每条语句标记了行号。)

【C语言描述】

1 a=1;

2 b=1;

3 c=a+b;

4 i=3;

5 while(c<=10000)

6 {

7 a=b;

8 b=c;

9 c=a+b;

10i=i+1;

11}

12printf(“FibonacciNO.%d>10000”,i);

对于上述程序段中的第7行至第9行代码,许多学生觉得难以理解,或者觉得自己在解决问题时难以灵活运用这种方法。其实,这种方法源自生活中一种很简单的游戏。这种游戏就是:已知甲、乙、丙三个相同的杯子,其中乙、丙分别依次盛有红、蓝两种液体,要求将红、蓝两种液体依次盛入甲、乙两杯中。对于这种游戏,现在的学生不可能完不成。如果能把完成这个游戏的方法和思想与这个程序有机结合起来,学生便可以很好地把握这个问题的程序设计思想。

在这个游戏中,甲、乙,丙三个杯子相当于上述程序中的变量a、b、c,而杯子中的液体相当于变量的值。教师在深入研究教学任务和教学目标后,精心设计或选择恰当的游戏,使学生能够通过完成游戏找到解决程序设计的方法和思想。比如,把这个游戏做以下改进,便可把上述程序设计过程融会到游戏过程中去。

假设在黑板(便于擦拭)上只画了a、b、c、i四个方格。起初,在a格中写入1,在b格中也写入1。然后在c格中写入前两格中的数量之和——2,在i格内填入计数3。现在,要求学生只能利用这四个格子和这种方法,求出斐波那契数列第几项开始大于100(游戏中不要使用太大的数值)。一般的学生稍加思考,也都能很好地完成这个游戏。在学生完成这个游戏的过程中,他们会不自觉地使用与程序设计完全相同的方法和思想,然后将这种方法、思想或过程用计算机语言描述出来。

从这个案例可以看出,初学计算机程序设计的学生往往不了解日常事务的处理方法,也不具备数学建模的能力,所以在学习计算机程序设计之初,一般从解决一些类似日常生活中的小游戏入手。这个案例教学可以培养学生描述解决问题的方法的能力,掌握基本的程序语句语法。

2.2案例二

问题:在12个乒乓球中有且仅有一个次品,它或轻或重于正品。限最多使用三次天平,找出次品,并判断其比正品轻还是重。这个问题主要锻炼学生的分支逻辑思维能力,分析如下:

三次使用天平,将产生三层分支嵌套。第一次使用天平,每边各放4个球,将产生两种结果:平与不平(或三种结果:平,左重右轻,左轻右重)。如果天平左右平衡,则说明天平上的8球全为正品,天平下的4球中含次品。

则:按{分析模块1}来分析:

{分析模块1}第二次使用天平,从8个正品球中取3个放在天平的一边,不妨假设为左边;从含次品的4球中也取3个,放在天平的另一边,即右边。将会出现三种结果:平,左重右轻,左轻右重。

如果平(衡),则{分析模块1.1}剩下1球为次品。

第三次使用天平,便知道次品的轻重(分析模块1.1.1和1.1.2,略)

如果左重右轻,则{分析模块1.2},右边3球含次品,且次品为轻球。

第三次使用天平,从右边3球中任取2球,各放一边。将出现三种结果:平,左重右轻,左轻右重。不难判断出结果来(分析模块1.2.1、1.2.2和1.2.3,略)

如果左轻右重,则{分析模块1.3},右边3球含次品,且次品为重球。

第三次使用天平,从右边3球中任取2球,各放一边。将出现三种结果:平,左重右轻,左轻右重。不难判断出结果来(分析模块1.3.1、1.3.2和1.3.3,略)

否则,说明天平下的4球为正品,天平上的8球含次品。取下天平上的球,分开放置,不妨假设“轻”球放左边,“重”球放右边,然后按{分析模块2}来分析:

{分析模块2} 第二次使用天平,任取右边4“重”球中的3个和左边4“轻”球中的2个,一同放到天平的右边(在不影响天平平衡的情况下,注意区分这5球的“轻”“重”);再取4正品球与剩下的“重”球,一同放到天平的左边。将出现三种结果:平,左重右轻,左轻右重。

如果平,则{分析模块2.1}现在天平上的10球全为正品,天平下的两“轻”球含次品,且次品一定是轻球。第三次使用天平,略。

如果左重右轻,则{分析模块2.2}在左边的1个“重”球与右边的2个“轻”球中含次品,其他球均为正品。

第三次使用天平,再将2个“轻”球分放天平两边。结果可出,后续分析略。

如果左轻右重,则{分析模块2.3},次品包含在右边的3个“重”球中,且次品为重球。第三次使用天平,可出结果,后续分析略。

【C语言描述】

为了便于描述,将12个球用a,b,c,d,e,f,g,h,i,j,k,l分别表示(这步是将日常语言“转化”成计算机语言的关键)。

if (a+b+c+d=e+f+g+h)

{

if (a+b+c=i+j+k)

{

If (a>l) printf(“l is light”)

Else printf(“l is weight”)

}

Else

{

}

}

else

{

}

有些游戏或多或少存在一些难度,如在课堂临时布置,必然影响教学进度。所以应提前布置游戏任务,让学生利用课余时间充分地思考。在案例教学中,教师应注意两点:一是鼓励学生互相讨论。在讨论中,学生的思想可以相互碰撞,相互启发,开拓思路。同时,还可以激发学生的兴趣。二是要督促和引导。由于有些游戏有一定的难度,学生可能会因长时间找不到问题的解决办法而置之脑后或气馁。这时,教师的督促或引导可以帮助学生继续思考。在顺利完成游戏的基础上,可以先要求学生用文字描述完成游戏过程,要求步骤清晰,然后引导学生使用算法描述性的语言,最终要求学生用计算机语言来描述完成游戏的思想和过程。通过这个案例教学,学生把现实语言转化为计算机语言的能力以及灵活运用分支语句的能力将有很大的提高。

3结束语

通过以上案例教学活动,我们发现将游戏引入到计算机程序设计教学很有意义。某些完成游戏的方法和思想与程序设计的方法和思想是相通的。人们在长期的生产实践中,总结设计出了许多游戏,这些游戏往往可以锻炼学生的不同能力,比如学生描述解决方法的能力、步骤设计能力、分支思维能力、数学建模能力等。借助游戏可以使学生更好地领会程序设计的方法和思想,健康有益的游戏可以激发学生的兴趣和潜力,调动学生思考的积极性,开拓学生的思路。

教师在将游戏引入到计算机程序设计教学中,要有步骤地进行。首先要根据教学内容和目标精心设计或选择游戏,这是游戏案例教学法中最关键的一步,它将影响游戏教学法的最终效果。针对不同的游戏,可以提前布置游戏任务,给学生思考和讨论的时间。然后,在顺利完成游戏的基础上,要求每位学生用文字描述完成游戏的过程。最后,要求学生用计算机语言来描述完成游戏的过程,这是教学的最终目的,也是为了培养学生将现实语言转化为计算机语言的能力和灵活运用计算机程序解决实际问题的能力。在上述过程中,教师的作用主要在引导,而解决问题的办法和程序,主要由学生通过自己的思考得来。

教学实践证明,采用这种教学方法的班级,期末考试平均成绩和合格率明显提高,并且学生的思维活跃,学习兴趣高,甚至有些学生还有一些创新的思维方式。所以,在计算机语言课程的教学中,恰当地引入游戏思想,运用案例教学法,既可以帮助学生理解程序设计的方法和思想,又可以启发学生的思维。同时,活跃课堂气氛,寓教于乐,合乎快乐学习的现代教育理论。

参考文献:

[1] 郝桂英.关于计算机程序设计语言课程教学的探索[J].教育与职业,2007(6).

[2] 解晨光.关于高职高专计算机教学改革的研究[J].教育探索,2006(8).

[3] 屈卫清.C语言程序设计教程[M].北京:高等教育出版社,2007.

猜你喜欢
案例教学法
采用案例教学法,优化高中政治课堂教学
中药制剂分析教学改革的探索及应用
案例教学法在学科教学论教学中的应用
初中思想品德课案例教学
广告学专业《社会学概论》教学研究
案例教学法在高等职业院校口腔内科学教学中的应用效果
案例教学法在高职经济数学教学中的应用
房地产项目策划课程案例教学探索与实施
高职院校《货币银行学》课程案例教学法的运用