邓丹君+姚莉
摘 要:对《J2EE架构程序设计》课程理论教学和实验教学的教学设计进行探讨,强调采用主动式项目驱动教学方式,将“在线考试系统”项目作为案例贯穿于整个课堂教学过程中,并且按照企业的机制,学生分组进行项目开发。在课堂上进行教学实践,结果表明,该教学方法教学效果良好,学生的项目开发能力、团队协作能力和独立自主学习能力都有较大提升。
关键词:J2EE课程;主动式项目驱动教学;教学设计
DOIDOI:10.11907/rjdk.162735
中图分类号:G433
文献标识码:A 文章编号:1672-7800(2017)007-0223-03
0 引言
Java语言已成为主流的计算机编程语言,J2EE是采用Java语言的企业级应用框架,用于开发分布式企业软件应用平台,具有跨平台、可扩展、高稳定性等特点,现已在多个行业中得到广泛应用,社会对J2EE程序员需求量也较大[1]。
为了让学生能够适应社会需求,湖北理工学院在计算机科学与技术专业开设了《J2EE架构程序设计》专业必修课,旨在培养学生的实践动手能力,为学生毕业后尽快适应J2EE相关软件开发工作作准备[2]。目前,深入开展《J2EE架构程序设计》这门课程教学的高校并不多,对该课程的教学内容和教学方法等进行深入探讨和研究尤为必要。
《J2EE架构程序设计》作为专业必修课程,在计算机科学与技术专业大三下学期开设,主要讲述J2EE主要的流行框架Struts、Hibernate和Spring。教学目标具体如下:①能按照J2EE的五层体系结构(数据持久层、数据访问层、业务逻辑层、控制层和表示层)开发Web应用程序;②掌握Struts、Hibernate和Spring框架的使用,会应用这些框架开发J2EE企业级的Web应用程序;③熟练使用J2EE的开发工具和数据库进行项目开发,包括代码的编写、调试和部署。
1 《J2EE架构程序设计》教学现状分析
湖北理工学院计算机科学与技术专业的学生在接触这门课程之前,已学习了《数据库系统原理》、《计算机网络原理》、《Java程序设计》、《HTML/CSS与JavaScript》、《JSP/Servlet程序设计》等课程,并具备一定的Web应用系统开发基础。J2EE课程的学时为:每周4学时,共60学时,其中理论20学时,实验40学时。
《J2EE架构程序设计》课程实验学时偏多、理论学时偏少,根据以往教学经验以及与同行之间的交流发现,在本课程的教学过程中,存在以下问题:①课堂理论教学过程中,教师经常采用“教师讲授,学生被动接受知识”的方式,教学方法单一,缺乏互动,教学内容以理论与语法知识为主,内容与实验脱节;②实验教学中的实验内容过于简单,以验证性实验为主,学生没有主动思考的过程,且实验内容与实际项目中的应用脱节,学生的实践动手能力没有得到锻炼,毕业后往往发现自己与企业的需求差距很大,熟练运用J2EE的框架Struts、Hibernate和Spring需要反复的项目实践;③没有有效的考核方式,传统的卷面考试侧重于语法,不能考核学生实际的J2EE编程能力。
这些问题产生的根源在于传统的教学方式没有注重培养学生的动手编程能力、研究探索能力和实际项目开发能力。鉴于此,许多高校就《J2EE架构程序设计》理论与实验教学内容和教学方法进行了研究[3]。然而,这些研究并没有与具体的企业实际项目开发过程联系起来,学生学完之后缺乏应有的工程经验和项目经验,毕业之后不能适应企业需求。如何将有限的理论知识与实验内容相结合,加强学生工程经验和项目经验的锻炼,是《J2EE架构程序设计》课程教学需要解决的关键问题。
2 《J2EE架构程序设计》课程教学设计
根据当前企业对Java软件工程师的需求,在该课程教学过程中应该注重理论学习和应用实践的结合,注重培养学生开发实际项目的实战经验。
《J2EE架构程序设计》课程需要掌握的知识点很多,但学时有限。此外,《J2EE架构程序设计》课程的教学内容是基于《Java程序设计》、《JSP/Servlet程序设计》等课程之上的,学生对于这些前导课程的学习必须相当扎实,才能够更好地掌握《J2EE架构程序设计》的精髓。因此,在人才培养方案上应该要规划得尽可能全面,各课程的授课教师之间应积极交流,前导课程的教师需要将讲授的重点知识加以强调,让学生反复实践,为后续课程打下良好基础[4]。
因此,需要根据学生的知识基础对教学内容进行组织。由于学生在学习这门课之前已经有一定的Java Web相关知识(Java基础知识、HTML/CSS/JavaScript、JSP/Servlet),本门课的重点内容就是学习时下流行的框架技术,包含Struts2、Hibernate和Spring框架。在讲解每个框架技术时,应采用主动式项目驅动教学方式,即利用一个完整的实际项目案例贯穿课堂教学始终,学生边学边完成该项目的开发。这种渐进地完成项目任务的方式,不仅强化了学生的专业知识,而且学生在项目开发过程中分析问题和解决问题的能力也得到了提高。
项目的选取遵循以下原则:①项目的难度要与学生的学习能力相匹配,让学生容易理解J2EE的五层体系结构;②项目开发所涉及的技术要与教学内容紧密相关,项目的开发设计要能贯穿到整个课堂的理论教学和实验教学当中;③项目的开发过程应该使用软件工程的思想,包含需求分析、总体设计、详细设计等阶段[5]。
基于以上原则,本课程使用“在线考试系统”项目作为案例贯穿于整个课堂的教学过程中。“在线考试系统”项目的内容包含教师出卷和学生考试等内容,在校学生对这些内容比较熟悉,因此学生进行项目需求分析、项目总体设计的难度相对较小。
2.1 理论教学设计endprint
《J2EE架构程序设计》课程采用主动式项目驱动教学方式,过程如下:首先,制定一个合理的项目指导计划,教师分析“在线考试系统”的框架结构,分析各模块所要达到的预期效果,引导学生对系统的认识,从而进行需求分析和总体设计;其次,引入企业开发项目的整个过程进行项目开发,在项目开发过程中强调教师指导,学生实践,学生边学边完成该系统开发。这种教学方式不仅能强化学生对理论知识的理解,而且让学生理解每个框架在实际项目中的具体应用,从而能锻炼学生开发实际项目的能力。
整合优化《J2EE架构程序设计》的教学内容,强化该课程与前导课程之间的联系,利用完整的实际项目“在线考试系统”案例贯穿于课堂教学始终。将整个项目开发划分成易于开发的阶段性的项目案例,整个开发过程采用迭代式的软件开发过程,包含需求分析、总体设计、详细设计、编码、测试等阶段。
“在线考试系统”的业务逻辑对于初学者而言较为复杂,因此需要将“在线考试系统”这个大项目划分成多个独立的并且可以直接执行的项目案例。教师根据各知识点精心选择对应的项目案例。在课堂教学中讲述的各知识点是通过“在线考试系统”的相关项目案例引出,进而教师讲述完成此项目案例的方法,通过由浅入深的引导,逐步实施,最后学生通过项目案例的实践来加强对知识技能的掌握。各知识点对应的“在线考试系统”项目案例如表1所示。
每个项目案例都由项目案例背景、功能演示、实现步骤、代码解释组成,即首先教师讲述案例的背景,然后进行项目案例的演示,将运行结果展示给学生,引发学生的兴趣,再对案例进行分析,引出新的知识点,讲述实现步骤,最后编写代码并解释代码的含义。学生可按照教师的操作步骤完成项目案例。课堂结束时,教师根据教学过程中学生反馈的问题进行归纳总结,分析问题产生的原因,与学生共同探究如何避免这些错误,以提高学生解决实际问题的能力。在实验过程中,学生根据这些案例举一反三,完成项目的其它功能。
2.2 实验教学设计
《J2EE架构程序设计》课程是一门实践性很强的课程,目前的实验教学中,实验学时有限,实验内容缺少与实际项目的联系,不能充分调动学生积极性。在实验过程中,学生需要通过反复实践才能逐步领会各知识点[6]。因此,实验教学设计可以按以下几个方面进行:
(1)增加实验学时。可以将理论课和实验课都安排在实验室进行,增加学生动手实践的机会。学生遇到问题时,便于教师及时指导,教师也可以根据这些问题进行归纳总结,适当调整教学进度,改善教学效果。
(2)引导学生独立解决问题。在实验环节,教师应注重引导学生在项目设计和开发过程中的独立性及其自主学习能力,让学生能借助于书籍、互联网等手段解决实验过程中遇到的问题。
(3)合理分组,共同提高。学生知识和能力基础存在差异,为实现学生共同进步和提高,在课程实验开始时可以对学生进行分组,将基础较好的学生和基础较差的学生混合编在一个项目组中,组中成员分工协作,合作完成“在线考试系统”开发。这样做的好处是:学生既可以提前熟悉企业开发项目的模式,又可以让基础较好的学生帮助基础相对较差的学生,共同学习进步,跟上实验进度,保证教学效果。
(4)注重考核。在实验过程中,教师要记录学生在实验过程中的表现,并且给予一定的分数作为平时成绩,课程结束时,教师对每个小组任务的整体完成情况,及各组每个成员的工作进行综合验收,各组答辩,最后给出分数,作为期末成绩的一部分。这种方式既强调团队合作的重要性,也注重个人贡献,激发学生学习与助人的积极性,也提高了他们的团队协作能力。
3 結语
本文以湖北理工学院计算机科学与技术专业的必修课程《J2EE架构程序设计》为例,在分析该课程教学现状的基础上,对其理论教学和实验教学的教学设计进行了研究,强调采用主动式项目驱动教学的方式,使用“在线考试系统”项目作为案例贯穿于整个课堂教学过程中。将“在线考试系统”这个大项目划分成多个独立的、可以直接执行的项目案例,教师根据各知识点精心选择对应的项目案例。课堂教学过程中讲述的各知识点是通过“在线考试系统”的相关项目案例引出的,教师通过由浅入深的引导,逐步讲解,最后学生以项目案例实践加强对知识技能的掌握。课堂教学实践表明,上述教学方法取得了良好的教学效果。
参考文献:
[1]江务学,王志明.任务驱动教学法在《Java语言》教学中的设计与实践[J].商丘职业技术学院学报,2011,10(5):38-40.
[2]顾鸿虹.《Java面向对象程序设计》教学改革方案的探讨[J].现代计算机:半月版,2012(6):19-21.
[3]李瑞生.Java程序设计课程教学中遇到的问题和对策[J].计算机教育,2010(22):119-122.
[4]范会联,仲元昌.基于CDIO理念的软件人才培养模式探索[J].实验室研究与探索,2012(31): 131-133.
[5]邵欣欣,工晓煌,蒋晶晶.CDIO理念下的JAVA课程项目改革研究[J].计算机教育,2013(12): 26-29.
[6]赵秋石,魏乐.CDIO理念在JAVA系列课程教学改革中的应用[J].电脑知识与技术,2012(7):4681-4683.endprint