APP下载

《C语言程序设计》教学过程管理的改革与实践

2018-07-18梁新元

现代计算机 2018年18期
关键词:上机实验班程序设计

梁新元

(重庆工商大学计算机科学与信息工程学院,重庆 400067)

0 引言

教学质量过程控制就是在实现教学目标过程的每个环节,包括实践教学上实施有效的质量控制,通过制定教学过程的监控制度来把握教学的正常运行,并保证良好的教学质量。高校保证人才培养质量的核心是对教学过程的全面管理,课程教学的过程管理是教学质量保证的根本[1]。人才培养是高等学校最根本的任务,其培养质量的高低根本还是取决于对教学过程的质量管理和监控[1]。

教学质量过程控制成为近年来研究的热点。李长熙[2]对2004-2013年《高等工程教育研究》等国内主要11种高教类核心期刊有关高校教学质量管理和提升的1410篇文献进行研究文献予以梳理归纳,总结近十年来我国高校教学质量管理与提升研究的主要特点,同时指出教学质量管理与提升研究的不足,并对未来的研究趋势进行了论述。教育界对于教学质量管理研究以理论研究(占48.69%)和案例研究(占41.89%,二者合计达到90.58%)居多,整体性、宏观性的描述过多,环节性、微观性的研究较少,研究成果可操作性不强。主悔[1]从教师的角度认为,现在教学管理中的质量控制,主要由备课、教学、辅导、批改、考核共5个要件构成,这是任课教师为了上好一门课或者一堂课所必须做的功课,是最基础和最基本的教学要求,也是必不可少的环节。

1 课程教学问题和研究现状

《C语言程序设计》(有些学校又称为《程序设计基础》)是计算机专业学生的专业基础课,也是一些学校的理工科专业的公共课。这类课程不仅要求学生掌握C语言程序设计的知识,更重要的是在实践过程中逐步掌握程序设计的思想和方法,以培养学生解决实际工程问题的能力。程序设计类课程教学改革也是近年来研究热点,主要是人才培养模式、教学改革、教学方法和考核方法的研究。对于质量保障、质量监控和教学管理的论文很少。鲁红英[3]针对目前高校C/C++语言程序设计课程教学的现状及存在的问题,阐述如何构建一套教材体系完善、教学资源丰富、教学手段先进、教学评价合理、考核方式差异化的教学体系。

目前大多数学校对《C语言程序设计》采用传统教学模式,主要问题表现为重结果,轻过程。教师往往只注重备课和授课环节,采用满堂灌的方式,对于辅导、批改和考核环节不重视,这是当前常态教学活动中普遍存在的突出问题。《C语言程序设计》课程考核方式大多采用期末闭卷理论考试模式,缺乏上机考试和半期考试。实际上程序设计本身是一种实践性很强的工作,传统教学模式忽视了实践能力的培养和考核。教学质量过程控制的少数几篇论文主要集中在过程性考核方面,这些论文由于存在各自的不足推广比较困难。朱晓旭[4]对程序设计类课程进行过程性考核研究,提出程序设计类过程性考核的方案,阐述方案的实施成效和需要注意的关键问题。采用3次上机考试实现,并开发了相应的软件管理系统支持过程性管理,教学效果缺乏定量分析。戴蒙[5]针对《程序设计语言》课程传统考核方式所存在的问题,给出了该门课程的具体过程化考核方案,论文给出了简洁可行的操作方案,分成4大模块进行上机考试,机器自动阅卷,但是实践效果不佳。对于没有能力开发或者没有购买自动考试系统的学校则无法进行。

现有论文,都无法覆盖程序设计类课程教学管理的全过程,因此本文拟从备课、教学、辅导、批改、考核共5个环节,提出以实践能力为核心的教学全过程管理,对教学过程进行全面管理,进行有效的质量控制。

2 教学全过程管理的改革方案

教学是教师的教和学生的学所组成的一种人类特有的人才培养活动。教学环节包括备课、上课、作业、辅导、检测等,这些环节都会质量影响最终质量。教学全过程管理的基本思想就是做好教学的各个环节,做好教学的过程管理和质量监控。精心备课,认真上好每一堂课;根据学生实际,确定适当的教学方法,适当课外辅导、补课和指导,深受学生欢迎,教学效果良好。加强教学期中和期末的上机考试,加强平时作业的批改,积极提高学生实践能力,制定合理质量标准、检测方法和反馈机制,大幅度提高学生的实践能力。笔者在实施教学过程管理和质量控制方面做了大胆的改革和创新,取得了很好的教学效果。本部分对这项工作进行了系统的总结。

2.1 精心备课

多年来,坚持学情分析,不管多么熟悉的课程,坚持每周至少花一天时间备课,精心准备教案和教学课件,不断改进教案和教学课件,不断调整和优化教学方案设计。在《C语言程序设计》教学中,每次备课重点不同。2013级计算机专业的《C语言程序设计》是笔者首次担任该门课程的教学,备课重点是熟悉教材内容,精心制作课件。2015物联网班的《C语言程序设计》教学中,备课重点主要是调整教学方案、制定作业的评分标准和参考答案。在2017级计算机专业的《C语言程序设计》教学中,备课重点主要是重新设计了适合讲练结合的教学方案,重点完成了案例程序和作业参考程序的代码规范性工作。

2.2 不断改进教学方法

上课时不断改进教学方法,在采用传统的“讲授法”基础上,增加了“演示法”和“讲练结合法”。

“讲授法”主要通过讲解PPT的方式,向学生讲授知识。“讲授法”具有高效传递的知识的特点,能够在短时间内里讲授大量的知识点,学生容易形成知识全局的轮廓。但是,也有明显的缺点,就是学生觉得讲授的知识枯燥、抽象、难懂。造成课上似乎全懂,下课几乎不会,课后难以独立完成作业。

为此,采用“演示法”,在课堂演示一些程序的运行、常见错误和错误调试。通过理论课堂演示程序,让学生感受程序的魅力,体会程序的逻辑和功能,了解常见的程序错误及其排错方法。在《C语言程序设计》的理论和实验课都进行了大量的程序演示。通过演示,使得学生能更加直观地理解程序的内在逻辑关系和知识点的应用。演示法在2013计算机专业的《C语言程序设计》进行了少量使用,在2015物联网班进行了大量使用,尤其是重点演示了不同知识点的debug方法。演示法虽然形象,但是,学生无法体验,教师讲解后学生容易忘记如何实现。在2017级计算机的《C语言程序设计》采用讲练结合的教学方法。简单的说就是教师讲解1-2个例子后,让学生马上进行练习,将理论课和实验统一起来,实现理论和实验的一体化教学。还采用了复旦大学张学新教授[6]提出的对分课堂法,实现课堂讨论和师生互动。

2.3 构建科学合理的作业管理流程

构筑了布置作业→制定参考答案与评分标准→批改→反馈→评讲的作业管理流程,该流程科学合理,能够有效地实现作业的过程管理,如图1所示。

(1)制定参考答案与评分标准。在2015物联网班的《C语言程序设计》教学中,每周都需要花8小时左右制定评分标准,制定参考答案,每个程序尽量给出多种方法完成的参考程序。在2017级计算机专业的《C语言程序设计》教学中,每周都需要花5-8小时左右进一步修订作业的参考答案和评分标准,重点完成了参考程序的代码规范性工作。通过参考答案与评分标准,学生能够了解自己存在的问题,学习到代码的多种实现方案。

图1 作业处理流程图

(2)批改作业。重点批改实验作业,每周需要花1天左右批改实验作业,平均每个学生15分钟左右,每个班大概要花5小时左右。2013计算机和2017计算机都是2个班的《C语言程序设计》,大概需要10小时,需要整整1天时间;2015级物联网专业只有一个班,批改作业需要5-6小时。批改作业将给出每道题的详细评分、部分程序的修改建议,并对本次学生作业的优缺点进行记录。每份实验作业都从正确性、可读性和测试情况,给出100-150字的描述,便于学生知道自己存在的问题和改进方向。由于每次批改作业的所花时间很多,还只能批改1/3的作业,另外还聘请了一些学生助理协助教师完成作业批改,学生助理完成了大部分作业的批改工作,尽量做到实验作业全批全改。通过批改作业,教师能及时发现问题,能够客观合理的评价学生。批改人员采用交叉评阅方式,避免主观评价,做到客观评价学生。学生助理是由高年级或者同年级的学生构成,没有报酬和任何奖励,自愿参加,随时可以自愿退出。

(3)严防抄袭。在以往的教学中发现,学生抄袭实验作业的现象十分严重,也成为许多教师的难题。结果造成大部分学生基本不会写程序,或者实践能力很差。笔者严格查作业抄袭,每发现一次记3次0分,发现第2次再扣3次0分,发现第3次直接挂科。通过3年的教学实践,学生抄袭作业情况得到根本好转,基本杜绝了学生抄作业的情形。通过实践发现,通常在第一个月就能消灭大部分的抄袭现象,少部分学生需要中后期持续的跟踪和打击才能杜绝。通过严格管理,学生基本都是自己写程序,从而增加实践练习的机会,杜绝了学生偷懒的现象。

(4)及时反馈和评讲。作业每1-2周会将批改的详细数据在网上公布,学生可以查询自己的作业情况,同时给出优秀典型及错误典型。学生通过教师的评语,能够知道主要错误的方向和原因,使得学生高度重视平时作业,不容易产生偷懒的心理。学生还能看到教师对程序给出的修改建议。教师在实验课上会针对学生存在的典型问题进行简要评讲。

2.4 辅导答疑

首先在课堂对学生提出的问题及时进行辅导和答疑,同时还增加课外辅导环节。

(1)课外答疑。通过QQ文字、语音和视频演示进行指导,尽可能教会学生解决问题。学生程序设计学习过程中有疑问,可以通过QQ提交问题。要求学生描述清楚程序要完成的功能,用文字或者截图程序故障现象,并提供源程序。首先,进行方法和方向指导,采用文字提示学生改错的方向,如果学生能自己采用提供的方法和改错方向解决问题,则答疑结束。其次,如果学生没有掌握方法,则可能需要通过QQ文字聊天、语音讲解或者屏幕分享向学生演示排错的方法,进一步启发学生自己排错。第三,如果学生还是没有能力掌握教师提供的方法,教师再用通过QQ屏幕分享向学生演示整个排错过程;讲解过程中,对于学生共性问题,则尽可能将演示过程录制成视频,并发给学生本人和全班学生学习。第四,对于教师暂时无法马上解答的难题,教师会自己探讨找到解决方法后,再给学生讲解。有些问题只需几分钟,有些问题需要1小时以上才能解决。

(2)课外指导。通过讲座和个别指导,为学生读书、考研、就业提供指导和帮助。通过做讲座向学生传授程序设计的学习方法,了解专业发展前景,提升专业信心和学习兴趣。尤其是邀请了高年级的优秀学生重点交流计算机专业的专业方向、就业方向、就业渠道和学习策略。

2.5 检测与质量控制

检测和质量控制是教学过程管理的关键环节,可以说是检验和控制教学质量的最核心的环节,所有其他环节都是为教学质量服务的。可以说检测和质量控制环节决定了其他环节的处理方式。确定严格的质量检测和控制的措施。质量检测和控制的措施是保证质量的关键步骤,影响整个教学质量的控制过程。对《C语言程序设计》课程实行半期和期末2个阶段的上机考试。每次考试都采用A、B、C、D四套试卷进行考试,保证相邻同学之间的试卷完全不同,同时禁止使用书籍参考资料、网络、U盘和手机,严格保证考试的质量和水平。每次的考试座位都会调整,即半期上机考试和期末上机考试的座位不同,避免学生形成考试的同盟关系,上机考试座位和试卷安排如图2所示。当然,严格的交叉评阅实验作业也是控制教学质量的核心环节。严格的上机考试最能反映学生的实际能力水平和教学质量。

半期上机考试主要检测《C语言程序设计》的输入输出、表达式、分支结构和循环结构,作为后阶段教学设计的依据。半期上机考试成绩能及时反馈存在的问题,同时可以教育学生,让学生知道教师的严格考核方式。期末上机考试主要检测函数、指针和结构体部分的内容。

半期上机考试和期末上机考试各占50%作为卷面成绩计入期末实验成绩。实验成绩由平时成绩和卷面成绩构成,平时成绩和卷面成绩占50%,平时成绩是由10-14次实验作业构成,取平均分作为平时成绩,平时成绩不考虑上课出勤,即实验报告成绩就是平时成绩。15级物联网的实验作业12次,13级计算机和17级计算机专业的实验作业都是11次。但是13计算机没有进行半期考试,平时成绩只占30%,期末上机考试占70%。

3 教学过程管理的改革实践效果

在2013级计算机、2015级物联网和2017级计算机专业中,对《C语言程序设计》教学过程管理进行改革实践,这里把这些班级称为教改实验班。在2013级计算机只进行了期末上机考试。在2014计算机、2015计算机和2016计算机采用传统的讲授法和实验授课方式,这里把这些班级称为传统教学班,只进行了期末上机考试,平时作业很少批改和反馈给学生。教改实验班和传统教学班的实践能力效果对比分析见表1和表2。

表1 C语言上机考试成绩对比分析表

表2 计算机编程能力对比分析表

表1给出了半期上机测试和期末上机测试的平均分和及格率等数据,从这些数据可以看出,《C语言程序设计》的教改实验班期末上机考试保持了较高的平均分、及格率、优秀率和及格率,与传统教学班相比有较大程度提高,及格率提高30%以上,优秀率提高20%以上,优良率提高20%以上,平均分提高20分以上。

事实上,教改实验班的期末上机考试题难度要远远大于传统教学班的上机考试题。从表2可以看出,教改实验班期末上机考试是100行左右代码,而传统教学班代码行只有50行,与教改实验班半期上机考试代码行要求相当。其次,教改实验班要考试的上机考试要考试数组、函数、指针和结构体,但传统教学班只考核数组和函数,不考核结构体和指针。17计算机的上机考试时间从其他年级的2小时压缩为1.5小时。所以,教改实验班的上机考试成绩提高的程度还应该更高。

表2给出了半期上机测试和期末上机测试的ABC三个编程能力等级学生人数极其占比。代码行是指程序的基本要求达到的代码行数。A级表示成绩在70分及以上的学生,表示编程优秀的学习;C级表示40分以下的学生,表示基本没有编程能力;其他的学生是B级,表示普通编程能力的学生。从这些数据可以看出,《C语言程序设计》教学中,教改实验班保持了学生较高的编程能力,A级学生比例较高,C级学生比例较低,与传统教学班相比有较大程度提高。在期末上机测试中,教改实验班比传统教学班A级优秀编程能力的学生比例提高30%以上,B级普通编程能力的学生比例降低10%以上,C级不具有编程能力的学生比例降低20%以上。

从表1和表2可以看出,教改实验班的学生编程实践能力要远高于传统教学班的学生编程实践能力。因此,教改实验班的《C语言程序设计》教学质量要远高于传统教学班的教学质量。

为了保证考试严肃性,上机监考严格,考试过程控制严格,从而使得上机考试成绩具有高可信度,才能充分说明考试的可靠性,证明教学效果的有效性。通过考试的有效性来证明教学效果的有效性。通过多个年级和班级的实践,避免了班风不同对教学实证效果的影响,充分说明本文提出的教学过程管理改革方案的实践效果。

4 结语

通过教改班和传统班级的教学实践证明,本文提出的教学过程和质量控制对于《C语言程序设计》教学质量的控制是一种行之有效的方法。程序设计类课程的教学全过程管理实现了课堂教学与学生学习的结合,教师的知识传授与学生的实际运用相同步,大大提高了学习效果和学生实践能力。

当然,本文提出的方法还存在许多不足,还需要进一步改进、调整和完善。教学过程管理能充分实现教学管理,及时实现教学反馈,但还是有点逼迫学生学习的味道。还值得进一步探讨如何激发学生学习的兴趣,更好地调动学生学习的积极性。教学过程管理会导致教师投入大量的时间,每周要花4天甚至更多时间完成2-3班的教学任务。因此,如何减少教师的投入时间是下一步重点解决的问题。

猜你喜欢

上机实验班程序设计
周金应
山西农大乡村振兴“双创”实验班开班
行知实验班
标准化护理程序对体外膜肺氧合术患者上机各阶段用时的影响
实验班以情促教教学策略谈
基于Visual Studio Code的C语言程序设计实践教学探索
从细节入手,谈PLC程序设计技巧
卓越司法人才培养实验班的小样本考察(2014-2017)——以安徽师范大学法学院13级实验班为样本
高职高专院校C语言程序设计教学改革探索
PLC梯形图程序设计技巧及应用