基于OBE模式的JavaEE课程教学方法研究

    朱杰 王小正 陈长伟 李滢

    

    摘要:JavaEE框架结构开发是一门实践性很强的综合性课程,它要求学生具备一定的专业知识,现有课程存在的问题是学生的学习基础存在很大差异,传统的教学模式已不能满足“根据学生特点和程度进行个性化教学”的要求。为此作者提出基于OBE模式的JavaEE课程教学,通过该教学方法可以满足不同程度学生的学习需求,激发学生的学习兴趣,充分发挥学生的学习潜能。

    关键词:JavaEE框架;OBE模式;结果导向

    中图分类号:G434? 文献标识码:A? 论文编号:1674-2117(2020)15/16-0175-04

    在CNCC(中国计算机学会)2019年举办的“人工智能赋能未来教育”论坛上,哈尔滨工业大学人工智能研究院副院长、哈尔滨工业大学社会计算与信息检索研究中心主任刘挺教授做了题为《智能教育的理念变革与技术落地》的报告,对报告的学习,引发了笔者对现有课程“JavaEE框架结构开放”教学模式的思考,并对这门课程的教学方法做了一些调整与改进。同时,笔者所在学校在今年引进了Blackboard OBE教学管理平台,该平台为教师和学生创建自主的网络学习环境,使教师和学生拥有自己的个性化的学习空间,其功能覆盖整个教学过程。该平台提供丰富的应用工具来辅助教学工作,主要功能包括网络课程建设、教学资源展示共享、教学互动、交流协作、数据统计和评测反馈等,这个平台的教学辅助正好帮助笔者把基于OBE模式的教学想法实施落地。

    ● JavaEE课程教学研究现状

    “JavaEE框架结构开发”课程属于一门综合性课程,一般是安排在学生大三、大四阶段完成的。传统的教学内容包括JavaEE开发环境的搭建、网页设计基础、JSP基础以及数据库应用这些基础知识,要求学生既要能够上机熟练完成Struts2框架、Hibernate框架、Spring框架的应用实例开发,又要能够综合性地对Struts2、Hibernate和Spring框架进行整合,用SSH框架完成一个综合性网站系统的搭建。这对学生理论知识的掌握以及动手实践能力的要求都很高。其教学过程,存在如下一些问题。

    首先,这门课程内容丰富,而课堂讲授时间有限,很多内容需要学生课后再阅读一些相关材料来加深理解。如果学生不具备良好的学习基础和学习习惯,不知道这个知识点与其他相关知识的关联,只单纯地学习这个知识点本身,那么在上机实践中如果出现问题就找不到解决问题的切入点。其次,JavaEE框架技术的学习需要很多前导性知识,如Java面向对象程序设计语言、数据库基础,以及Java Web基础知识等,这要求学生具备扎实的基本功,但往往学生的学习基础和能力不一样,上课的时候学习效果和接受度有很大的差异。如何做到因材施教,满足不同学生的学习需求,这是亟待解决的问题。最后,传统的教学是面向全体学生进行讲授,无法及时从学生的学习成果中得到反馈,因而就无法针对不同程度的学生进行差别化教学。学生数量众多,教师对学生都采取同样的教学进度、同样的教学安排,學生无法做到针对性的学习,教师也很难根据每个学生的个性化差异开展不同的教学。

    西北农林科技大学信息工程学院的聂艳明等[1]采用以基于项目驱动的面向对象软件工程方法开发的典型业务项目作为教学案例阐述了基于项目驱动的课程教学方法。北京交通大学软件学院的冀振燕[2]提出了采用案例驱动的教学方式对课程教学进行设计,改进了“先理论后实践”的传统教学方式。暨南大学信息科学技术学院的张晓刚[3]借鉴工程教育的先进理念并结合JavaEE技术特点,提出项目进阶驱动的实践教学模式。这些关于JavaEE课程教学改革[4-6]的研究都提供了有益的解决思路,但是对学生个性化教学的相关研究还比较少,本文重点从学生个性化角度做了有益的探索。

    ● 结果导向型的教学方案

    过程导向比较注重过程,就是重在参与;结果导向是站在结果的角度思考问题,重在结果。本文所指的结果导向并不是只看中结果,而不考虑过程,而是从结果的反馈来调整实施过程,从而达到更好的学习效果。

    1.OBE教育模式

    基于学习产出的教育模式(Outcomes-based Education,缩写为OBE)最早出现于美国和澳大利亚的基础教育改革,是以学生的学习成果为导向的教育理念。在OBE教育模式中,学生学到了什么和是否成功远比怎样学习和什么时候学习重要。它的主要思想是根据学生某一阶段学习后所应达到的能力水平,及时调整学习过程,改进原有的课程设计与课程教学来保证学生达到预期的学习目标。下图为OBE课程设计理念与传统课程设计理念的对比。

    紧扣新经济对本科人才的需求特点,坚持以产出为导向的工程教育的理念,OBE关注四个问题:①我们想让学生取得的学习成果是什么?②为什么要让学生取得这样的学习成果?③如何有效地帮助学生取得这些学习成果?④如何知道学生已经取得了这些学习成果,并依次细分教学内容和教学环节关联矩阵,持续改进教学效果?

    对想让学生取得的学习成果是什么这个问题,高校研究得最多,从教学大纲到每节课的学习知识点,内容都已经非常具体。第二个问题为什么要让学生取得这样的学习成果和第三个问题如何有效地帮助学生取得这些学习成果,是围绕第一个问题详细展开的。针对这两个问题教师不断地革新教学方法,各类精品课的出现都是为了让学生能够更好地接受学习的内容和掌握学习中的重点、难点知识。在现代课程中,信息化时代的发展让学生有更多获取知识的途径,笔者所在学校引进的OBE教学平台,是以活动为中心,让学生每次进入课程去访问一个活动。在课前,教师把课件上传到课程资源中,同时分享网上一些优秀的教学资源,供学生课外学习,进而更多地帮助学生在课堂上领会吸收,学生在学习过程中可以在讨论区提出问题,分享给大家,教师和学生可以在讨论区进行互动答疑和解惑。这就大大提高了师生之间以及学生之间的互动,激发了学习热情,同时可以了解学生的学习时间。第四个问题如何依次细分教学内容和教学环节关联矩阵,持续改进教学效果,是本文主要思考的问题,笔者为此进行了一些有益的尝试,从目前的情况来看,取得了比较好的教学效果。下面是从理论知识的学习和上机实践两个方面,基于第四个问题,对教学方法做的一些改进。

    2.理论知识的教学方法研究

    刘挺教授认为,应当根据学生的个性化来定制学习路线。但是学生本身是有惰性的,而且知识是有次序的,因此应该认识到“教”的重要性。教师是“答疑解惑”者,但更是知识的传播者,好的教师是把知识的架构先告诉学生,将知识里面的重点难点梳理给学生,有些学生本身的学习能力不是很强,这就更需要教师的引领。所以“JavaEE框架结构开发”课程中的网页设计基础、JSP基础、数据库应用基础,以及Struts2、Spring和Hibernate的概述这些基础知识及重难点概念,采取传统的教学方法——教师课堂讲授,学生课下练习,运用教学PPT、教学视频等丰富资源,吸引学生兴趣,让学生先踏进这个门槛里面来。但是学生的接受程度、先前的基础储备不一样,所以当教授完相关课程后,需采取随堂测试的方式来了解学生对理論知识的掌握程度,然后根据反馈结果,来调整后续的讲课内容。以Struts2的核心配置为例,在OBE平台下,教师可以课堂同步给学生布置练习题:①请写出在web.xml文件中配置Struts2核心过滤器的代码片段,并上机验证。②简述Struts2常量配置的3种方式并举例。学生练习提交答案并给出遇到的问题,教师统计出学生的正确率,从而判断学生的掌握程度。对于第一个问题,学生大部分出现404错误,这是因为学生下载的jar包版本和书上给出的jar包版本不一致,而不同的jar包对应的web.xml文件内容不一样,学生没有注意到版本问题导致部分出现404错误。这说明学生对本课Struts2框架搭建没有完全理解与掌握,在课堂上就需要补充原有知识点,告知学生Struts2框架版本是不断更新的,相应jar包可能会合并更新,滤波器也相应进行改变,而不是继续往下讲新的知识。第二个问题比较简单,属于基础知识,正确率很高,那么把常量配置里面如果出现多个配置文件都配置常量可能出现后面的文件覆盖前面文件的情况告诉学生就可以,并给学生补充一些额外知识点,然后继续后面的学习。

    JavaEE课程中的基础概念大多需要学生简答,少部分概念可以以填空和选择的方式提出。例如,Struts2、Hibernate缺省的核心配置文件名分别为(struts.xml)和(hibernate.cfg.xml);在Hibernate项目中,如实体类为User,则对应的配置文件名为(User.hbm.xml);持久化对象的生命周期中对象的三种状态(瞬时态)(持久态)(脱管态);等等。这些概念对教师了解学生对基本原理的掌握情况非常重要,教师可通过小测试的方式,得到学生成绩的分析图,根据分析的结果可以了解学生的学习情况。这里选取了一次测试的考核结果,课程平均分为73.1,超过预期目标70.0%,说明学生已经基本掌握了基础知识,那么就把这次考核出现的问题分析讲解给学生听,同时把与问题相关的知识点再次引入,使得出现类似问题的学生都可以迎刃而解,而不需要再次讲解基础知识,也不需要再补充前序知识点了。

    3.上机实践方面的教学方法研究

    除了理论知识,JavaEE框架框架结构开发课程还是一门动手性很强的课程,需要学生大量的上机练习。对于上机部分,采用线上线下同步的方式。

    讲解MVC设计模式,指导学生做一个简单的留言系统。课堂上,对于编程能力强的学生,不仅要求其完成了登录、留言功能,还可以继续加深难度,额外给他们提出一些要求,如让学生模仿登录功能完成注册功能,加入其他章节的知识进行融合,让学生再加入删除、修改功能等。对于刚刚能够消化理解本课内容的学生,只要求他们完成登录和留言功能,同时模仿完成注册功能,然后根据上机过程中出现的针对性问题进行解答,并且把这部分学生的问题进行汇总,在课堂上统一讲解,并且不限于此类问题,所有相关问题也一起给学生分析,当出现类似问题时应该如何解决,举一反三。课堂时间毕竟有限,对于来不及指导的学生,就让他们把问题发布在OBE平台的作业测试区和讨论区,让大家一起来讨论并帮助解决遇到的问题。这里遇到的问题一般属于班上大部分学生都可能出现的问题,通过大家的问题汇总及讨论,让学生把可能遇到的问题进行汇总并延伸给予讲解。

    例如,通过练习,发现学生对session概念的欠缺,大部分学生没有掌握,可以很好地补充学生知识的盲点。还有一部分是上机出现困难的学生,需要采取线下辅导,一对一地讲解,因为这样的学生通常基础比较差,在答疑的过程中可能需要给学生补充很多知识点,让学生了解自己欠缺的知识点,回去针对性做一些练习。同时这部分学生学习积极性不高,教师在辅导的过程中,需要帮助提升学生的学习兴趣和自信心,这是非常必要的。还有部分学生编程能力不足,又比较内向,这时候还可以让动手能力较强的学生来给予辅导,这不管是对辅导的学生还是被辅导的学生都是一次能力的提升。

    ● 结语

    通过OBE平台,教师可以实时看到学生学习的效果,配合多元弹性的个性化学习要求,让学生通过练习来发现自己的问题,再将结果反馈给教师,从而改进原有的课程设计与课程教学。线上线下互动式教学模式提高了学生的学习热情,通过线上讨论,学生可以打开思路从多个角度思考问题,同时也起到督促的作用,让学生的学习都记录在线,学生会更加重视。此外,课程网站的建设为学生提供了一个便利的课程学习平台,学生不仅可以方便地获取课程学习资料,还可以发挥主观能动性积极进行学习交流。

    通过结果导向的教学方法,教师可以在学生的学习过程中,及时了解学生是当前知识点出现问题,还是基础知识没有掌握,根据学生的掌握程度来调整教学安排,定制个性化教学方案。通过该教学方法,学生在学习当中,已经明显增加了学习兴趣,学习效果也得到有效提升。

    参考文献:

    [1]聂艳明,刘全中,李宏利,等.基于开发模型对比的Java EE课程教学方法研究[J].中国信息技术教育,2015(07):107-109.

    [2]冀振燕.JavaEE框架与程序设计课程的案例驱动教学探索[J].计算机教育,2013(24):27-29.

    [3]张晓刚.项目进阶驱动的JavaEE课程实践教学改革探索[J].计算机教育,2016(09):115-118.

    [4]董运成,代威.JavaEE课程教学与实践方法初探[J].信息与电脑:理论版,2015(13):197-198.

    [5]王小正,杨鑫,侯青.面向应用型本科院校的JavaEE教材建设[J].计算机教育,2015(12):98-101.

    [6]张淑丽,姚登举,车楠.基于JavaEE的开源框架类课程整合教学方法探索[J].黑龙江教育,2014(06):17-18.