陈丹丹,门洪,关硕,伦向敏,赵君
(东北电力大学自动化工程学院,吉林吉林132012)
基于C++Builder的面向对象程序设计课程是测控专业一门重要的专业课,同时也是一门技术基础课。该课程理论与实践结合得比较紧密,尤为强调学生的实际动手能力。它的教学效果直接影响到学生实践技能的培养以及后续专业课程的学习[1]。以往课程的教学模式,大都是以程序语言自身的体系为脉络展开教学,再辅助以少量学时的几个实验。实验项目设置也比较单调片面,绝大部分属于验证组件属性和方法的实验,缺少与专业相关的应用型实验。由于这种教学模式不是以解决实际工程应用问题为目的展开,学生难以在学习中获取实际项目开发经验。如此以来,势必给学生造成一种错觉,认为程序设计类课程实用性不强,不能应用于专业实际,最终导致学生的学习热情降低,教学效果不理想[2]。因此,传统的教学内容与授课模式,已满足不了培养工程型人才的需要。如何改进教学方法,提高教学效果,增强学生的软件编程专业技能,显得尤为重要。
课程的学习围绕一个具体测控系统开发过程展开,将教学内容重组,形成一个个单一模块,每一模块分别确定相应的教学目标,教学重点及难点,并分离出与之对应的理论和实践内容[3]。各模块的设置依据上位机软件系统开发流程,每个模块分别解决该测控系统开发过程中的一部分,最后将各模块以“搭积木”的方式进行组合,完成一个完整的测控系统开发。
变更授课地点,把学生从合班教室带入到实验室机房,调整理论与上机学时比例为1 1,利用边讲边练的授课模式开展教学。将理论内容融入到每个教学模块中,使学生在上机实践中消化理解抽象的理论知识。学生每次上机都可解决测控系统开发过程中的一个模块,可激发学生学习兴趣,保证教学质量。
考评体系包括四大部分:理论部分占20%,模块考核部分占50%(五个模块各占10%),综合应用部分占20%,平时表现部分占10%。每一模块授课结束,引入相关评价机制,进行一次模块考核。当整个课程教学结束后,要求实现某一测控系统的设计,并进行综合应用部分考核。最后,进行纸制化理论考核。这样当最终完成真实测控系统开发时,教学任务也同步完成[4]。
将一个具体的测控系统设计项目引入面向对象程序设计课程教学,学生通过完成预先设置好的模块化实验项目,可逐步达到测控系统设计目标,从而掌握开发测控系统涉及到的上位机软件系统编程方法,获取开发经验。如以电厂锅炉水温控制系统设计项目为例,锅炉水温信号可由单片机提供,学生应用面向对象语言C++Builder6.0中的相关组件编程实现将单片机的控制的锅炉水温数据显示在PC上,完成单片机与PC机的通信。而且在控制过程中采集到的数据要求学生使用数据库管理,数据库应用程序的编程能力也得到进一步扩展。具体实施方法将按照测控系统开发流程大致分为五个模块:
(1)用户管理模块,用于讲授常用控件、菜单和工具栏、文件管理组件等内容,使学生了解用户管理界面的设计。
(2)数据采集模块,使学生掌握如何使用常用控件进行参数的设置。
(3)通信控制模块,用于讲授串口通信控件,使学生掌握如何利用软件控制单片机,将单片机控制或运行结果显示在计算机屏幕上。
(4)显示模块,用于讲授图形和图表控件,使学生可以分析数据,绘制数据的曲线图和状态图等。
(5)数据处理模块,用于讲授数据控制组件、数据访问组件及报表组件等数据库常用组件,使学生掌握利用数据库组件进行数据的整理和保存。
在实验项目的设置上,力求以培养学生测控系统设计能力为目标,努力提高学生的实践动手能力和高级语言编程能力。现将本课程以往实验项目与改进的实验项目进行对比如下,如表1和表2所示[5]。
表1 课程以往实验项目设置
表2 课程改进实验项目设置
结合表1和表2可以看出,以往的实验项目大多为验证性实验,而且实验中涉及的组件也只是一些基本通用的组件,这种实验不利于学生专业技能的培养。考虑到面向对象技术的开发工具涉及到的组件数量非常多,教学中不可能全面覆盖,而且从组件应用角度来看,其原理是相同的,可以举一反三,没有必要面面俱到。因此,改进的实验项目,在内容设置上,压缩了验证性实验比例,有选择性的针对专业特点和实际应用,选取与专业相关的组件进行讲授,如增加设计测控系统涉及到的组件用法及相关编程内容,使学生能够“学有所用”,从而提高学生专业学习兴趣,改善教学效果,有效地将面向对象程序设计课程融入专业培养。
按照上述思路,设计好的模块化程序,学生在后续课程设计中仍可以作为参考。而且测控系统设计项目的选题内容可以根据需要灵活调整,但必须满足的共性条件是:能将单片机控制终端或信号采集与数据处理的结果显示在上位机屏幕上,实现上下位机的通信,并能够对采集到的数据进行管理,包括数据的显示、保存与打印等。
将测控系统设计项目引入面向对象程序设计课程,以基于C++Builder语言开发的模块化程序为平台进行教学,突破了传统程序设计类课程的授课模式。通过教学实践证明,这种新的教学方法不仅使学生在有限的课堂时间里熟悉了一种高级编程语言,而且在课程结束时亦可掌握开发测控系统涉及到的上位机软件系统设计方法。该教学方法目前已应用于测控专业09级学生,并取得了良好的教学效果,学生的学习兴趣和动手能力得到明显提高,为学生顺利走向工作岗位奠定了基础。搭建的模块化程序,可用于后续微机原理课程设计及仪表课程设计,为实现专业课程体系的协调统一起到一定的推进作用。
[1]王飞鹏.面向对象程序设计教学方法研究探讨[J].科技信息,2008(34):58-60.
[2]莫燕,熊邦书,付崇芳.将硬件引入“面向对象程序设计”课程实验教学[J].计算机时代,2010,4(1):62-63.
[3]周子平,杜月云.《VC++面向对象程序设计》的模块化教学与创新应用[J].商丘职业技术学院学报,2007,6(5):112-113.
[4]李丽荣,邵林,黄艳.模块化方法应用于软件课程教学的探索[J].科技信息,2007(25):46-47.
[5]陆卫忠,刘文亮,等.C++Builder 6程序设计教程(第二版)[M].北京:科学出版社,2009.