您好, 访客   登录/注册

基于目标的C语言程序设计教学研究

来源:用户上传      作者: 付勇智

  摘要:本文分析了应用型工科院校C语言教学的现状,从工科学生对C语言知识的应用、教材例题的内容、教学方式探讨了基于目标的C语言程序设计教学的基本内涵与作用,提出了把教学目标分解成知识目标和应用目标,合理地解决了C语言教学中公共知识与特色应用的矛盾。最后分析了基于目标的C语言程序设计教学的教学效果。
  关键词:目标;C语言程序设计;知识目标;应用目标;工科院校
  中图分类号:G642.0 文献标识码:A 文章编号:1671-0568(2011)35-0092-02
  
  现在很多应用型工科院校都把C语言程序设计课程作为培养学生计算机能力的一门公共基础课,在培养目标的设计上所有专业基本一致,学习内容主要是C语言语法的讲解,很少考虑C语言程序设计在不同专业中的应用特点,即使有些学校实行了分级教学,也是对语法的增减、课时的减少。教师为考试而教,学生为考试而学。很多学者尝试用任务驱动、案例教学等方法改变教学效果,[4,5,6]提高教学质量,但大多数的目标都是围绕语法知识学习展开,与应用型工科院校的培养目标相违背。
  一、C语言教学现状分析
  1.培养目标现状分析
  目前大多数学校的《C语言程序设计》的培养目标都是直接采用布鲁姆的六级分类法,[1]从三个方面进行描述:①知识培养目标描述;②能力培养目标描述。③素质培养目标描述。大部分学校的培养目标对第一方面的描述都非常具体和清晰;而对第二、三方面目标的描述则显得软弱无力。对于所有专业的培养目标描述大同小异,忽视了“教给学生能够用于不同情境的知识和在不同的情境中自觉运用这些知识的能力,教会学生利用自己个性的全部资源,为他适应新的生活习惯作好准备”的教学目的。[1]在教学管理上重点强调是教学内容对培养目标的覆盖度,这样的培养目标使得教师对能力培养目标和素质培养目标无所适从。[2,3]
  2.教学现状分析
  由于培养目标描述得不准确,大部分教师只好把主要精力甚至全部精力都放在知识传授上面,课程实验内容也成为数学和智力游戏的编程。实践证明,这样的教学对精英教育是行之有效的,可以培养学生举一反三、总结推广、归纳类比的能力。但对于处于大众化教育背景下的应用型工科院校学生来说,教学效果却是事与愿违,导致学生在编程时只注意语法的正确性,而对程序是否能正确运行根本不考虑。例如:一次比赛要求整数矩阵周边元素之和,元素个数及元素大小为小于等于32676,使用的编译器整数位为16位,所有的学生都用16位整数来保存结果。还有就是很多学生在做数组运算时,都是采用交互方式获取数据,而不管要输入的数据有多少。问学生为什么这样做,回答是教师就教了这种方法,再问输错了怎办,他们回答“不会输错的”。这显然与能力目标和素质目标相差甚远。
  二、基于目标的《C语言程序设计》教学
  为了解决C语言课程教学中学生考了高分还是写不出可用的程序的问题,首先就要以学生为中心,使课程培养目标与学生对C语言的应用目标相符。C语言教学目标包含两方面的内容:知识目标和应用目标,知识目标是C语言内容的传授,应用目标是C语言教学的目标,是学生学习的动力。知识目标服务于应用目标。
  1.工科学生对C语言的应用
  随着信息化进程不断深入,计算机技术在各行业的应用形式和要求的差别也日益显现。在今后的学习和工作中,工科学生主要在以下几个方面需要用到C语言编程:①设计方面主要是提高效率,直接运用Cad软件和对Cad软件进行二次开发,对C语言程序设计知识的运用主要是利用数据类型保存机械零件的参数、数据表的保存、函数的调用;②分析方面主要是为专业分析软件准备数据,对C语言程序设计知识的运用主要是数据精度和运算累积误差的理解、文件格式;③嵌入式开发,主要是程序在空间与时间的优化。这些应用除了基本的C语言语法知识外,还有其特殊性。例如Cad软件二次开发程序的入口点用Cad软件规定的函数名指定,而不是main()函数;在嵌入式开发中程序优化需要用到C语言与汇编语言之间语句的对应关系等,这些就是上述应用目标。
  2.教材要求
  教材是学生学习知识的指南针,是一切教学活动的出发点。教材是前辈科学家的经验总结,是他们智慧的结晶。因此,教材在教学过程中引导学习、传承和应用知识等方面的作用是不可或缺的。教材需要对知识目标和应用目标提供相应的内容支撑。对知识目标的支撑需要理论介绍和相应的范例,应用目标在本课程中仅需要一些简单例题则可。现在大多数C语言程序设计教材内容对知识目标一般都有好的支撑,但对应用目标的支撑就相形见拙了。
  因为,大多数工科学校把C语言程序设计课程都放在大学一年级,因此,在C语言程序设计教材中实际应用例题的业务背景不能太复杂,要与所学的C语言语法知识相关,而且要用业务语言进行描述。例如数据类型这一节,知识目标是数据类型的定义、数据类型之间转换与运算;应用目标是根据业务场景选择合适的数据类型保存数据(考虑数据大小和运算累积误差)。如以下例题:
  某轮轴生产公司为了严格控制产品的质量,对每件产品的轴长都要进行在线检测,检测数据保留两位小数,每天都要计算当日所有产品的轴长的平均值作为单日产品质量的评价指标,该公司的最大日产量为1百万件。请选择正确的数据类型,并说明理由。在学习了文件之后,就可以要学生进行编程,验证自己的想法。
  3.课堂教学
  课堂教学是一切教学活动中最重要的活动,课堂教学效果好坏直接影响学生的学习兴趣与学习效果。以学生为中心,以应用为目的进行教学设计,按照C语言的知识体系展开教学。不但要有初级的认知问题,而且要有综合的、复杂的认知问题,以激发学生的思维,从而培养学生的思维能力、观念和自我评价体系。课堂教学由理论教学与实践教学组成。理论教学要求为学生诠释知识、规范学习与编程的行为、指点知识应用之迷津。要求教师对理论的解析简单明了,所举范例针对性强,用应用型范例帮助学生建立C语言知识与专业应用之间的联系,提高学生学习的兴趣。例如:在讲数据类型时,使用上述范例,在课堂上教师使用程序显示来帮助学生验证他们所找到的理由;实践教学是理论教学的补充和延伸,例如前举数据类型的案例,在理论课中使学生明白了累加会有误差及其产生误差的原因,据此在实验课中设计一些实验,让学生亲自验证和研究不同数据类型累加误差、克服累加误差的方法、各种数据类型适应数据处理的规模。实验教学的方法可以采用范例示范,学生参照范例进行研究。
  兴趣才是学生学习的动力,应用是兴趣之源。任何课程的开设,只有让学生明白该课程对他们工作学习的帮助、与专业课程和工作的联系,他们才会真正地参与学习,否则就是为了考试而学习。教学实践表明,基于目标的C语言程序设计的教学方法,很好地解决了这个问题。
  
  参考文献:
  [1]本杰明・布鲁姆.教育目标分类:认知领域[M].北京:人民文学出版社,1956.
  [2]孟朝霞.C语言课程的应用性目标模型[J].运城学院学报,2009,(1).
  [3]景运革,孟朝霞.C语言程序设计教学目标描述研究[J].运城学院学报,2008,(5).
  [4]郑均辉等.《C语言程序设计》课程案例教学法探讨与研究[J].内江科技,2007,(10).
  [5]黄博军.任务驱动教学法在《C语言程序设计》课程中的应用[J].襄樊职业技术学院学报,2007,(3).
  [6]熊春荣.《C语言程序设计》课程案例驱动教学模式的研究与实践[J].玉林师范学院学报(自然科学),2010,(5).


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