论文部分内容阅读
《算法和程序设计》作为高中信息技术选修课,一直以来是高中信息技术教学的重点和难点,在实际教学中一直存在“难教”和“难学”的问题。因为程序设计本身抽象、枯燥,逻辑思维性强。学生普遍认为程序设计充满着神秘感,是高深莫测、遥不可及的,对其存在畏惧心理。因此,教师应着重培养和树立学生对学习《算法与程序设计》的信心,并激发学生对该课程的学习兴趣。
一、教学中存在的普遍问题。
1.学生存在个体差异
首先高中学生的起点水平参差不齐。我们学校学生来源多个地方,有农村和城市的差别,就是城市里的也有差别,很多学生在升入高中前,并未接触过算法与程序设计的相关知识。每班大约都有百分之九十多的学生在高中阶段以前未曾接触过程序设计这方面的内容,因此,学生学习程序设计语言的基础较差。其次,编写程序还涉及到本身的数学思维能力,每个学生的思维能力、理解能力是存在差异的。同一个班的学生,他们中有的思维敏捷能很快接受新的知识,有的却还需要反复讲解才能接受。现在我们教学要面向全体学生,让全体学生都接受有些困难。
2.课程内容多,教学时间紧,教学目标不能很好地完成
《算法与程序设计》模块中基本上涵盖了程序设计中用到的所有知识,有大量的数据类型、语句、过程、函数和控件等,这些知识,在大学生,也要一个学期才能掌握。在高中阶段,《算法与程序设计》的内容虽然压缩了很多,但是,这些基础知识要想让学生掌握需要一定的时间,并需要学生进行大量的练习。书本上还包括了几种典型的算法、程序设计思想和项目实践,虽然这部分只要求学生初步掌握,但是仍然需要教师一一讲得透彻,否则学生还是很难理解。一个完整的算法讲解、编写往往需两节课时间,而要让大多数的学生真正能自主编写,甚至需要投入更多时间。但是一般信息技术课程每周只有一至两节课,要学生全面理解算法,学会编程,时间真的太少了。
3.学习内容比较枯燥乏味,缺乏趣味性,学生兴趣不高
《算法与程序设计》难教、难学是困扰师生的突出问题。对于学生而言,一方面算法及编程知识这部分教学内容具有高度的抽象性和严密的逻辑性,理论性和知识性都比较强,不容易掌握,容易使学生产生畏难心理;另一方面由于平时学生对其了解甚少,会使其对编制程序产生神秘感。对于我们教师而言,由于算法及编程知识相对枯燥且学生接受能力有差别,不易引发其学习兴趣,这就对教学的推进产生了一定的困难。
二、教学中的实践尝试。
1.类比教学法
类比法是通过比喻来说明事物或事理特征的方法。运用比喻,与实际生活相结合,可以把抽象的道理具体化,枯燥的知识形象化,易于理解。如果恰到好处地应用一些形象生动的比喻,运用到《算法与程序设计》教学中,不仅有助于提高他们听课的兴趣,而且还能达到帮助学生理解和记忆的目的。
比如对计算机程序的三种基本结构的类比,计算机程序的三种基本结构是顺序结构、选择结构和循环结构。
(1)顺序结构与穿衣服顺序进行类比
类比 :穿衣服:先穿内衣,再穿外衣,不能交换顺序。
顺序结构:一组按书写顺序执行的语句。
同学们理解了,顺序结构程序,按书写顺序从上到下,每个语句都要执行。
例:已知三角形三条边长a、b、c,输出其面积。
Private Sub Command1_Click()
Dim a As Single, b As Single,c As Single
Dim p As Single,s As Single
a=InputBox(“a=”,“输入第一条边长”)
b=InputBox(“b=”,“输入第二条边长”)
c=InputBox(“c=”,“输入第三条边长”)
p=(a+b+c)/2
s=sqrt(p*(p-a)*(p-b)*(p-c))
Print “圆的面积s=”;s
End sub
(2)选择结构与“鱼和熊掌不能兼得”进行类比
类比:鱼和熊掌不能兼得:只能选择鱼和熊掌之一。
选择结构:能根据运行时的情况自动选择执行的语句组。
这时学生明白了,选择结构,并不是所有的语句组均要执行,而是根据情况选择一组语句执行。
例:输入三个数,输出最大者。
Private Sub Command1_Click()
a=InputBox(“a=”,“输入第1个数”)
b=InputBox(“b=”,“输入第2个数”)
c=InputBox(“c=”,“输入第3个数”)
if a>b then
max=a
else
max=b
end if
if max>c then
max=max
else
max=c
end if
Print max
End sub
(3)循環语句与操场跑步进行类比
类比:早晨锻炼身体,在操场跑步:如要跑5圈,从第一圈开始,一圈又一圈的跑,跑完5圈结束。
循环:重复地执行某些语句组,循环从初值循环到终值,结束。
2.“半成品加工”教学法
在教学的初始阶段,学生还没有完全掌握程序的语句语法,编写程序的能力有限,这时的教学中也只涉及算法,虽然算法是凌驾于程序设计语言之上的解题思想,但算法又必须通过程序设计语言去运行得到结果,所以教师可以提供现成的程序的半成品给学生,把不可操作、不好操作的题变得可操作,让学生动一动手就能完成一个程序,能够运行程序得到结果,让学生产生兴趣。例如“求100以内能被3和5整除的数”的课堂练习题中,教师自己演示的教学效果是有限的,这时完全可以提供程序的半成品给学生,把判断整除时的除数3和5留给学生自己填写,然后学生运行得到结果。之后,对此题再进行简单的扩展,例如求1000以内的,能被另外某个数整除的,甚至是不能被某个数整除的,学生都能够在半成品中进行简单的填写、修改后,就能得到一个完整的程序,并且能够运行得到结果,
3.分层教学法
高中学生的起点水平及个性差异是比较大的。教师一般都有这个体会,一学到程序设计,学生的两极分化就会特别严重。有些学生对程序设计特别感兴趣,喜欢编程,有时会编出让教师都惊讶的程序,而有些学生则是根本不愿意学习,这时就要在整体教学中注意兼顾两头学生。在课堂任务设计中,教师可以设置不同难度的题目让学生根据自身情况来选做,或分别设计基础任务和提高任务,让有能力的学生尽可能发挥自己的内在潜力。例如在讲选择结构的时候基础任务是输入三个数,输出最大者,提高任务是输入三个数,按从大到小的顺序输出。
《算法和程序设计》这门课旨在培养学生分析问题、解决问题的能力和学生抽象思维能力,是一门应用性非常强的学科,高中阶段的学生理解有一定的困难,在以后的教学中我还将不断地探索研究。只要认真研究、大胆实践、积极探索,就一定能够解决教学中的实际问题,进一步提高我们的教学水平。
一、教学中存在的普遍问题。
1.学生存在个体差异
首先高中学生的起点水平参差不齐。我们学校学生来源多个地方,有农村和城市的差别,就是城市里的也有差别,很多学生在升入高中前,并未接触过算法与程序设计的相关知识。每班大约都有百分之九十多的学生在高中阶段以前未曾接触过程序设计这方面的内容,因此,学生学习程序设计语言的基础较差。其次,编写程序还涉及到本身的数学思维能力,每个学生的思维能力、理解能力是存在差异的。同一个班的学生,他们中有的思维敏捷能很快接受新的知识,有的却还需要反复讲解才能接受。现在我们教学要面向全体学生,让全体学生都接受有些困难。
2.课程内容多,教学时间紧,教学目标不能很好地完成
《算法与程序设计》模块中基本上涵盖了程序设计中用到的所有知识,有大量的数据类型、语句、过程、函数和控件等,这些知识,在大学生,也要一个学期才能掌握。在高中阶段,《算法与程序设计》的内容虽然压缩了很多,但是,这些基础知识要想让学生掌握需要一定的时间,并需要学生进行大量的练习。书本上还包括了几种典型的算法、程序设计思想和项目实践,虽然这部分只要求学生初步掌握,但是仍然需要教师一一讲得透彻,否则学生还是很难理解。一个完整的算法讲解、编写往往需两节课时间,而要让大多数的学生真正能自主编写,甚至需要投入更多时间。但是一般信息技术课程每周只有一至两节课,要学生全面理解算法,学会编程,时间真的太少了。
3.学习内容比较枯燥乏味,缺乏趣味性,学生兴趣不高
《算法与程序设计》难教、难学是困扰师生的突出问题。对于学生而言,一方面算法及编程知识这部分教学内容具有高度的抽象性和严密的逻辑性,理论性和知识性都比较强,不容易掌握,容易使学生产生畏难心理;另一方面由于平时学生对其了解甚少,会使其对编制程序产生神秘感。对于我们教师而言,由于算法及编程知识相对枯燥且学生接受能力有差别,不易引发其学习兴趣,这就对教学的推进产生了一定的困难。
二、教学中的实践尝试。
1.类比教学法
类比法是通过比喻来说明事物或事理特征的方法。运用比喻,与实际生活相结合,可以把抽象的道理具体化,枯燥的知识形象化,易于理解。如果恰到好处地应用一些形象生动的比喻,运用到《算法与程序设计》教学中,不仅有助于提高他们听课的兴趣,而且还能达到帮助学生理解和记忆的目的。
比如对计算机程序的三种基本结构的类比,计算机程序的三种基本结构是顺序结构、选择结构和循环结构。
(1)顺序结构与穿衣服顺序进行类比
类比 :穿衣服:先穿内衣,再穿外衣,不能交换顺序。
顺序结构:一组按书写顺序执行的语句。
同学们理解了,顺序结构程序,按书写顺序从上到下,每个语句都要执行。
例:已知三角形三条边长a、b、c,输出其面积。
Private Sub Command1_Click()
Dim a As Single, b As Single,c As Single
Dim p As Single,s As Single
a=InputBox(“a=”,“输入第一条边长”)
b=InputBox(“b=”,“输入第二条边长”)
c=InputBox(“c=”,“输入第三条边长”)
p=(a+b+c)/2
s=sqrt(p*(p-a)*(p-b)*(p-c))
Print “圆的面积s=”;s
End sub
(2)选择结构与“鱼和熊掌不能兼得”进行类比
类比:鱼和熊掌不能兼得:只能选择鱼和熊掌之一。
选择结构:能根据运行时的情况自动选择执行的语句组。
这时学生明白了,选择结构,并不是所有的语句组均要执行,而是根据情况选择一组语句执行。
例:输入三个数,输出最大者。
Private Sub Command1_Click()
a=InputBox(“a=”,“输入第1个数”)
b=InputBox(“b=”,“输入第2个数”)
c=InputBox(“c=”,“输入第3个数”)
if a>b then
max=a
else
max=b
end if
if max>c then
max=max
else
max=c
end if
Print max
End sub
(3)循環语句与操场跑步进行类比
类比:早晨锻炼身体,在操场跑步:如要跑5圈,从第一圈开始,一圈又一圈的跑,跑完5圈结束。
循环:重复地执行某些语句组,循环从初值循环到终值,结束。
2.“半成品加工”教学法
在教学的初始阶段,学生还没有完全掌握程序的语句语法,编写程序的能力有限,这时的教学中也只涉及算法,虽然算法是凌驾于程序设计语言之上的解题思想,但算法又必须通过程序设计语言去运行得到结果,所以教师可以提供现成的程序的半成品给学生,把不可操作、不好操作的题变得可操作,让学生动一动手就能完成一个程序,能够运行程序得到结果,让学生产生兴趣。例如“求100以内能被3和5整除的数”的课堂练习题中,教师自己演示的教学效果是有限的,这时完全可以提供程序的半成品给学生,把判断整除时的除数3和5留给学生自己填写,然后学生运行得到结果。之后,对此题再进行简单的扩展,例如求1000以内的,能被另外某个数整除的,甚至是不能被某个数整除的,学生都能够在半成品中进行简单的填写、修改后,就能得到一个完整的程序,并且能够运行得到结果,
3.分层教学法
高中学生的起点水平及个性差异是比较大的。教师一般都有这个体会,一学到程序设计,学生的两极分化就会特别严重。有些学生对程序设计特别感兴趣,喜欢编程,有时会编出让教师都惊讶的程序,而有些学生则是根本不愿意学习,这时就要在整体教学中注意兼顾两头学生。在课堂任务设计中,教师可以设置不同难度的题目让学生根据自身情况来选做,或分别设计基础任务和提高任务,让有能力的学生尽可能发挥自己的内在潜力。例如在讲选择结构的时候基础任务是输入三个数,输出最大者,提高任务是输入三个数,按从大到小的顺序输出。
《算法和程序设计》这门课旨在培养学生分析问题、解决问题的能力和学生抽象思维能力,是一门应用性非常强的学科,高中阶段的学生理解有一定的困难,在以后的教学中我还将不断地探索研究。只要认真研究、大胆实践、积极探索,就一定能够解决教学中的实际问题,进一步提高我们的教学水平。