对高中算法与程序设计()教学的思考

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