《C语言程序设计》教学改革研究

2015-12-07 00:27郭凌云
教育教学论坛 2015年23期
关键词:C语言程序设计C语言教学改革

郭凌云

摘要:对高职学生开设C程序设计课程是为了提高他们利用计算机解决实际问题的能力,但是在实际教学中,学生独立编写、调试程序的能力和用C语言解决实际问题的能力较差,主要原因是学生学习的积极性不够,教师在教学过程中没有很好地激发学生的学习兴趣,对实践课程也不够重视。笔者根据实践教学经验,针对高职学生C语言程序设计课程教学过程中存在的问题进行了改革探索,并通过明确教学目标、改革教学方法、加强实践教学和改革考核方式等方法提高教学质量,取得了良好效果。

关键词:C语言;教学改革;综合编程

中图分类号:G642.0     文献标志码:A     文章编号:1674-9324(2015)23-0068-02

一、引言

随着计算机技术逐步应用到各个领域,如何全面增强学生的计算机应用能力,是计算机教学的重点之一。目前程序设计类课程在多数高校已成为必修课,其中C程序以其语言简练、数据类型丰富等优点在系统软件和应用程序中应用广泛。C程序完全结构化、逻辑性强,非常适合教学,许多院校把C语言作为程序设计的入门课程,它是计算机专业的必修课,也是很多非计算机专业的公共基础课,其重要性可见一斑。

高校的扩招以及各行业对各类人才需求增加,高职类院校学生人数也逐年增加。相比普通高等院校,高职院校更重在培养学生的实际工作能力,而相比普通高等院校的学生,高职学生有一定的文化知识储备,动手实践能力较强,但部分学生的文化素养偏低、意志力较差、缺乏学习兴趣。针对高职院校学生开设C程序设计课程,教学效果往往事倍功半。

C程序教学过程中普遍存在教学学时紧张的问题,教师为了在有限的学时内完成培养方案中要求的教学内容,多借助多媒体课件进行讲授,较少在课堂上示范编程及程序调试过程,而程序语言的概念、语法多而细,算法结构枯燥难懂,学生较难入门;实践性教学环节薄弱,缺乏针对专业要求的训练,学生主要对课堂上讲过的例题或相似的习题进行验证性实验,不能很好地发现编程中会出现的问题,造成学生实践动手能力差,难以实现技能培养目标;考核大多通过笔试的方式进行,不能有效地评价学生的学习情况,也不能很好地促进学生的实践性学习,也无法锻炼学生应用编程解决实际问题的能力。

本文针对我校软件学院专科学生在C语言程序设计课程理论教学、实践教学和教学考核等环节中存在的问题提出了改革方法,应用在实际教学过程中获得了良好效果。

二、教学改革探索

1.明确教学目标,精选教学内容,改革教学方法。传统C语言教学的目标更多的是教学生程序设计语言,却非程序设计,而高职学生在实际需求中更注重程序设计的能力。因此本课程改革的教学目标是希望学生掌握简单的数据抽象问题建模和简单的算法等基础知识,养成解决问题的能力和程序设计的能力,养成自我学习专业知识的能力,学会学习一门语言,熟练使用语言及其开发环境进行程序开发与测试的技能。C语言的计算能力强,语法知识丰富而细致,上机调试容易出错,是一门比较难学的课程,C语言程序设计一般安排在大一第一学期,与它相关的课程没有上,这也增加了学习的难度,学生比较难入门。因此,在开始学习的前几节课,教师一定要注重激发学生学习兴趣和学习主动性。提高教师自身素质,对所教课程钻研精通,教学方法得当,精选教学内容,精心设计课件,课堂演示编程和调试过程,提高学生的学习兴趣。C语言语法丰富,但是如果过度强调语法知识的细节和容易出错的地方,特别容易使学生陷入过度关注细节,而忽略学习C语言的目标在于应用。在实际教学中要重点突出,把不常用的函数只简单介绍,避免展开分析。在每节课之前,教师要对本节内容进行精心设计,针对本小节的内容提出一个与现实生活联系较紧密且难度适中的问题,使用案例式教学法,分析问题,提出解决问题的方法,在分析问题、解决问题的过程中强化学生用编程解决实际问题的意识,在学生对该问题的程序所涉及的知识点和函数有了宏观的认识后,然后讲授与此相关的语法和函数,演示编程和调试的过程,最终给出相应的程序。另外,在教学过程中不应过度依赖PPT等多媒体教学设备,也要发挥传统教学媒体的作用,利用黑板对关键内容进行板书演示,加强学生对主要内容的理解和对知识点的消化吸收。在课堂上提出问题、分析问题的过程符合学生的思维特点,也符合程序设计的本质要求,编程思想在理论教学中逐步加强,演示编程和调试过程,使枯燥的语法在解决实际问题的编程过程中得到具体应用。

2.加强实践教学,针对不同的学生因材施教。C语言是实践性很强的课程,大量的语法和算法应该在实践教学中得到应用和巩固,而编程思想也必须在实践中逐步形成。在课内外,教师要经常通过各种方式与学生沟通,了解学生的计算机水平、对本课程的学习情况,以及在本课程学习中遇到的问题,对不同的学生实行因材施教,对学生集中反映的问题及时解决。在实践教学过程中要对学生提出具体详细的要求,使每个学生能够尽其所能提高自己的实践技能,避免学生在有限的实践教学时间内因为没有具体的实践任务而降低实践教学的效果。我们将实践教学分成入门技能、基本技能和综合技能三个阶段,在不同的阶段对学生提出具体的不同要求,并且根据不同学生的能力灵活调整实践学习的要求。(1)编程入门技能。这一阶段主要是练习C语言基础知识、各类运算符、表达式、输入输出语句。首先要求学生能够看懂课本的例题,在编辑器VC++6.0中输入例题中的程序,并调试运行出结果。在学习初期,学生一般会出现各种语法错误,在此阶段可以强化学生的语法知识。一个好的程序一般是经过多次修改和调试才能够很好地实现它的功能,因此在C语言学习过程中,调试程序、改错是一个重要的部分,学生熟悉课本例题后,教师可以给定一些能够实现特定功能的程序,要求学生改错,直至调试运行出正确结果。这一阶段可以是学生熟练掌握语法知识,获得学习程序设计的成就感,并激发强烈的学习兴趣。(2)基本编程技能。本阶段教学内容包括函数、数组和指针,在实践教学中要求学生需要完成简单的编程任务。这一阶段要求学生能够看懂程序的流程图,给定程序后,学生应该能够清楚的知道程序的执行顺序,通过练习学会使用顺序结构、选择结构和循环结构,改编课本例题、扩展原有的程序实现更加完善的功能,使用数组、指针等新技能实现原有程序,实现一题多解,扩展解决问题的思路。教师给定实际生活中相对简单的问题,用编程的思想对问题抽象建模,画出流程图,设计算法,并写出相应的程序来实现。(3)综合编程技能。程序设计不能陷入到单纯学习语言语法的误区,程序设计的语法是重要的,但是更重要的是用编程来解决实际问题。综合编程阶段教学内容深入到结构体、共用体和文件,在实践教学过程中学生除了练习本阶段编程的基础知识外,教师提出实际问题,引导学生应用所学知识分工合作解决问题,达到学习知识点、掌握编程技能的效果。教师在布置具体试验任务时要考虑问题的难易度和趣味性,可以布置难易程度不同的多个任务,学生根据自己的能力选择不同的任务来完成,以充分发挥学生的主动性,避免能力较强的学生快速完成后浪费时间,同时也避免了水平较差的学生对实践课程丧失信心和兴趣,让学生在学习中获得成就感,在课堂上发挥主体作用。endprint

3.改革考核方式。教师在教学评价体系中增加对学生动手能力的激励机制,能够有效促进学生的实际动手操作的主动性。改变考试方式并不是一个教师所能进行的教学改革,但教师应该在能力范围之内探索教学改革,增强学生的学习效果。我校的学生的成绩评定中平时成绩占30%,平时成绩不应该是学生出勤率的简单体现,而应是多种因素的共同结果,教师应注重对学生学习过程的评价,并将其作为平时成绩的重要参考。实践教学一般采用验证性实验和综合性实验的方式考核。验证性实验由学生独立完成,综合性实验则分小组进行,学生对实验的情况撰写实验报告,描述需求分析、算法设计、编写程序和上机调试的过程,总结出现的问题和解决方法。教师针对不同学生的不同设计方案和不同问题做一些关键性的指导,形成一个以学生自己动手为主,教师引导与点评相结合的启发式教学模式。在实践教学时增加随堂测验,要求学生现场完成编写调试程序。在评价过程中避免单一考核实验结果的正确性,要建立面向过程,注重实践操作能力和创新能力的考核机制,考核机制应能够反映学生实践课程的学习态度和实验任务的完成情况,鼓励学生主动分析问题,尝试用不同的方法完成实验任务,锻炼学生创新能力。

三、结语

计算机应用广泛,学生普遍对计算机水平有了更高的要求,学习程序设计难度较大,这就要求教师在教学过程中不断探索和改进教学方法,促进学生的高效学习。结合高职院校学生的特点,从C语言课程的教学目标、教学方法、实践教学环节和考核方式等方面进行分析,探讨教学改革的方法,经过教学实践,取得了较好效果,今后将在理论教学的案例教学和合作学习方面进行更加深入的探讨和尝试。

参考文献:

[1]周军妮,杨润玲,江莉.C语言的多维立体教学系统[J].计算机教育,2013,(2):79-82.

[2]辛秀.高职院校C语言合作学习的教学实践与反思[D].大连:辽宁师范大学,2012.

[3]黄淼,高敬礼,单冬红,熊蜀峰.C#程序设计课程教学改革研究[J].计算机教育,2010,(18):21-24.

[4]周世平,童向荣,卢云宏.程序设计基础课程改革方案探讨[J].计算机教育,2015,(3):84-86.

[5]李学会.C程序设计教学改革与实践[J].实验室科学,2010,13(2):33-34.endprint

猜你喜欢
C语言程序设计C语言教学改革
基于Visual Studio Code的C语言程序设计实践教学探索
基于C语言的计算机软件编程
高职高专院校C语言程序设计教学改革探索
论子函数在C语言数据格式输出中的应用