《高级程序设计语言C++》实验教学模式改革

时间:2022-10-29 12:10:12

《高级程序设计语言C++》实验教学模式改革

摘要:针对目前高校《高级程序设计语言C++》实验教学存在的问题,本文结合近年来的实验课程教学经验,从课程实验教学实际出发,在实验教学环节中引入竞赛理念,利用在线评价系统,并结合科研项目中探索性实验内容,切实提高实验教学质量,培养学生的面向对象程序设计能力和创新能力,促进学生的全面发展。

关键词:实验教学;竞赛理念;在线评价系统;探索性实验

中图分类号:G642.0 文献标志码:A 文章编号:1674-9324(2017)16-0254-02

引言

《高级程序设计语言C++》是计算机专业课程中非常重要的一门学科基础课。随着信息技术的发展,该课程不仅成为了许多计算机专业课程的先修课,同时也成为了非计算机专业的必修课。学习好这门课程对于学习其他计算机课程,比如数据结构、软件工程等有非常大的帮助。由于C++语言本身的特点决定了该课程的学习需通过上机编程调试程序,因此实验教学环节在该课程的教学过程中是关键,有效的实验不仅可以巩固理论学习的概念和原理,而且还可以培养学生的实践应用能力和计算思维能力。

目前有不少高校教师和学者对此课程的教学进行了一定的研究和探索,提出了一些可行的方法和措施[1-2],但专门针对课程的实验教学的研究和改革仍需进一步加强。笔者所在高校尽管在近年来针对该课程的教学计划和培养方式进行了一定的改革,在该课程上的实验、实训等相关环节的教学上进行了一定的创新和改革,然而这些环节相互之前仍然没有连续性,教学计划与就业导向、学科发展相互脱离,急需由上至下环节的整合。本文结合近年来的实验课程教学经验,从计算机相关专业的“C++程序设计”课程实验教学实际出发,针对实验教学中存在的问题,探讨如何才能更合理的设计实验课程内容,切实提高实验教学质量,培养学生的面向对象程序设计能力和创新能力,促进学生的全面发展。

一、实验教学过程改革

(一)引入竞赛理念,提高积极性,培养团队协作能力

目前的程序设计语言课程的实验教学基本上是理论验证性实验,无论从实验目的、实验内容、实验方法还是实验步骤都由实验指导大纲提前规定好,学生被动地上机实践,完成教师布置的作业,导致学生的参与积极性不高,常常出现为交作业而交作业的情况,且在一定程度上限制了学生独立思索与能力提高,也不利于挖掘学生的思维能力与想象能力,不利于针对目前就业导向、就业能力需求培养学生的综合素质。目前IT业急需具有一定团队合作能力,协同工作能力的综合性人才。因此将基于ACM的竞赛模式引入实验教学中,让学生组队完成综合试题,从而在一定程度上培养了学生的团队协作能力。

因此,针对这一问题,同时考虑软件工程专业持点,我们采用“竞赛―探索性实验―实训”[3-6]的实验教学流程。将ACM程序设计大赛模式引入C++程序设计课程的实验环节中,利用在线评价系统平台建立试题库,实验穿插学生个人与组队模式完成题目,实时刷新排行榜,此种模式基于在线评价系统的竞赛机制突出学生的主体地位,因而学生在课程实验中能由浅入深地掌握基础理论知识。该在线评价系统对学生开放使用,允许学生登陆系统刷题练习,并记录给同学的刷题量,此种模式一定程度上提高了学生的参与度,激发了学生的热情,也有利于学生综合能力的培养。

(二)引入在线评价系统,依托科研项目,进行探索性实验

除此之外,该模式引入在线评价系统,在竞赛试题中结合科研项目引入一些探索性实验题目[7],从而既能挖掘高水平程序设计人才,又能推动科研项目的进行,从而将学科建设的推动、学生综合能力及团队合作能力的培养结合起来[8,9]。教师还可以在后续教学环节(例如实训环节)针对学生的实验学习情况制定相应的内容,从而让理论教学、实验教学、实训等环节综合起来巩固学生的程序设计能力。

二、实验成绩评价方法改革

该课程实验成绩结合在线评定机制综合考虑学生的实验能力,包括学生的基础能力和拓展能力,考核体系[5,10]如图1所述。

(一)基础能力考核

根据个人帐号在在线评价系统的竞赛记录,教师将个人考勤、个人竞赛排行榜和个人刷题题量总数加权综合计算得出个人的基础能力考核分。学生的考勤体现了学生的学习态度,而学生的个人排行榜和刷题量在一定程度上体现了学生的学习动态,对知识点的掌握程序,因此三者组成了基础能力的综合评价要素。

(二)拓展能力考核

在线评价系统中结合科研项目引入了一些探索性实验题目,这些题目为可选题目,在计划外的实验机动时间内允许学生组队以竞赛方式完成。这种策略既能锻炼学生的团队合作能力,又能挖掘高水平程序设计人才。根据学生在团队竞赛中的团队排行榜、学生在团队中的贡献度(由团队内部互评分数决定)、完成的探索性实验题量三者加权综合计算得出个人的拓展能力考核分。

(三)教学效果

基于竞赛模式的高级程序设计语言C++实验教学在本人所在学院已在2届本科生上实施,实验教学效果已从以下几个方面得到提高。

学生参与实验的主动性得到较大的提升,学生完成规定的竞赛题目后,学生能通过排行榜实时了解自己的学校效果,即在班级中的相对学习效果。

部分学生通过在在线评价系统的刷题训练,加入了学院的ACM集训队,参加国内和国际比赛,取得了一定的成绩。

在线评价系统通过加入探索性实验题目,促进了学生的科研兴趣萌芽,促使一些学生通过SRP项目进入实验室进行科研辅助工作,促进了本学院学科的发展。

三、结束语

实验教学是高等院校应用性人才培养的重要途径和手段。建立基于竞赛模式的高级程序设计语言C++实验教学,旨在引入竞赛理念,结合在线评价系统,加入探索性实验元素,激发学生的创新思维能力,提高学生的团队协作能力和主动意识。最后结合实验考核方式改革,提升了学生的专业素质,进一步促进了学科发展。

参考文献:

[1]魏玉芬,丁艳清,袁玉萍.C++程序设计实验教学方法研究[J].高师理科学刊,2016,(06).

[2]张晓孪.基于实践的C++程序设计实验教学模式探索[J].微型电脑应用,2016,(08).

[3]彭源,田秀霞,张安勤,等.基于ACM竞赛理念的C++程序设计教学模式改革[J].计算机教育,2013,(07):70-73.

[4]祝昌宇,陈广贵.从ACM竞赛谈计算机实验教学改革[J].实验科学与技术,2011,(S1):300-302.

[5]齐文.基于ACM竞赛理念的C程序设计教学改革[J].软件导刊,2011,(11):180-181.

[6]王月海,王ケ觯王景中.竞赛驱动的地方高校电子信息类实践教学体系建设[J].实验技术与管理,2015,(12):190-193.

[7]姚芬,张艳美,彭青,等.探索性实验教学的体会与思考[J].当代医学,2009,(13):154-155.

[8]何丽明,蒋群,闫晓梅,等.实验教学对提高本科生科研素质的探索[J].实验室研究与探索,2016,(08):197-199.

[9]郭嵩山,王磊,张子臻.ACM/ICPC与创新型IT人才的培养[J].实验室研究与探索,2007,(12):188-192.

[10]刘群,李坚.“C++语言程序设计”实验教学的改革与实践[J].实验室科学,2012,(02):22-24.

上一篇:结合工程的材料力学课程大作业教学实践 下一篇:高校实验室气瓶事故统计分析