您好, 访客   登录/注册

程序设计语言课程教学方法探析

来源:用户上传      作者:

  【摘 要】 程序设计语言类课程的指导思想是:使学生通过学习既掌握高级编程语言的知识、编程技术和基本算法,又掌握程序设计的思想和方法,更具备利用计算机求解实际问题的能力,能灵活运用高级语言进行程序设计。其重点是培养学生掌握程序设计的思想和方法,难点是作为程序设计的入门课程,应当如何引导学生突破传统的思维方式,培养程序设计的新思想。本文从如何提高C语言课程教学质量、增强教学效果、培养和提高学生分析问题、解决问题能力和创新能力等方面,谈谈在教学上的一些经验和体会。
  【关键词】 C语言 教学方法
  
  1 采用启发、引导的教育方法
  
  1.1 教师在教学过程中,应当注意设置疑难问题,引导学生思考和探索,让他们的思想活跃起来。本人教学时发现,学生问不出问题的原因往往在于没有真正学好。实际上,问题是最好的老师,是学生学习的引导者,没有问题便没有深入。在教学过程中,引导学生在问题解决中学习,即提出问题,留给学生时间思考、讨论、解决问题,从而更深入地展开学习。实践证明,这种教学方法充分调动了学生学习的积极性和主动性。例如,在讲数组的概念时,老师先设置问题:编程计算10个人的英语平均成绩。根据以前所学,学生会想到:需要说明10个类型相同的变量用于存放这10个人的英语成绩。再进一步要求:计算50个人的英语平均成绩。这时候如再说明50个变量,则会将问题麻烦化,学生此刻需要讨论该如何合理说明变量。再深入一步:求100个人的英语平均成绩。此时,当教师引出数组的概念、分析数组的性质时,学生不仅能够很容易记住数组的性质,还能够知道在什么情况下使用数组类型,事半功倍。
  1.2 教给学生正确的学习方法,引导学生掌握程序设计的思想和方法。经验丰富的软件设计者都知道程序设计的关键在于找到解决问题的方法,即算法。根据软件工程的思想,当拿到一个任务时,首先应将这个问题自顶向下逐步细化,逐层向下分解,直到满足每一个要求。实现时,可以先用流程图、N-S图和PAD图描述出算法,进而写出合理的算法,再将之转化成程序。C语言通常作为计算机专业第一门程序设计课程、面向毫无程序设计经验的学生开设,问题是:他们根本不知道什么是软件工程,也不能立刻掌握问题的全貌,很难读懂流程图、N-S图和PAD图描述的算法,更不用说问题的转化。
   伪代码是接近于自然语言描述算法的工具,英文字符少,简单易学,便于掌握和表达,也易于转换成高级语言。我授课时,采用自顶向下的方法讲解每一道程序设计题,并从全局出发,给出解决问题的、高度概括和抽象的伪码语言描述的算法,将问题描述成几个子问题或子功能,再将子问题进一步细化。视问题大小,这一阶段的工作可分成若干步骤,每一步均用伪代码语言描述其实现过程,然后再根据具体情况进一步细化,逐步深入,直到所有子问题或子功能都能用语句描述为止。
   例:从键盘输入任意三个整数,要求输出其中的最大数。老师在写出程序之前首先需要进行以下分析:①要解决问题,需要定义几个变量,变量的类型如何确定。②变量没有值可以吗?如何给变量提供值。③求三个数的最大值。④输出结果。
   进一步分析:①经过分析可以定义四个变量,分别为:a,b,c, max;根据题目要求其类型应为整型(Int)。②要求a,b,c的最大值,这三个变量有值才能求最大值,如何从键盘给它们提供值?学生自然会想到scanf();max可以用来存放找到的最大值。③要求三个数的最大值,可转化为先求出两个数的最大值,再将这两数的最大值与第三个数比较,求出的最大值即为所求结果,将结果存入max。④输出max的值。
  将③再进一步深入:
   ◆如何求a,b的最大值?问题可描述为:若a大于b,则a为所求,将其存入max;否则b为所求,将b存入max。分析到此,学生会将该结构与if-else语句对应。
  ◆求max与c的最大值,问题可描述为:若c大于max,则用c更新max;否则max为三数中的最大值,其值不变。分析到此,学生会将该结构与if语句对应。
   ◆将每一步用相应的C语句实现,即为求三个数最大者的C程序。
   ◆其实C语言的每个函数体基本上可从以下几方面引导学生进行分析:①需要定义的变量个数及类型。②选择适当的方法为变量提供相应的值。③对数据进行处理。④输出结果,再根据每一步的具体情况,进一步细化。
   这种方法可以引导学生了解程序设计的思路和方法,有助于他们把握问题全局,分阶段逐步深入细化,使得每个阶段的问题都在容易理解和处理的范围内,遇到问题不会无从下手。
  1.3 对学生要以鼓励为主。学生普遍希望能够体现自我价值,受人尊重。教学中及时鼓励学生,表扬其优点,有利于调动学生学习积极性。本人在多年的教学实践中体会到:即使成绩再差,老师只要发现并及时表扬其优点,学生会逐渐对所学课程产生兴趣,从不想学到自觉学,最终会取得令人满意的成绩。
  
  2 积极培养学生综合运用知识及自己动手的能力
  
  程序设计课程的实践性很强,学生只听不练根本达不到学习该课程的目的。曾有学生问过:学习C语言有什么用?这些说明教材的课后习题偏离实际较远,学生在完成课后习题时积极性不高,兴趣不大,甚至想抄作业应付老师。只有让学生动手编制他们感兴趣的程序,学生才会有成就感,会对课程产生兴趣,学起来才会比较从容。
   如何让学生综合应用所学知识解决实际问题,提高学生的综合应用能力和创新能力,激发其学习兴趣,提高其学习的主动性,是我们需要加入课程设计的内容。课程设计时,老师要重点设计选题,使得选题既接近实际需要,又能够让学生感兴趣、能够运用所学知识解决。课程设计题目分为基本题和综合题。基本题按教学顺序设计,尽量避免涉及后续章节的知识,后续的课程设计题目尽量引用前面的课程设计内容,以便加深对前面所学知识的理解。综合性题目是对一学期所学知识的总结和巩固,应与实际生活或工作相关且具有一定规模,可将其分成几个子项目,由更多学生参与,分工合作,以期进一步锻炼学生的动手能力,进一步培养学生分析问题、解决问题、研究和探索问题的能力和团队协作精神。
  
  3 有选择地运用多媒体教学
  
   直观、形象、便捷的多媒体教学可以使学生在有限时间内迅速理解、掌握、获取更多知识和信息,如字处理Word、电子表格Excel。我们认为,C语言不仅仅要教会学生语法知识,更要通过课程教学,培养学生抽象思维和逻辑推理能力,掌握程序设计的思想和方法。教学过程中,我们有选择地使用多媒体教学,将C语言语法中非深奥理论和逻辑推理的内容(如数据类型、运算符、语句及部分语法规则),运用多媒体教学直观、形象地讲授给学生,加深其对问题的理解。这样的多媒体教学,收到了将抽象问题形象化、枯燥问题生动化的效果。对于多媒体教学不易实施的程序设计方法的讲解,我们采用传统的教学方法,教会学生如何思考、推理,如何用语句实现算法,培养了学生的抽象思维、逻辑推理能力。这样,将传统的教学方法与多媒体教学相结合,大大提高了学生的综合思维能力。
  
  4 小结
  
   从我校学生的平时反映及成绩来看,程序设计语言课程教学收效良好。因此,教学是一门艺术,它是教师的创造性、能动性、表演才能和科学水平的综合体现,它的作用就是要将教学对象的内在积极性与潜能充分发挥出来,从而达到最佳的教学效果。
  
  参考文献
  1 谭浩强.C程序设计.(第二版).清华大学出版社,2005.3
  2 王柏盛.C程序设计.高等教育出版社,2004.4
  3 谭浩强.C程序设计题解与上机指导.清华大学出版社,1998.7

转载注明来源:https://www.xzbu.com/9/view-9605681.htm