当前位置:首页 > 高中《算法与程序设计》模块教学策略探究(刘辉琴)
高中《算法与程序设计》模块教学策略探究
株洲市第二中学 刘辉琴 杜新宇
【摘要】
《算法与程序设计》是高中信息技术课程中的选修模块之一。本模块是培养学生思维能力的一门课程,理论性、实践性强,程序代码枯燥、难懂,教学难度大。笔者在教学实践中不断探索如何找到一些比较新颖而有效的教学策略,尝试通过应用类比,与数学课程的整合和设计游戏案例等办法在教学中激发学生兴趣,指导学生理解算法与程序设计的相关概念,培养学生的逻辑思维能力以及分析问题、解决问题的能力。 【关键字】
算法与程序设计 Visual Basic 类比法 学科整合 游戏案例 【正 文】
《算法与程序设计》不仅是一门注重实际动手探究能力的信息技术课程,有时候更像是一门考验学生逻辑思维能力的数学课程。其中一些概念和术语对于学生们来说是非常陌生的,有的还很抽象、很深奥。如何将这些深奥而晦涩的理论深入浅出地阐述出来,让学生易于理解,乐于接受这些高难度知识内容。笔者通过以下尝试,探究应用于本模块中的教学策略。
一、类比法在《算法与程序设计》模块教学中的应用探究
类比法就是在我们学习一些十分抽象地看不见、摸不着的量时,由于不易理解,我们就拿出一个大家能看见的且与之很相似的量来进行对照学习。以具体的事物把抽象的理论、概念形象地表达出来,借以增强感染力和说服力,让学习者更好的理解和掌握。
在《算法与程序设计》教学中,最大的困难正是对一些抽象的理论和概念的理解。这些内容如果只凭教师一张嘴反复讲述,教师说的口干舌燥,学生听得头昏脑胀,索然无味,教学效果很差。而类比法的应用,可以使抽象的知识变得形象化、趣味化,起到了“一语道破天机”的效果。
如果恰到好处地将一些形象生动的类比运用到《算法与程序设计》教学中,不仅有助于提高学生的学习兴趣,而且还能达到帮助学生理解和记忆的目的。
比如在2.4程序的循环结构一节的教学中,要让学生理解循环的定义,我用日常生活中的 “吃包子”事件来类比。假如我们今天早餐吃的是包子,那么有可能出现以下三种情况。第一种情况: 你需要控制体型,规定自己早餐只吃3个包子,那么你吃完一个再吃一个??吃完三个就不吃了——这种已知重复执行的操作次数(循环次数)的情况我们一般使用for循环。第二种情况:当你觉得肚子饿,吃一个包子,还是饿,再吃一个,??当你肚子不饿了就不吃了——这种先判断再执行的循环我们称为当型循环。第三种情况:你先吃一个包子,还没吃饱,再吃一个,还没吃饱,再吃一个??直到吃饱了为止——这种先执行后判断的循环为直到型循环。通过这样有趣的类比,让学生在欢快的气氛下,理解并记忆关于循环结构程序的特点以及不同形式的循环语句的区别。
在讲解“For 循环变量=初值 To 终值 Step 步长”这个循环语句的语法时,以日常生活中的走楼梯作类比,将For循环比作走楼梯,楼梯阶数已知,并从下往上编号1,2??n,因此用For循环。初值是起始阶编号,终值为终止阶编号,步长就是看你走楼梯的时候每次是跨一阶还是几阶;步长为正数表示上楼,步长为负数表示下楼。以上面的类比来说明以下几个For循环中的要素:Step 步长的应用,初值终值的大小关系,循环体的含义,循环变量的最后取值等关键问题,经过类比,学生对循环结构程序的理解和初步应用都有了更好的体会。
讲到多重循环的时候,让学生参考套娃(一种俄罗斯特产木制玩具,由多个一样图案,一样结构的空心木娃娃一个套一个组成)的形式与结构,增加感性认识,让学生更好的理解循环嵌套的概念。
简单来说,将类比法应用于《算法与程序设计》模块的教学有以下几个意义: 1、可以激发学生的学习兴趣、培养学生的思维能力; 2、易于达到教学目的,提高学习效率;
3、培养学生良好的性格,促进师生之间的情感交流。 二、《算法与程序设计》与数学课程的整合教学法的探究
高中数学必修三中第一章内容为“算法初步”,我们可以设法将《算法与程序设计》与数学必修三有机结合起来。使学生对数学必修三中算法部分的内容进行一个知识的储备。
在学习Do循环语句时,选择数学必修三教材中的实例:应用“辗转相除法”求两数最大公约数为例。通过他们自己亲手编写程序、演示程序的过程中探索和
发现规律,逐步建立应用信息技术解决数学问题的学习形式,同时也开拓了学生的逻辑思维能力,锻炼和培养了学生分析问题、解决问题的能力,进一步促进了信息技术和数学课程的整合,推动信息技术在数学学科学习中的应用。
例:应用“辗转相除法”求两数最大公约数。 自然语言描述算法: S1:输入两个正整数a, b; S2:r=a MOD b
S3:若r=0,则输出b,程序结束;否则,a=b,b=r,执行S2. 流程图描述算法:
开始 输入a, b r=a MOD b a=b b=r r=0? 否 是 输出a 结束
VB代码描述: Private Sub Command1_Click() a = Val(Text1.Text) b = Val(Text2.Text) Do r = a Mod b a = b b = r Loop Until r = 0 Text3.Text = a End Sub 通过这一例题的分析,绘制流程图,设计用户界面,并编写代码,从分析问题到解决问题一步步完成下来。让学生体验了应用信息技术解决数学问题的全过程,也锻炼了学生的逻辑思维能力,从而理解了程序的作用,还让学生对学习算法与程序设计产生了浓厚的兴趣。
三、游戏案例在《算法与程序设计》模块教学中的应用探究
由于《算法与程序设计》模块枯燥难学的特点,如何设计案例既能激发学生的学习兴趣又能让学生有效的掌握相关知识呢?在教学活动中使用游戏案例不失为一个不错的尝试。
在选择结构if语句的教学中,我设计了一个“石头剪刀布”的游戏案例。和学生一起分析“石头剪刀布”的游戏规则,从人机对话的角度,逐句剖析计算机编写的锤子、剪刀、布游戏程序(见程序剖析实例),让学生了解其结构组成和具体作用,懂得计算机程序设计的基本思想:按照人类解决问题的思维方法,进行人机对话。计算机能够听懂的\话\,就是我们输入的命令。这样,就有利于
共分享92篇相关文档