APP下载

非计算机专业C语言程序设计实验教学模式

2011-12-31潘丽丽钟少宏姜瑜

计算机教育 2011年18期

  摘要:本文就C语言程序设计的实验教学,针对非计算机专业学生的特点,通过多个实验教学实践,提出激发学生学习兴趣、与理论授课老师保持良好沟通、合理安排实验教学内容的教学思路,并就具体实现方法进行探讨。
  关键词:C语言 程序设计 实验教学 教学改革
  文章编号:1672-5913(2011)18-0081-03 中图分类号:G642 文献标识码:A
  基金项目:中南林业科技大学新进高层次人才项目(104-0091);湖南省高等学校科学研究项目 (10C1312)。
  
  C语言程序设计是程序设计类课程的基础,既具有高级程序设计语言的功能,又具有低级语言的许多特点,是计算机专业和其他相关专业的核心课程,有广泛的应用领域。随着信息产业的飞速发展,时代赋予大学生素质教育更多的含义和要求,其中计算机水平和能力的考核不再局限于计算机专业人才,更多的非计算机专业学生也同样需要具备一定的计算机知识和编程能力。因此,C语言程序设计不仅仅是计算机专业的基础课程,同时也成为许多非计算机专业的基础课程。近年来,我校在理工类专业普遍开设该课程,对于提高学生的综合素质起到重要作用。
  实践证明,保证计算机课程教学质量的关键在于课堂教学和实验教学两手都要抓,两手都要牢[1]。实验课程是培养学生钻研与创新精神的课堂教学,为实验教学提供必须的理论基础,实验教学是理论知识转换为实际应用的重要途径。在学习C语言程序设计课程中,非计算机专业的学生表现出与计算机专业学生不同的方面,其主要表现在学习C语言的积极性和兴趣不高。因此,我们针对“非计算机专业学生”这个群体的特点,从提高学生的学习的积极性和兴趣方面出发,以培养学生的C语言程序设计能力为目标,对C语言程序设计实验教学方法进行研究和探索。
  1 非计算机专业的C语言程序设计实验教学现状
  在C语言实验教学中,我校配有C语言实验课程教材,且实验教学晚于理论教学一周时间启动。同时,实验教材基本与理论教材内容配套,由多个基于不同关键知识点构成的实验,每一个实验都是针对某个或某些相关知识点设计的,由多种类型不同的程序设计题构成,循序渐进,由浅入深,这非常有利于学生掌握C语言编程技巧。但是,在实际的教学过程中,问题仍然存在。
  1.1 重视度不够
  C语言程序设计作为非计算机专业学生的一门课程,受重视度远不及计算机专业的学生。主要原因在于非计算机专业学生认为C语言课程与他们专业的相关性不大,因此,非计算机专业的学生学习C语言的积极性不高。
  1.2 实验教学与理论教学脱节
  理论和实际教学安排,都说明实验教学应该紧接理论教学。但是,由于每个老师的教学进度有区别,因此,实验教学老师分配实验任务的时候,学生反映该实验内容的理论知识点还没有讲授,或者实验教学老师分配的实验任务中需掌握的知识点,理论教学老师早在几周前已经讲授完毕。这两种情况都不利于学生掌握C语言程序设计。前者的情况会使学生在实验课程中完全不理解实验内容,不明白程序语句的含义,对于独立的编程题更不知道如何动手;后者则由于知识点讲授的时间与实验课程的时间间隔比较长,学生对需要掌握的知识点印象模糊,甚至完全忘记。
  1.3 过多依赖实验教材
  C语言实验教材中包含很多个独立的实验章节,每一节实验内容都包含一个主题,由若干个不同类型的程序题构成,大部分程序题都有较为详细的程序代码。大部分实验教学老师在每次实验课时,对所有同学一视同仁,分配相同的实验内容,并从中选择一些程序题或者让学生按题号依次编写程序,学生只需要根据实验教材提供的编码依次输入C语言代码即可运行相应的程序。虽然实验教材在一定程度上帮助实验教学老师分配教学任务和辅助学生学习C语言,但是,它也抹杀了学生的思维创造力,不利于学生探索精神的培养。
  2 教学模式的改进
  针对非计算机专业C语言程序设计实验教学存在的问题,我们进行改革尝试,具体内容有以下几个方面。
  2.1 激发学习C语言程序设计的积极性
  教学过程中,老师起重要的“督导”作用。一方面,教师要让非计算机专业的学生明白,在一个信息爆炸的时代,掌握一门编程语言对于理工科专业的学生而言是非常有必要的。编程语言是人类智慧的结晶,通过对编程语言的学习和应用,可以建立良好的逻辑思维和培养好的计算能力。C语言是一门基础性的编程语言,是非计算机专业学生掌握编程语言的奠基石。另一方面,我们要帮助学生树立编程的信心。学习C语言就是将现实社会的事情通过计算机来运行处理,只要学生掌握了C语言的语法规则就一定可以编写出程序,通过编程解决本专业领域的问题,结合自己的专业特点,编写具有自己专业背景的软件[2]。例如,最初安排实验课时,实验老师结合多媒体教学设备,采用口头描述和实际操作相结合的方式,让学生熟悉C语言开发环境,并结合简单的C语言程序,说明程序语句的输入、保存、调试、运行等步骤。让学生对于C语言开发环境形成初步的认识并掌握基本的操作方法;布置一个精简的C语言编程任务(输入程序代码),逐个检查学生们的实际操作结果,以此督促学生熟悉C语言开发环境,检验学习效果,为后续实验课程打下基础。在历年的实验教学过程中,我们发现很多非专业的学生对C语言学习兴趣不大的主要原因在于,他们在最初的学习过程中对编程工具不够熟悉,理论知识没有通过实验课及时地消化理解运用。通过实验老师的讲授与检查,我们应确保每一位同学掌握C语言的开发、编译、运行流程,奠定非专业学生学习C语言的基础。
  2.2 实验老师与理论老师建立良好的沟通
  我校C语言程序设计课程由理论教学和实验教学构成,同一个班级的理论教学老师和实验教学老师并不相同。在C语言实验教学过程中,为了恰当分配实验任务,实验老师和理论老师保持良好的沟通是非常有必要的。就同一个班级而言,实验指导老师可以经常和理论授课老师交流,将实验教学过程中发现的问题反馈给理论授课老师,同时,也可以询问理论授课老师的教学进度、关键知识点的掌握情况,等等。通过良好的沟通,实验指导老师可以及时了解学生当前的理论教学进度和学习情况,当理论教学进度与实验教学进度不一致时,实验教师可以对实验教学任务做出适当的调整,为学生提供与最近学习的理论知识点相对应的实验内容,让学生及时消化和吸收新的知识点和关键内容;如果学生对某些关键知识点普遍掌握不好,实验指导老师可以精选实验内容,加强该知识点的实践练习。例如,实验课程中老师发现同学们对于循环结构理解不够深入,运用也不够理想,出现“死循环”或者循环变量设置不正确。针对该情形,实验老师可以重点分析“while”、“for”和“do-whilel”循环结构,给出具体的程序实例,分析这三种循环结构的区别,循环次数和变量的变化,加强实践练习。另一方面,教师总结学生实验课程中出现的问题,形成实验文档和记录,反馈给理论授课老师,相互交流后,理论授课老师根据具体问题对授课内容进行调整。对此,学生反映很好,学习效果得到改善。
  2.3 精选实验内容,合理分配实验任务
  C语言程序设计实验教学老师应熟悉C语言程序设计实验教学内容和教学大纲,并根据每一次实验课时需要掌握的知识点,有侧重、有计划,由浅入深地准备实验内容。非计算机专业学生每个人学习C语言的能力和实际应用C语言能力不同。例如:有的学生接触计算机的时间较早,或者已经有一定编程基础;有的学生则是刚刚接触编程语言;有的轻理论重实践;有的重理论轻实践。实验教学老师应全面细致地观察学生,善于发现不同学生的特点,从而分配适宜的实验任务。具体的实施方法是:对实际应用能力较弱的学生,可以分配较容易,稍低于实验大纲要求的实验任务;对于理论知识掌握扎实,且实际编程能力较强的学生,则可以在实验教学要求的基础上,增强实验内容的难度和广度。这样做的优点在于,在有限的实验课时内,学生可以有效地完成实验任务,同时,促进和鼓舞学生学习C语言的兴趣;这样做既培养和提高了全体学生的C语言编程能力,又可以挖掘出小部分编程能力较强的学生。我们要多鼓励和辅助学生完成有一定难度的编程题,特别是对于一些算法名词,实验教学老师应当做出详尽的解释,并用配有图释的方法帮助学生透彻地理解算法名词的含义,让学生能够应用已学习的C语言知识独立完成编程题;对于同一个编程题,教师应鼓励学生给出多种不同的算法;当学生遇到难点的时候,实验老师应当尽量的给予提示,而不是直接给予结果。总而言之,实验老师在教学的过程中,要让学生在应用C语言的过程中体会编程的乐趣。
  
  3 结语
  为非计算机专业的学生开设C语言实验课程的目的就是要培养适应社会需求的,且具有实践能力和创新精神的新时代大学生。在现有的实验教学资源条件下,如何有效地实施教学方案、完成教学目标、培养具有实践能力的合格人才是C语言实验教学课程的首要任务。对于C语言实验教学课程,我们提出的改进方法在实际的教学实施过程中取得了良好的教学效果;同时,它对学生和老师也提出了更高的要求,我们要在教学实际中勤于探索、时时总结、不断改进,以明确的培养目标来选择教学内容,以具体的实际应用为教学导向[3],这样就能在教学实践中取得好的教学效果,提高学生的实践水平。
  参考文献:
  [1]