王晓晔, 温显斌, 肖迎元
(天津理工大学 计算机与通信工程学院 天津市智能计算及软件新技术重点实验室, 天津 300384)
在培养高等院校学生的动手能力和创新能力中,实践教学是一个非常重要的手段,近几年来,各高校以“卓越工程师教育培养计划”为教学目标,改革工程人才培养的传统模式,以适应日益发展的工程型人才的需求。
计算机接口课程群是电子信息类专业非常重要的课程[1],主要包括“接口技术与汇编语言”、“计算机控制技术”、“微机原理与接口技术”、“单片机”、“嵌入式”等课程以及若干实践环节,根据各高校的培养计划不同,所选课程略有差别。这些课程的应用性和实践性很强,是培养学生工程素质和创新能力的一个重要载体。但是目前传统的教学模式教学内容单一,工程背景不强,综合训练程度不够,造成学生对计算机接口类技术理解不透彻,实践动手能力普遍较弱,难于符合“卓越工程师教育培养计划”的培养目标[2-4]。如何激发学生学习兴趣,强化接口类课程的工程应用能力,成为当前计算机接口类课程实践教学改革中一个亟待解决的问题。
目前计算机接口类课程在实践教学中存在的问题主要有:① 计算机接口类课程内容繁多,概念抽象,传统的教学方法偏重于知识的传授,学生被动接收知识,大脑容易疲劳,学习效率低下,达不到“培养学生的动手能力和创新能力”的教学目的,必须进行改革。② 实践教学所用的实验平台硬件线路比较固定,设计方案针对性强,实验内容受硬件设计的制约[5],实验内容的扩展很受局限,如果要开设自主性、开放性和综合性的实验项目,需要进行很大的硬件投入和实验器件的消耗,对实验经费的需求量比较大。③ 当前计算机相关专业的教学中普遍存在“重软轻硬”的现象,软件教学只需要一台电脑和相关软件,就可以完成各种教学需求,对硬件的需求低,设备使用周期长,实践教学实施起来相对容易。而硬件知识的信息存储和传递都是在设备内部完成的,不直观,老师讲述起来比较抽象。造成目前计算机专业教育普遍存在重视软件轻视硬件的急功近利的倾向。
这些问题抑制了学生学习计算机接口课程群的主动性,如果将所学知识与其在实际工作当中的应用相结合,使学生提前了解生产过程中的真实需求,及时参与企业的实习,不但能够激发学生的学习兴趣,而且能够使学生在学习中有的放矢。实际上,日常生活及生产中涉及到微机接口应用的方面很多,如农业自动化、公共汽车收费系统、智能仪器仪表等应用不胜枚举,通过科学的选择和设计相关的应用项目,以项目为驱动讲授课程,将会大大激发学生对课程的学习兴趣,参与实际项目的经验也会在学生的求职过程中起到重要的支撑作用[6-8]。
通过“项目驱动”教学法的研究和探索,从本质上改变传统教学方法中忽视实践环节、内容单一、工程背景不强等缺点,在学校课堂上就能够满足企业在招聘中经常开出的 “参与过项目开发”的条件,增加了学生的工程应用背景,为学生的就业打好基础[9]。
为了激发学生的学习兴趣,项目驱动法的实践教学体系循序渐进地设计实验项目,实践项目涉及专业认识实习、课内实验、综合实训、开放选修实验等多个教学环节。表1列出了微机接口类课程的实践教学体系。
表1 微机接口类课程的实践教学体系
1.3.1项目设置
为了提高学生的工程背景知识,需要安排有效的实际开发项目,这就需要授课教师多与企业接触合作,设计出简化的但仍具有实际意义的项目,同时这些项目又具有一定的趣味性,从而提高学生的学习热情。
在“项目驱动”的教学中,项目是整个课程的核心内容[10-14],因此项目设计是要解决的关键问题,项目的合理与否将直接影响到最终教学效果,项目的设计应该紧扣教学内容,以培养学生的动手能力为出发点,根据所讲授内容的深度,拟定出切实可行的项目。
在传统的计算机接口课程群的教学中,由于要解决的实验问题比较简单,学生经常忽视项目的开发过程,总是直接画电路图和写代码,然后再补充文档甚至不写文档,因此如何规范学生的项目开发流程是做好“项目驱动”教学的关键。
因此我们设定一个项目开发流程(见图1),用以支持项目开发过程,这一框架在较高的层面列举了相关的活动内容,它包括了项目相关的领域知识、启发式的开发策略、控制策略和学习策略等[4,15]。所有项目按照此流程框架开发设计,可以大大降低教师的工作量。
1.3.2项目设计的目标
项目主要培养以下几方面的工程训练能力:① 专业理论知识的掌握与运用。② 专业技术资料的收集、阅读、综述整理能力。③ 计算机接口课程群的软硬件系统设计和调试能力。④ 使学生对自己将要从事的工作过程有详细的了解。⑤ 了解实际项目的开发流程,熟悉常用的开发工具和相关的仪器仪表,使学生充分体验从产品设计到成品的全过程。⑥ 提高学生之间的技术交流、团队合作和撰写技术文档等的技能。
1.3.3项目设计原则
由于当前大学生普遍存在动手能力差、合作意识不强等弱点,因此项目的设计要采取循序渐进的原则,从最初的单人项目、双人项目到团队项目,逐渐增强学生的动手能力和合作意识,不能急于求成。
单人项目主要进行专业认识实习和课内实验,测试用例程序或电路设计,实践初级的项目管理工具和操作流程。
双人项目主要合作完成一些综合性实践活动,练习各种功能模块的软硬件设计,主要达到提高交流和合作能力的目的。涉及内容包括结对编程、不同模块之间的接口设计、电路和代码的审查、人机界面的设计等,使得学生能够有机会了解不同层次的编程语言和硬件电路的设计实现。
有双人项目的合作基础后,可进行团队项目设计,采用工业界普遍使用的项目小组开发模式,要求学生6~8人分成小组。项目开始阶段,教师起主导作用,通过与学生充分的交流和探讨帮助他们完成早期的调研和总体方案的确定;项目的中期阶段,教师的作用逐渐变成小组内部的协调和引导;进入项目的后期,教师主要检查项目的进展情况,针对项目开发过程中的难点问题进行指导和解答,帮助学生共同寻找答案。
1.3.4项目评估体系
项目的评估是关系到“项目驱动”教学质量的关键。因此设计出一套行之有效的项目评估体系,使得评估结果即能够体现项目的完成质量,又能够体现学生的知识积累情况和学生之间的协作精神。
项目的评估体系同企业的评估方式类似,包括客观评估和主观评估两部分内容,主观评估根据每个阶段的工作效果进行评估,评估内容主要包括:需求分析与调研、系统总体方案设计、硬件电路调试、软件编程与调试、系统联调和资料归档等阶段的工作。主观评估主要包括小组内部的协作开发能力、每个小组成员的参与程度、项目开发成果的评定,通过项目评估实现对实际开发项目的模拟跟踪。
为了更好地实现项目的开发,课题组设计了开放式的接口课程群的实验平台,采用大规模可编程器件,探索性设计了一套基于EDA技术的低成本的计算机接口实验统一平台,实验平台能完成微机原理、计算机控制、单片机、嵌入式等课程的项目开发实验内容。
传统的实验装置通常采用的是中小规模的集成电路器件,器件相对固定,可调整性差,而通过EDA工具软件可以设计各种规模的数字电子系统,通过硬件描述语言进行逻辑设计,经过在计算机上进行仿真后,下载到可编程逻辑器件中测试。这类开放性实验对设计方案没有限制,实现起来更加灵活。
通过EDA 和CPLD/FPGA仿真器能完成计算机硬件接口类课程群的各类项目开发实验。我们采用了模块化结构来设计实验平台,如图2所示。该装置使用Xilinx 公司Spartan-3系列FPGA 芯片,通过扩充板可以满足大部分的项目模型开发要求。
平台整体分为软硬件两个部分。软件部分主要在实验PC上运行,实现对硬件实验系统的监控;硬件部分主要是实验平台。实验PC 与硬件实验平台通过USB 串口连接,根据通信接口协议实现实验PC 对硬件实验系统的动态监控。软件部分按照模块化设计分为界面、通信、监控调试、下载以及内嵌的编译解释器等模块。硬件部分分为板上公共逻辑模组,实验模组以及对应各个实验课程的微机接口辅助模组、微机控制辅助模组和单片机辅助模组。这里各个实验课程辅助模组之间不是完全分离的,我们通过相互比较采用了一定的重叠复用,提高了硬件利用率,大大提高了整体硬件平台的利用率。
课题组为了进行教学成果的分析和比较,选取天津理工大学计算机专业2009级两个不同教学班的“微型计算机原理与接口技术”和“计算机控制”课程作为实验样本,“微型计算机原理与接口技术”为前期专业基础课程,“计算机控制”为后续专业课。教学实验从不同的角度进行教学成果分析,其中A班采用项目驱动的实践教学方法,在“微型计算机原理与接口技术”课程开始的时候,老师就布置了项目的任务,但是在开始阶段是单人和双人项目,学生可以自由的选择合作对象,当进入后续专业课程时,再重新选择组成团队,这样能够督促学生主动的写好文档,并且能提高学生看电路图和读代码的能力。B班采用传统的实践教学方法,以2个自然教学学期作为实验周期。
对两个班的学生进行问卷调查分析,由于两个对照班的教学模式不同,所以设计的问卷内容也有不同,但是都反映了学生对学习任务的完成情况和学生对课程的满意度,对调查表的总结情况如表2和表3所示。
表2 A班34人(项目驱动)问卷调查结果
表3 B班34人(传统教学)问卷调查结果
通过对上述两个表格以及授课教师的教学反馈,两种教学模式的教学成果分析如表4所示。
通过对学生和授课教师的调查结果分析可知,学生对于基于项目驱动的教学模式产生了较好的反响,学生的满意度较高,能够自主、积极地完成教学过程中的各项任务,学生感到受益很多,尤其对于项目开发的实际过程有了一个很深入的体验,加强了学生的动手能力和团队合作能力。同时由于各组的设计方案不尽相同,因此在各种文档的书写过程中有效的避免了抄袭现象的产生。
表4 教学成果分析
对于传统组的调查结果所反映的问题,也正是我们为什么要提出改革的原因所在,实验内容死板,抽象,学生的参与度较低,实验报告千篇一律,实验结果的评价体系过于简单,造成了上述问题的存在。
“项目驱动”的教学方式是一种全新的教学模式,将实际项目导入到专业教学当中,使学生充分参与到项目开发的各个阶段,从而优化了接口类课程群的教学体系和知识结构,全面培养了学生的实践动手能力、解决问题的能力和团队协作能力,在天津理工大学计算机学院的实施结果表明,学生的工程素质和创新能力得到较明显的提高。
[1] 吴卫江,赵建辉,华 巍.计算机接口技术课程实验教学探索[J].计算机教育,2011(6):95-98.
Wu Weijiang, Zhao Jianhui, Hua Wei.Experiment Teaching Exploring In Computer Interface Technology Course[J].Computer Education,2011(6):95-98.
[2] 陈 飞.技术本科卓越工程师培养的生态体系—基于德国经验的思考[J].职业技术教育,2011,13(32):32-35.
Chen Fei. Ecological Systems of Training on Technical Undergraduate Excellent Engineer—Thinking Based on German Experience[J]. Vocational and Technical Education, 2011,13(32):32-35.
[3] 郑 萍.以“卓越工程师培养计划”为导向的计算机专业课程体系及教学内容改革探索[J].科技创新,2011(5):127-128.
Zheng Ping. Computer Specialty Curriculum System and Teaching Content Reform Oriented by "Excellent Engineer Training Program"[J]. Technology Innovation, 2011(5):127-128.
[4] 张安富,刘兴凤.实施“卓越工程师教育培养计划”的思考[J].高等工程教育研究,2010(4):56-59.
Zhang Anfu, Liu Xingfeng. Thinking in Implying "Excellent Engineer Training Program"[J].Higher Education Project Research, 2010(4):56-59.
[5] 纪 浩.计算机硬件知识体系的结构框架[J].数字技术与应用,2012(6):122-123.
[6] 关莉莉.项目驱动在高校计算机基础教学中的应用[J].科技通报,2009,5(25):700-704.
[7] 焦 瑞.项目驱动法初探[J].中国科教创新导刊,2010,13:36.
Jiao Rui. Preliminary in Project-driven Method[J]. China Education Innovation Herald, 2010,13:36.
[8] 陈坤健,李海燕.“计算机基础”项目化教学模式改革与探索[J].中国电化教育,2012(3):116-119.
Chen Kunjian, Li Haiyan. Project Teaching Mode Reform and Exploration in "Computer Basics"[J]. China Educational Technology, 2012(3):116-119.
[9] 于 旭.以项目驱动教学法改革软件技术专业课程体系[J].辽宁高职学报,2008,10(3):53-54.
Yu Xu. Reforming Software Technology Curriculum System with Project-driven Pedagogy[J]. Vocational Technical Institute, 2008,10(3):53-54.
[10] 王 荻.项目驱动教学探索[J].中国职业技术教育,2007,12(292):17-18.
Wang Di. Project-driven Teaching Exploring[J]. Chinese Vocational and Technical Education, 2007,12(292):17-18.
[11] 张 哲,陈桂生.在Java语言教学中实施“项目驱动”教学法的实践探索[J].教育与职业,2007,18:160-161.
Zhang Ze, Chen Guisheng. Practical and Exploring of Implementation "Project-driven" Method in the Java language teaching[J]. Education and Career, 2007,18:160-161.
[12] 王 爽.基于Java课程的项目驱动式立体化教学资源体系建设[J].教育与职业,2013,27:138-140.
Wang Shuang. Project-driven Three-dimensional Teaching Resources System Construction Based on Java Curriculum[J]. Education and Career, 2013,27:138-140.
[13] 樊开阳,陆明州.项目驱动的计算机组成原理课程群实验教学实践[J].高校实验室工作研究,2013(3):48-50.
Fan Kaiyang, Lu Mingzhou. Computer Architecture Course Group Experiment Teaching Practice of Project-driven[J]. Work Research of University Laboratory, 2013(3):48-50.
[14] 刘 超,胡彩萍,胡全连.计算机硬件知识体系的结构框架研究[J].电气电子教学学报,2009(5):44-45.
Liu Chao, Hu Caiping, Hu Quanlian. Framework Structure of Computer Hardware Knowledge Systems[J]. Electrical & Electronic Education, 2009(5):44-45.
[15] 姚江涛, 张志军.刍议项目驱动在高校计算机基础教学中的具体运用[J].计算机光盘软件与应用,2013,14:209-210.
Yan Jiangtao, Zhang Zhijun. Discussion on Concrete Application Of Project-driven in the Universitiy Computer-based Teaching[J]. Computer CD Software and Applications, 2013,14:209-210.