摘要:框架类课程在高等院校的教学实践活动中一直存在,在软件工程专业中所占比重较高。文章针对在框架类课程教学过程中存在的重理论轻应用、课程之间教学内容相互重叠以及教学案例间缺少关联的问题,提出框架类课程的整合教学方法,阐述通过对教学方法、教学内容以及教学案例的整合,达到厚基础、强实践、重应用的目的。
关键词:框架类课程;J2EE;整合教学方法;软件工程
0、引言
随着计算机应用的普及和开源编程语言的广泛应用,在实际的程序设计中,很多地方都在使用程序开发的基础框架。以JAVA开发语言为基础出现的框架有上百种,其中比较流行的三大框架为:STRUTS、SPRING和HEBERNATE。这些框架在实际应用开发当中被广泛使用,并在高校教学中作为专业方向课进行教学。例如在软件工程专业的软件开发技术J2EE方向,就有这些框架类课程的设置:基于MVC的WEB开发(STRUTS)、ORM框架原理与应用(HEBERNATE)和轻量级J2EE框架SPR/NG。
1、框架类课程的特点
在框架类课程中,有些是讲某类框架的原理,例如基于MVC的WEB开发就是介绍MVC设计的原理,主要讲解MVC的设计思想;ORM框架原理与应用同样是讲解一个框架的原理;而轻量级J2EE框架SPRING就是介绍具体的某个框架。在其他的课程中,也有基于某个框架进行的程序设计,如,NET平台下Windows程序设计、Android平台移动云计算开发;也有些课程是部分依赖于某个程序设计框架,如面向对象程序设计(VC++)中就会介绍MFC的使用,MFC是程序设计的框架基础。
这些框架类课程都有一个共同点,就是先要把握框架的核心,把框架的原理介绍清楚,让学生明白框架的应用价值、能给程序设计带来怎样的好处,然后再通过具体框架实例向学生说明框架的好处。在框架类课程教学中,要向学生强调对框架原理的理解与掌握,通过实践来提高动手能力,使学生明白在应用中该如何用以及何时用,这就是框架类课程教学当中的“厚基础、强实践、重应用”。
2、框架类课程教学中的误区
在各个高校中,框架类课程开设较多,但在各框架类课程教学中,缺少统一规划,多门课程之间存在内容重叠,学生的学习效果并不理想。框架类课程的教学过程存在的主要问题包括3个方面。
2.1 重理论轻应用
该问题在本科院校的实践教学中比较普遍,教师一般只注重原理教学,而轻视理论在实践中的应用。造成该教学局面的原因是多方面的,首先,教师在教学的过程中认为在课堂上把原理讲明白就够了,实践动手是学生自己的事情;其次,教学环境与教学时间的约束使框架类课程在本科院校中一般属于方向选修课,学时较少,在有限的时间内不能过多地涉及到框架的应用方面;最后,现在高校的教师大多是“从学校到学校”,没有实际项目开发经验,在讲解框架应用时,往往会“避而不谈”。
2.2 多门框架类课程间教学内容重叠
在多个不同的框架类课程中,会存在共同点,有些框架类课程之间的基本原理相似,其区别仅仅体现在某些应用当中,这就需要在教学内容上进行整体规划,在框架类课程中经常会出现的问题是在每门框架类课程开始时,都会介绍程序设计框架带来的好处。
2.3 教学案例之间缺少关联
在每门框架类课程教学中,一般都会介绍一些案例,这些案例往往都是孤立的,多门课程之间的案例缺少关联性,学生没有整体概念,知识点之间不能有效整合。
3、框架类课程在教学过程中的整合
框架类课程是软件工程专业最重要的课程之一,在这类课程中包含了许多具体课程:基于MVC的WEB开发(STRUTS)、ORM框架原理与应用(HEBERNATE)、轻量级J2EE框架SPRING、NET平台下Windows程序设计、Android平台移动云计算开发等。在这些课程教学中,要通过对4个方面的整合来提高教学质量,提升教学效果。
3.1 教学方法的整合
提升教学效果应从教学方法人手,大学的学习是自主学习,教师在教学过程中需要告诉学生应如何学习,用什么样的方法学习,这就涉及到教学方法的问题。在框架类课程中,一般强调框架的原理与框架的应用,在课堂教学中主要讲解框架的原理,在原理的讲解中可以采用案例教学法或对比教学法,通过具体案例应用与对比,学生真实感受到框架在程序设计中的好处。任何事物都有利有弊,框架也不例外。在框架类课程教学中,教师应该明确告知学生在使用框架时可能会带来的弊端。只有让学生深刻理解框架的两面性,才能在以后的实际应用中对具体问题具体分析。例如在基于MVC的WEB开发当中,使用框架的确可以使程序代码明确分层,降低程序模块之间的耦合性,提高程序的可维护性和代码的健壮性,但整个代码的难度相应增加,直观性降低。所以要把握在应用中根据要解决的问题来选择框架,不要盲目使用。如果学生在学完框架的时候,说不出该框架的缺点,那就是没有学会的表现。
3.2 教学内容的整合
教学内容在各框架的教学中,都是教学的重点,也是该课程的核心。在各框架中,都有自己的核心应用及强势所在,同时也不可避免地会与其他课程在内容上有重叠,这就需要在教学内容上有所侧重和删减。在框架类课程整合的教学方法当中,每门课程的教学内容设计不能孤立,应在教学设计上把该专业方向的多门课程综合起来,合理分配,认真考量该专业方向应包括哪些知识点以及每个知识点应该放在哪门课程中讲解,均匀分配每门课程的重点与难点,对每门课程的难度以及课程之间的前后依赖关系进行合理设计。
3.3 理论与应用的整合
在框架类课程的教学当中,要注重框架原理介绍,但理论不空洞,要以框架实例为基础。以软件开发技术J2EE方向的三大框架为例,基于MVC的WEB开发主要讲解MVC的设计模式优点及在应用中如何进行MVC的分层,要结合某个具体框架,例如可以采用STRUTS2。在教学实践活动中,具体采用哪个框架要根据目前软件开发中哪个框架应用范围最广泛、流行度最好,同时要结合教学的难度和学生的实践情况来选择框架实例。
3.4 教学案例的整合
在每个框架的授课中,教师会通过具体案例来进行该课程的知识点和应用点的整合,往往能够把该课程的知识点整合到一个具体的案例中,但在多个框架学习完成后,学生对框架并没有整体概念,在实际的应用中,往往是多个框架整合应用,这就需要在多门框架类课程的教学中,对教学案例进行整合,能够通过一个大的案例把多门课程的知识点和应用点贯穿进来,并通过对比让学生形成整体概念,加深框架类课程知识点的理解,提高其实际动手能力。例如在软件开发技术J2EE专业方向中,可以采用“学生档案管理信息系统”,在讲解基于MVC的WEB开发课程时,可使用STRUTS2框架进行该系统的实现;在讲解ORM框架原理与应用课程时,可以把HEBERNATE框架添加进来,通过对比使学生清楚地看到所使用框架的好处。当然在其他的课程讲解中,可以继续使用“学生档案管理信息系统”案例进行知识点的讲解,这样学生就减少了对项目背景以及项目需求的了解,可以将重点放到课程知识点的理解上。
4、结语
框架类课程在高等院校的教学实践活动中一直存在,从专业基础课到专业方向课。软件工程专业的框架类课程所占比重较大,包含的科目较多,在进行框架类课程整合的过程中,不能完全把所有课程都整合进来。在实际的研究探索中主要整合了以JAVA语言为基础的3大开源框架。通过框架之间整合教学方法的实施,明显提升了学生的学习兴趣,使学生在学习当中,能够对多个框架进行融会贯通;在实际项目开发中,能够灵活地根据项目特点进行框架的选择;近年来软件工程专业的软件开发技术J2EE方向的学生就业率逐年攀升、用人单位对学生评价越来越来高。在今后的研究探索中,可以把框架类课程整合教学方法推广到其他专业方向中,以便更好地完善与提升整体教学水平和教学效果。