集产学研一体的“JavaEE”实践教学探索
2016-08-09刘小明许进忠樊银亭中原工学院计算机学院河南郑州450007
刘小明,许进忠,樊银亭(中原工学院 计算机学院,河南 郑州 450007)
集产学研一体的“JavaEE”实践教学探索
刘小明,许进忠,樊银亭
(中原工学院 计算机学院,河南 郑州 450007)
摘 要:为提升计算机及相关专业高年级和研究生在工程实践与科学研究方面的综合能力,提出一种将企业工程开发实践与具有较高理论层次科研项目相结合的JavaEE教学方案,并应用于“JavaEE”课程的教学改革与实践。在实验室承担的“互联网舆情分析与导控综合服务平台”项目的建设过程中,学生不仅锻炼并提高了工程实践能力,而且奠定了一定的科学研究的基础,实现了产学研的三方面综合能力的提高,取得了较好的教学效果。
关键词:互联网+;JavaEE;教学改革;工程实践;科学研究
JavaEE框架技术体系因其高稳定性、跨平台性、可扩展性、可移植性、动态性和高性能等优势,在金融、政府、石油、电力、商务等各个关键行业和领域都得以广泛应用,已成为业界最为广泛的软件开发平台。“JavaEE”课程也已成为众多高校计算机及相关专业的核心课程。
当前,“互联网+”在人工智能、机器学习、数据挖掘、自然语言处理、大数据分析、可视化等学科的大力推动下快速发展,各类成果也正在快速不断地应用到生产生活的各个方面。“互联网+”的大潮对计算机及相关专业的毕业生,无论在科学研究还是工程实践方面的综合能力都提出了更高要求。
为应对“互联网+”对高校毕业生的要求,高校“JavaEE”课程的教学目标和内容也需要不断地改进与优化。一方面要让学生掌握“JavaEE”框架技术企业级软件开发所必须的高级专业技能,能够顺利胜任相关软件开发项目的工程实践要求;另一方面,也需要加强培养和锻炼学生在相关学科的知识和科研能力,为进入要求较高的企业、研究机构或科研院所承担高层次的科研任务做好准备[1]。因此,如何有效地将课程教学、工程实践和科学研究有机地融合为一体,是“互联网”+时代“JavaEE”课程教学体系面临的亟待解决的难题。
为此,我们提出了一种引入较高层次科研课题和工程实践项目为主线,将科研、教学和工程实践紧密结合的“JavaEE”课程教学改革方案。在计算机和相关专业高年级本科学生以及研究生的教学当中,这种集产学研为一体的“JavaEE”框架技术课程教学实践取得了较好的效果。
1 “JavaEE”课程教学相关研究
JavaEE作为Java的企业级开发框架,不仅是一款优秀的软件开发框架平台,更是一套具有自我更新和完善的现代软件开发体系[2]。JavaEE的核心价值不仅体现在所涵盖的众多相关软件开发技术,更有价值的是其蕴含的先进软件开发思想、规范、流程和模式等,如:模型驱动开发(Model-Driven Development,MDD)[3]、测试驱动开发(Test-Driven Development,TDD)[4],数据驱动开发(Data-Driven Development,DDD)。这些更具价值的思想和方法论的内容,虽然通过课堂讲解其意义、内容和实现方式,但更重要的是让学生在大量的工程实践中体会和感受,才能达到真正掌握的目的。
在“JavaEE”课程教学方面,很多人员进行了大量的探索。董运城基于长期进行“Java EE”课程教学工作的实践经验,分析目前“Java EE”课程的教学方法存在的问题,讨论了“Java EE”课程应教授的技术点、应改进的授课方法。陈卫民等人[5]探索了地方本科院校的教学,以“Java EE”教学为例,基于建构主义理论,探索在教学工作中,教师如何以学生为中心,设定合理的情景,帮助学生知识建构,从而激发学生的学习积极性,促进学生创新能力培养。赵彦等人[6]提出了一种基于任务驱动的课程改革探索,阐述“真实项目、任务驱动、进阶教学、提高能力”的教学模式。
1.1“JavaEE”课程教学现状
笔者根据多年在科技企业承担 “JavaEE”相关工程项目开发的经验,以及近年来又在高校从事“JavaEE”相关的教学和科研工作的经验。通过对比发现,高校“JavaEE”课程教学与实践主要存在以下两个方面的问题:
1.1.1教学与工程实践脱节
高校的“JavaEE”课程教学环节与企业所需的工程实践存在着较大的脱节。尽管在高校教学课程设置的知识体系都比较完整,但教学过程往往更注重“JavaEE”相关理论技术知识的讲解,虽然也正在逐步重视工程实践能力的锻炼和培养,但由于教材、课程、教师经历等多种原因,造成工程实践的效果难以达到企业要求。
1.1.2教学与科学研究脱节
“互联网+”由一系列如大数据分析、机器学习、数据挖掘、人工智能等学科最新的科学理论技术为支撑和基础。众多企业和爱好者开发实现了大量基于 “JavaEE”框架体系的开源软件,如Hadoop,Spark,Nutch,Solr,Mahout,Weka,Mallet,Lucence,等等。学生们如果能够大体了解相关学科最新基础理论,并掌握相关技术实现的开源软件使用,更受用人企业或科研院所欢迎。因此,我们在高校的“JavaEE”课程教学中也将这些相关学科最新的理论、技术和实现软件纳入其中。
本文为了解决上述“JavaEE”课程教学与工程实践和科研脱节较为严重的问题,提出了一种集“产学研”为一体的教学实践方案。
2 产学研一体的“JavaEE”课程教学
在“JavaEE”课程教学中,我们采用了将教学、科研和工程开发紧密结合的教学方式和内容。在课堂教学方面,采用以项目为驱动的课堂教学模式。这些课程教学采用的案例,不再是传统教学材料中的诸如 “图书管理系统”“学籍管理系统”“成绩管理系统”等虚构的项目,而是均要求从教师所承担的科研项目或者企业真实的工程开发需求总结而来。这样可直接让学生了解科研或企业在工程实践方面的第一手的真实需求和要求。
在课程讲解中,重点以真实项目的需求和设计为主线讲解课程内容,在讲授中再逐步将所需各种开发技术穿插引入课程,以区别传统教学中先讲解总体概念再分解各个知识点的方式。这样的教学方式,让学生首先了解到的就是项目的具体需求和要求,学习重点清晰明确。
3 教学实践
“互联网大数据智能信息处理平台”是中原工学院计算机学院“互联网舆情实验室”重点建设的一个集科学研究与工程实践为一体的综合技术平台。该平台以“JavaEE”框架作为基础架构体系,实现了对互联网上大数据量文本、图片、视频、音频等媒体类型资源的分布式采集、存储、分析与计算、索引与检索和自适应交互展示。该平台一方面可以作为教师科研工作的基础平台;另一方面也可作为实验室与企业横向项目合作的技术基础平台。
3.1将工程实践融入“JavaEE”课程的教学实践
“JavaEE”课程一方面是相关理论知识的讲解,更重要的是所体现的优秀的现代大型软件项目工程开发思想。为此,在“JavaEE”课程实践环节,参照CMMI3约定的部分“关键过程域”实现对各开发团队项目的规范化管理。在课堂的组织结构上,参照企业的工程项目组织形式,将学生分成6~8人的工程开发组,每小组设置项目经理、需求分析师、技术架构师、软件工程师、测试工程师。在开发过程中,严格按照软件工程的要求,将项目的需求分析、系统设计、开发实施、测试和验收落实到课程之中,完成情况与学生的课程成绩紧密结合。
将“互联网舆情分析与导控综合业务平台”共同纳入建设中,企业方的项目负责人将较为简单的工程开发任务分解并编写成为详细具体的开发文档,再由各个学生项目组申请承担开发任务。其中,JavaEE的任课老师作为开发任务技术指导,企业的任务负责人为质量与度量监督 (Process and ProductQuality Assurance,PPQA)人员。另外,每一项开发任务一般要有由两个以上的学生项目组同时承担,并按规定的里程碑或阶段同步开发,并定期汇报进度。这样,各开发小组之间既能够相互学习交流经验,同时也具有了一定的竞争关系,通过比、拼、赶、抢的方式完成开发任务,从而保证了项目开发任务的成功完成。最终,企业和指导教师共同评定,将完成情况最好、最为规范、标准的团队开发成果为平台采纳,并给予一定的奖励。这样的方式,学生在规范和实战的工程项目中体验到了JavaEE开发方式所带来的优势,企业能够节省一些专职开发人员的费用。
3.2将科学研究融入“JavaEE”课程的教学实践
将教师的科研工作与 “JavaEE”课程紧密结合,也是JavaEE教学改革的另一项重要特色内容。互联网舆情实验室教师大都承担有较高层次的纵向科研课题,这些课题的研究内容都与互联网大数据分析紧密相关,各个课题研究成果的设计实现都基于实验室JavaEE框架结构的 “互联网大数据智能信息处理平台”。
3.2.1学生参与实验室科研项目的工程实践
在教学的实践环节中,承担科研项目的教师将有关科研课题中相对成熟且具备工程实践条件的部分内容整理汇总,再由课程老师修订为“JavaEE”课程实践的工程开发项目。学生开发组从中选择感兴趣的科研题目,按照标准软件工程流程开发实现。
例如,在我们实验室与企业合作的“互联网舆情综合服务平台”建设项目很多涉及研究型的理论技术问题。实验室教师经过整理后,可供学生进行“JavaEE”课程实践的部分研究性开发项目,如表1所示:
表1 JavaEE课程实践部分研究性开发项目表
3.2.2组织学生参与科研评测活动的工程实践
在实验室科研工作中,由教师组织带领各学生开发组参与科研相关的竞赛或评测活动,将评测任务直接作为JavaEE的课程实践的工程开发任务。例如,在以计算机学会和中文信息处理分会联合举办的全国信息检索学术会议(China Conference on Information Retrieval,CCIR)为依托的中文倾向性分析评测(Chinese Opinion Analysis Evaluation,COAE)中,2015年底设置评价任务[7],如表2所示:
表2 CCIR 2015中文倾向性分析评测任务列表
从上表2和表3可以看出,实验室组织参与的各类学术研究评测任务与实验室自建的科研平台有很强的相关性或者重复。因此,需要课程指导教师首先将这些科研任务进行提炼分解,工程实现部分参照企业工程开发的任务说明书编制为JavaEE实践环节开发任务说明书,科研实验部分也分解为明确的要求和步骤,然后由学生项目组申请承担。以科研课题为驱动的“JavaEE”课程实践,学生不仅将教学环节中学习的JavaEE框架技术和工程开发模式针对性的得以应用,而且还了解和体验到了目前在相关研究学术领域的最新进展,为毕业后从事相关领域的工作奠定了较好的工程实践基础。
4 总结
与传统JavaEE教学模式相比,我们所提出的集“产学研一体”的“JavaEE”课程教学实践,具有多方面的优势:(1)以工程项目为驱动的课堂教学,让学生不仅理解JavaEE的关键思想、理论、规范和技术,也清楚明白了JavaEE在工程实践的具体要求;(2)参与企业工程开发的工程实践环境,让学生真正锻炼了开发方面的实践能力和熟练掌握了用人企业方面的要求及工作模式;(3)在实验室科研活动中进一步了解了JavaEE在最新学术研究方面的应用。学生学习JavaEE知识,在锻炼了软件工程和开发技能的同时,也培养了一定的科学研究素养。
当然,该种“JavaEE”课程的教学模式对指导教师、实验室甚至相关企业都有较高的要求。特别对担任该课程教学的教师来说,不仅要全面掌握JavaEE框架的核心思想和知识体系,而且应具有丰富的工程开发能力和经验,同时还需对相关学术科研方向有较深的研究。
参考文献:
[1]施阳,张海燕,戴德伟.基于JavaEE的毕业设计管理系统设计与实现[J].软件导刊,2015(2).
[2]Johnson,R.,Hoeller,J.Expert One-on-One J2EE Development without EJB[J].Wiley,2004(4).
[3]吴雷.现代服务业ERP系统的模型驱动开发与优化研究[D].合肥:合肥工业大学,2012.
[4]刘振宇,王恒.基于形式化方法的测试驱动开发研究[J].计算机工程与设计,2008(15):3944-3946.
[5]陈卫民.地方本科院校JavaEE教学改革探索[J].当代教育实践与教学研究,2015(5).
[6]赵彦.基于任务驱动进阶教学的Java EE课程改革探索[J].常州信息职业技术学院学报,2013(3).
[7]第二十一届全国信息检索学术会议(CCIR2015) [Z].2015.
[8]NLPCC 2015 Evaluation Notice[Z].2015.
责任编辑李燕
中图分类号:G642;TP312.1-4
文献标识码:A
文章编号:1674-5787(2016)01-0147-05
DOI:10.13887/j.cnki.jccee.2016(1).41
收稿日期:2015-10-12
基金项目:本文系国家自然科学基金(U1304611);国家社会科学基金(15BTQ022);河南省科技攻关项目(132102210186);河南省教育厅科学技术研究重点项目(14A520015);郑州市科技攻关项目(131PPTGG416-4)研究成果。
作者简介:刘小明(1979—),博士,讲师,主要研究方向:自然语言处理、大数据智能信息处理、教育信息化。
Practical Teaching of the“JavaEE”Integration of Production,Learning and Research
LIU Xiaoming,XU Jinzhong,FAN Yinting
(School of Computer Science,Zhongyuan University of Technology,Zhengzhou Henan 450007,China)
Abstract:Inordertoenhancethecomputerandrelatedprofessionalhighgradestudents’comprehensive abilities of engineering practice and scientific research,the author puts forward a JavaEE teaching scheme combining enterprise development practice and some higher theoretical level research projects,and applies it to the JavaEE course teaching reform and practice.In the laboratory project construction of the“Internet Public Opinion Analysis and Integrated Services Platform Controlling”,students have improved not only the ability of engineering practice but also that of research,that achieving good teaching effect.
Keywords:Internet+;JavaEE;teaching reform;engineering practice;scientific research