文/高荣
项目驱动教学在JavaEE课程中的应用研究
文/高荣
为了有效改善目前JavaEE课程教学过程中遇到的学生缺乏兴趣和基础、教学积累较少、学生学习困难的问题,本文引入了一种基于项目驱动的教学方式,以企业实际需求为导向,以企业项目为骨架来精心设计课程项目案例,并通过课程网站、手机APP等方式收集和分析学生反馈的信息,有效提高了课程教学的效果。
驱动教学;JavaEE课程;应用研究
1.引言
随着我国IT技术、物联网、移动互联网的飞速发展和广泛应用,社会的各个行业日益重视和推进信息化建设。目前企业信息化软件多采用浏览器/服务器(B/S)结构,这种技术是随着Internet技术的发展,对C/S结构的一种变化或者改进。在B/S架构下,用户的工作UI是通过浏览器来实现的,只有很少部分的事务逻辑是在浏览器端实现,主要的事务逻辑都在服务器端实现的,这样就减轻了软件维护和升级的工作量和成本,降低了用户的使用难度和总体成本。目前B/S架构的软件的开发有多种方式,例如微软的.net平台,Oracle的JavaEE平台,基于ruby的RoR框架,基于python的django框架,PHP的MVC框架等等。但是目前使用比较广泛的还是JavaEE框架,例如京东一开始使用的是.net平台,淘宝使用的LAMP平台都在流量大增以后换为了JavaEE技术实现。因此学生掌握好JavaEE课程,养成良好的代码规范,掌握好JavaEE课程核心的MVC架构的概念和应用,对于以后的工作和学习都有非常重要的作用。
目前已有许多人在研究和探讨JavaEE课程的教学改进。黄玉龙等人研究了面向卓越工程师的JavaEE课程教学的改革[1],艾勇等人使用了互动教学法改善学生学习JavaEE课程的效果[2]。赵彦使用了任务驱动进阶的方法提升教学效果[3],周运研究了“真实项目、任务驱动、进阶教学、提高能力”的教学模式在教学中的应用[4],高志升等人在教学中引入系统化方法取得了良好的效果[5],赵彦使用了进阶式教学法取得了一定成效。本文分析了目前JavaEE课程中存在的一些问题,并给出了针对这些问题的一些对策。
2.教学现状
JavaEE是一门综合性比较强的课程,涉及到Java语言的高级部分,例如注解、控制反转、反射等内容,以及数据库、JSP、HTML4/5、JavaScript、编程模式、MVC框架、SpringMVC、struts、Maven、Hibernate等内容。该课程内容众多,分配的课时一般不足以完成如此多的内容的讲授,尤其是学生在前驱基础课程的学习中基础不牢会导致后面的课程学习困难。JavaEE课程的知识点众多,在教学方面存在如下困难:一、教材选型困难,由于课时限制和教材价格限制的原因,选择适合学生的教材不太容易;二、学生运用所学知识的能力较低,部分学生对于JavaEE课程的实际用途以及课程的重要性并不关心;三、课程涉及到的知识面非常广,学生在学习的过程中容易局限在JavaEE的语法之中,学生容易只见树叶,不见森林;四、JavaEE的课程结束以后学生往往无法直接进入企业就业,因为所学内容往往不符合企业实际需求;五、学生调试程序的能力比较低,变通能力比较差,学生即使学习会了一个案例,但是当让学生独立解决类似的问题时,学生往往不知所措,无从下手。
在以往的教学中,采用传统的围绕JavaEE框架的核心技术教学的模式效果一般,学生反馈学习困难、不易掌握课程知识。为了解决这类问题,有效提升JavaEE课程的教学质量,寻找行之有效的教学方法和模式就显得尤为重要,JavaEE教学综合了多门课程的知识,适合应用项目驱动法进行教学。在主讲老师的指导下,把一个从企业实际需求演化来的项目交给学生自己处理。项目需求信息的收集、技术方案的设计、项目的实施及项目的最终评价,都是学生组成的小开发团队负责,这样学生通过实际项目的分解和实施,从而了解并把握整个项目整个过程以及项目分解的每一个环节中的基本要求。在项目的实施过程中,建议采用先练习后讲授、先学习后教学的方式,重点在于学生的自主学习和主动参与,学生从模仿开始入手,由练习开始项目,从而调动学生学习的积极性、主观能动性和创造性等。学生是主角,而老师转为配合,有利于培养学生的自学能力、独立解决问题的能力以及创新能力。本文从多个方面对项目驱动教学法进行了研究与实践,取得了一定的效果。
3.项目驱动教学在JavaEE课程中的应用
3.1合理选择JavaEE课程使用的项目
课程使用的项目的质量直接关系到课程教学的效果,因此需要采取多种措施来保证使用的项目的质量。为了使学生在解决实际问题的过程中能够独立应用课程涉及的所有知识,要求教师所设置的“项目”必须包含多门JavaEE前驱课程的知识。
(1)贴近企业实际,精心设计项目
改变以往传统教学方式围绕JavaEE的核心技术框架展开教学的模式,以学生将来工作岗位的实际需求为导向,不仅要教会学生学会JavaEE的基础知识,还要教会学生灵活运用所学的知识完成JavaEE框架Web项目的开发、测试、维护等实际任务。教学模式转为全面贴合企业实际需求,最近几年来主讲教师与多家企业建立了紧密的联系,帮助企业进行信息化规划,同时帮助企业进行软件系统的开发,课程所用项目完全来自合作企业,同时担负着为合作企业培养和输出人才的任务。课程的教学按照企业软件的实际开发过程进行。课程掌握比较好,也即项目完成较好的同学都可以被推荐到比较好的企业就业,就业质量得到大大提升,毕业以后学生的起薪远远高于普通班毕业的同学,这些实际情况刺激了同学参与项目的积极性,形成了良好的滚动发展。
(2)注意跟踪主流开发技术,及时更新项目
目前随着IT技术的飞速发展,JavaEE的开发技术也与时俱进,大量的技术层出不穷。例如Spring框架,目前已经出现了大量的分支,这些分支也正是目前企业开发所急需的技术。例如Springmobile、Springsocial、Springdata、Springforandroid等,这些技术也可以在合适的时候引入课堂,帮助学生掌握最新的技术进展,从而在找工作的时候能够占据一定的优势。因此课程的内容要及时更新,现在IT技术的发展非常迅速,如果完全依赖课本,那么流行的新的技术无法及时传给学生,教师尽量在项目的组织和课程的教学过程中将最新的框架和知识传授给学生。在引入新技术的时候,注意循序渐进,一次不宜引入过多。一方面新技术的学习需要过程,一方面也降低教师的备课压力。
(3)课堂教学和视频教学相结合
课堂学时有限,要想学好JavaEE课程还必须在课下下功夫。单靠课堂教学不易很好的完成课程内容的讲授,教师可以制作更加详细的教学视频,最好是通过屏幕录像的方式,一边授课,一边给学生演示项目从背景到编码和测试的整个过程。视频教学的内容要丰富,覆盖面可以更广,许多在课堂上没有时间覆盖的细节都可以在教学视频中体现出来。我们开发了一个基于SpringMVC的视频播放网站,同时也提供了一个使用WordPress实现的博客系统,用于知识的积累和传递,学生遇到的问题都可以在网站上提问,同时解决方法也提供在网站上,避免同样的问题每一届学生都要重复解决多次,一方面降低了授课教师的压力,一方面也锻炼了学生利用网上的解决方法独立排查错误的能力。同时根据视频播放的信息,可以找出哪些内容是学生关注最多的,这样在下次上课的时候,教师就可以有针对性的详细讲解相应的知识点,提高学生的接受速度。此外根据网站上学生提问的易出错的问题,教师也可以改进课堂授课的内容,这样就形成了一个良性循环。
(4)精心设计项目
用项目驱动法进行JavaEE的教学,按照学生的接受能力逐步拓展课程的内容。使用1-2个项目贯穿全课程,按知识点铺开项目的相应部分知识,同时进行有针对性的编程技能训练,同时加强老师的指导作用。注意拆分大项目,把整体项目拆分为若干子项目,在子项目中引出、叙述和分析每个知识点,每个子项目都是最终项目的一部分。通过项目的分解和组合,也让学生了解了项目任务的分解和组合,对于培养具有初步能力的项目经理打好了基础。
3.2教学效果反馈
为了得到学生对项目驱动教学的兴趣分布情况,采取了以下措施:一、专门开发了一个课程网站和安卓手机App,收集学生对每个子项目的匿名打分情况和建议;二,课程还利用在所在学院目前已经建设完毕并投入使用的私有云平台作为学生进行JavaEE开发和实际部署的平台,通过目前部分投入使用的云环境管理软件,收集到了学生使用实验平台的各类数据,如所访问的网站、使用实验平台的时间段、用户在每个网页的停留时间、鼠标的位置等数据;三、对采集到的数据进行处理,从而分析学生对哪些知识感兴趣。根据收集到的数据的分析结果可以有针对性的调整JavaEE课程的内容和讲授方法。
4.结束语
通过在JavaEE课程中引入项目驱动教学,同时结合了多种信息采集和评价系统,课程教学同以前相比较,取得了明显的效果。课程成立了课程微信兴趣群,采用自愿加入、自由讨论、共享资源的方式,群里活跃度非常高,群的成员增加迅速。在课堂上采用项目驱动教学以后,观察了学生的到课率比未采用前提高了大有提高,学生的积极性也大大提高了。学生组建了多个项目团队,部分团队还成功的为企业开发实施了软件系统,新老学生实现了梯级开发团队。
[1]黄玉龙,苏本跃,刘桂江,汪文明,施赵媛.面向卓越工程师的JavaEE开发技术课程教学探讨[J].课程教育研究,2015,04:238.
[2]艾勇,谭成予,帖军,常军.互动教学法对JavaEE课程教学效果的影响研究[J].现代计算机(专业版),2014,31:11-13+21.
[3]赵彦.基于任务驱动进阶教学的JavaEE课程改革探索[J].常州信息职业技术学院学报,2013,03:46-50.
[4]周运.JavaEE框架课程教学方法改革与实践[J].高师理科学刊,2012,02:99-102.
[5]高志升,谢春芝.系统化方法在JAVAEE教学中的运用[J].电脑知识与技术,2012,30:7244-7247.
[6]赵彦.《轻量级JavaEE开发》课程教学改革的研究[J].宁波职业技术学院学报,2011,05:95-100.
高荣(1979.2-),男,助教,硕士研究生,研究方向:企业信息化、数据挖掘,广西财经学院信息与统计学院。
G
A
2095-9214(2015)03-0171-02
广西财经学院信息与统计学院)
新世纪广西高等教育教改工程项目(2012JGA203),广西财经学院数量经济学创新团队基金(2014CX02,2014CX03)