论文部分内容阅读
【摘要】 高中信息技术课程标准是以普通高中整体改革为背景的,新课标注重提高信息素养,打造终身学习的平台,培养解决问题的能力,共同建构健康的信息文化。本文就高中算法与程序设计教学,浅谈了自己的几点思考:即教师在正确认识高中阶段开设程序设计教学的重要性基础之上,如何激发学生的学习兴趣,如何培养学生的反思性学习能力,从而更好的开展程序设计教学,提高学生的信息素养。
【中图分类号】G623.5【文献标识码】B【文章编号】1001-4128(2011)04-0101-02
中信息技术课程标准要求》指出:选修“算法与程序设计”模块以算法与程序设计为主线,揭示利用计算机解决实际问题的过程。通过本模块的教学,让学生体验算法思想,了解算法与程序设计在解决问题过程中的地位和作用。使学生能从简单问题出发,设计解决问题的算法,并能初步使用一种程序设计语言编制程序、实现算法、解决问题。就高中程序设计教学而言,笔者有这样几点思考。
1 对高中阶段开设程序设计教学的认识
高中阶段开设算法与程序设计教学有其必要性。学生在高中阶段打下基础,有利于他们进入大学的深造和就业以后的继续教育。此外,高考数学中加入了算法模块,也证明了开设算法与程序设计教学的重要性。
算法与程序设计属于较高层次的学习内容,所以学习的深度和广度要由教师具体情况具体对待。教师要帮助学生充分认识到该部分内容的重要性,让学生在学习过程中积极发挥主观能动性,从而促使教学工作科学、合理、有效地开展。
2 程序设计教学中学习兴趣的激发
恩格斯说“兴趣与爱好是最好的老师”。刚开始接触程序时,很多学生感到新奇,这不能说是兴趣,只是一种好奇。随着学习的深入,许多的规则、定义、要求和机械的格式出现,很容易使部分学生产生枯燥无味的感觉。为了把学生的好奇转化为学习兴趣,教师在教学过程中要运用恰当的教学方法,引起学生的有意注意或有意后注意,培养学习兴趣。
1.1 创设情境,精彩“导入”
例,场景模拟在元旦晚会上,我用设计好的VB小程序,随机抽取一位班级幸运同学的学号,赠送小礼品。这样,激起了学生们的学习热情。然后,引出教学内容RND()函数和INT()函数。
2、让学生成为课堂“主角”
在课堂教学中,还应该让学生进入主体角色,主动地去发现从而成为知识的主动探索者。
例如:如何判断I(Dim I as integer)是奇数?
教师引导同学们发散思维,积极探索,大部分学生能够写出如下两种判断条件:
①I mod 2 = 1②I mod 2 <> 0
但是,也有同学思考问题角度不一样,写出了下面两种判断条件:
③ (-1) ^ I= -1 ④ (-1) ^ I= 1
可以让这些独特见解的学生充当小教师角色,走上讲台的教师机,一边操作一边讲解自己设计的算法。通过示范,在学生间起到相互促进,相互影响的作用,达到共同进步。让学生成为课堂的主角,也能适当缓解学生学习水平差异性的矛盾,一方面,基础知识好的同学可以强化能力方面的训练,反之,部分学生则可以继续加强基础知识方面的训练。
3 程序设计教学中培养学生反思性学习能力
反思性学习,顾名思义就是通过对学习活动过程的反思来进行学习。学生具有反思性学习的意识是反思性学习的前提。让学生明确没有反思便难有自我改错纠偏的道理;明确反思不仅能及时改正错误,还能优化已有认识,提高自身合理性水平。对于学生的成功予以适当表扬与鼓励,还可以达到强化学生反思意识的效果。另外,教师要营造开放、合作、协调、信任的教学氛围,鼓励学生大胆地质疑,给出别处心裁的答案。学生智慧的激活,会反作用于教师和其他学生,使其能在更高层次上积极思维,从而在师生、学生间积极思维的互动中,不断闪耀出智慧的光芒,从而建立一种互动的反思关系。
反思性学习不仅仅是对学习一般性的回顾或重复,而是深究学习活动中所涉及的知识、方法、思路、策略等,具有了较强的科学研究的性质。新课标强调关注每个学生的情感、态度、价值观和一般能力的培养。所以在教学中,教师要有意识的通过多种方法来培养学生的反思性学习能力。
3.1 由浅入深、循序渐进
教学过程中,教师不能局限于教材内容系统条块化的安排,要能够做到重新分析教材,增强教学内容的层次性。从而既符合人的认识过程规律,也能使学生在掌握知识的同时掌握运用知识的方法。引导学生的思维层次提高,逐渐深刻,促进学生的进一步反思,诱发他们的创新思维。
例如,学完求余(mod) 、整除(\)运算符后,可以讲解如何将一个两位数的个位、十位分别输出。在学生掌握的基础上,可以进一步引导学生思考,如果是一个三位数、或者四位数的时候,又该如何将每一位上的数字分别输出呢?建立上述基础上,在讲完循环结构后,还可以让学生尝试完成“水仙花数”的程序。
教学过程中使用任务驱动法时,要注意由点到面,逐步介绍各知识点。开始先让学生有所了解,经过一段时间的熟悉以及相关知识的积累后,再深入理解,然后适时地加以概括和总结。让学生对知识的理解、认识、运用有一个由浅入深、循序渐进的“螺旋式”上升过程。
3.2 举一反三、触类旁通
学习过程中,不难发现解决许多问题的算法是相互联系的。如果教师善于整理、归纳,并结合一些典型例题来讲解的话,学生的思路必然拓宽,培养了他们思维的灵活性,使学生学会举一反三,提高学生对知识的应用水平与创新能力。
例如,用VB编程实现s=1+2+3+……+100的和。
Private Sub Form_Click()
Dim I As Integer
Dim S As Integer
S = 0
For I = 1 To 100 Step 1
S = S + I
Next I
Print S
End Sub
在该题基础上,如何实现:
编程求S=1+3+5+……+99的和。
再问:在①的基础上,如何实现:编程求S=2+4+6+……+100的和。
通过类比方式,学生还可以较容易的完成下面一题:
②编程实现S=1*2*3*……*10,即求S=10!。
再对第②题充分理解的基础之上,学生还可以完成下面一题:
③ 编程实现S=1!+2!+3!+……+10!。
综上可见,教师如果认真的对题目进行筛选,并对教学内容进行合理编排组织进行教学,将有效帮助学生学会举一反三、触类旁通。
4 结束语
信息技术老师应以《中小学信息技术课程指导纲要》为指导,“中学信息技术课程要以基础性知识和技能性操作为主,程序设计是更高层次的学习内容”。程序设计教学的目标不是培养“小型的程序员”。教师要培养学生用程序设计的方式进行思考,使学生的学习成为探究性活动,提高学生的创新能力,促进学生信息素养的提高,帮助学生成为适应信息化时代发展的人才。
参考文献
[1] 中华人民共和国教育部.普通高中信息技术课程标准[S]
[2] 熊川武.反思性教学[M].上海:华东师大出版社
[3] 陈伟平 金炳尧.高中程序设计教学中培养学生反思性学习能力[J].中国教育信息化,2008,(1):33-34
【中图分类号】G623.5【文献标识码】B【文章编号】1001-4128(2011)04-0101-02
中信息技术课程标准要求》指出:选修“算法与程序设计”模块以算法与程序设计为主线,揭示利用计算机解决实际问题的过程。通过本模块的教学,让学生体验算法思想,了解算法与程序设计在解决问题过程中的地位和作用。使学生能从简单问题出发,设计解决问题的算法,并能初步使用一种程序设计语言编制程序、实现算法、解决问题。就高中程序设计教学而言,笔者有这样几点思考。
1 对高中阶段开设程序设计教学的认识
高中阶段开设算法与程序设计教学有其必要性。学生在高中阶段打下基础,有利于他们进入大学的深造和就业以后的继续教育。此外,高考数学中加入了算法模块,也证明了开设算法与程序设计教学的重要性。
算法与程序设计属于较高层次的学习内容,所以学习的深度和广度要由教师具体情况具体对待。教师要帮助学生充分认识到该部分内容的重要性,让学生在学习过程中积极发挥主观能动性,从而促使教学工作科学、合理、有效地开展。
2 程序设计教学中学习兴趣的激发
恩格斯说“兴趣与爱好是最好的老师”。刚开始接触程序时,很多学生感到新奇,这不能说是兴趣,只是一种好奇。随着学习的深入,许多的规则、定义、要求和机械的格式出现,很容易使部分学生产生枯燥无味的感觉。为了把学生的好奇转化为学习兴趣,教师在教学过程中要运用恰当的教学方法,引起学生的有意注意或有意后注意,培养学习兴趣。
1.1 创设情境,精彩“导入”
例,场景模拟在元旦晚会上,我用设计好的VB小程序,随机抽取一位班级幸运同学的学号,赠送小礼品。这样,激起了学生们的学习热情。然后,引出教学内容RND()函数和INT()函数。
2、让学生成为课堂“主角”
在课堂教学中,还应该让学生进入主体角色,主动地去发现从而成为知识的主动探索者。
例如:如何判断I(Dim I as integer)是奇数?
教师引导同学们发散思维,积极探索,大部分学生能够写出如下两种判断条件:
①I mod 2 = 1②I mod 2 <> 0
但是,也有同学思考问题角度不一样,写出了下面两种判断条件:
③ (-1) ^ I= -1 ④ (-1) ^ I= 1
可以让这些独特见解的学生充当小教师角色,走上讲台的教师机,一边操作一边讲解自己设计的算法。通过示范,在学生间起到相互促进,相互影响的作用,达到共同进步。让学生成为课堂的主角,也能适当缓解学生学习水平差异性的矛盾,一方面,基础知识好的同学可以强化能力方面的训练,反之,部分学生则可以继续加强基础知识方面的训练。
3 程序设计教学中培养学生反思性学习能力
反思性学习,顾名思义就是通过对学习活动过程的反思来进行学习。学生具有反思性学习的意识是反思性学习的前提。让学生明确没有反思便难有自我改错纠偏的道理;明确反思不仅能及时改正错误,还能优化已有认识,提高自身合理性水平。对于学生的成功予以适当表扬与鼓励,还可以达到强化学生反思意识的效果。另外,教师要营造开放、合作、协调、信任的教学氛围,鼓励学生大胆地质疑,给出别处心裁的答案。学生智慧的激活,会反作用于教师和其他学生,使其能在更高层次上积极思维,从而在师生、学生间积极思维的互动中,不断闪耀出智慧的光芒,从而建立一种互动的反思关系。
反思性学习不仅仅是对学习一般性的回顾或重复,而是深究学习活动中所涉及的知识、方法、思路、策略等,具有了较强的科学研究的性质。新课标强调关注每个学生的情感、态度、价值观和一般能力的培养。所以在教学中,教师要有意识的通过多种方法来培养学生的反思性学习能力。
3.1 由浅入深、循序渐进
教学过程中,教师不能局限于教材内容系统条块化的安排,要能够做到重新分析教材,增强教学内容的层次性。从而既符合人的认识过程规律,也能使学生在掌握知识的同时掌握运用知识的方法。引导学生的思维层次提高,逐渐深刻,促进学生的进一步反思,诱发他们的创新思维。
例如,学完求余(mod) 、整除(\)运算符后,可以讲解如何将一个两位数的个位、十位分别输出。在学生掌握的基础上,可以进一步引导学生思考,如果是一个三位数、或者四位数的时候,又该如何将每一位上的数字分别输出呢?建立上述基础上,在讲完循环结构后,还可以让学生尝试完成“水仙花数”的程序。
教学过程中使用任务驱动法时,要注意由点到面,逐步介绍各知识点。开始先让学生有所了解,经过一段时间的熟悉以及相关知识的积累后,再深入理解,然后适时地加以概括和总结。让学生对知识的理解、认识、运用有一个由浅入深、循序渐进的“螺旋式”上升过程。
3.2 举一反三、触类旁通
学习过程中,不难发现解决许多问题的算法是相互联系的。如果教师善于整理、归纳,并结合一些典型例题来讲解的话,学生的思路必然拓宽,培养了他们思维的灵活性,使学生学会举一反三,提高学生对知识的应用水平与创新能力。
例如,用VB编程实现s=1+2+3+……+100的和。
Private Sub Form_Click()
Dim I As Integer
Dim S As Integer
S = 0
For I = 1 To 100 Step 1
S = S + I
Next I
Print S
End Sub
在该题基础上,如何实现:
编程求S=1+3+5+……+99的和。
再问:在①的基础上,如何实现:编程求S=2+4+6+……+100的和。
通过类比方式,学生还可以较容易的完成下面一题:
②编程实现S=1*2*3*……*10,即求S=10!。
再对第②题充分理解的基础之上,学生还可以完成下面一题:
③ 编程实现S=1!+2!+3!+……+10!。
综上可见,教师如果认真的对题目进行筛选,并对教学内容进行合理编排组织进行教学,将有效帮助学生学会举一反三、触类旁通。
4 结束语
信息技术老师应以《中小学信息技术课程指导纲要》为指导,“中学信息技术课程要以基础性知识和技能性操作为主,程序设计是更高层次的学习内容”。程序设计教学的目标不是培养“小型的程序员”。教师要培养学生用程序设计的方式进行思考,使学生的学习成为探究性活动,提高学生的创新能力,促进学生信息素养的提高,帮助学生成为适应信息化时代发展的人才。
参考文献
[1] 中华人民共和国教育部.普通高中信息技术课程标准[S]
[2] 熊川武.反思性教学[M].上海:华东师大出版社
[3] 陈伟平 金炳尧.高中程序设计教学中培养学生反思性学习能力[J].中国教育信息化,2008,(1):33-34