提高“J2EE程序设计”教学效果的实践

时间:2022-04-13 01:47:06

提高“J2EE程序设计”教学效果的实践

摘要:针对目前“J2EE程序设计”教学的现状和问题,探讨提高该门课程教学效果的方法。从理论教学和实践教学两方面对课程体系优化、教学方法、实验设计与实施、考核方式提出一些建议和措施。实践证明,该教学方法增强了学生的学习兴趣,提高了学生的实践动手能力,达到了改善教学效果的目的。

关键词:J2EE;课程体系;案例驱动;任务驱动

作者简介:何凤英(1979-),女,福建武平人,福州大学数学与计算机科学学院,讲师;钟尚平(1969-),男,福建武平人,福州大学数学与计算机科学学院,副教授。(福建 福州 350002)

基金项目:本文系教育部-sun精品课程科研项目(项目编号:036839)的研究成果。

中图分类号:G642.0 文献标识码:A 文章编号:1007-0079(2013)13-0099-02

目前我国软件产业发展迅速,对J2EE程序员需求量比较大,为了让学生能适应计算机技术的发展和社会需要,福州大学对软件工程专业的学生开设了J2EE程序设计的课程,其目的是培养学生实践动手能力,让学生具备进行企业级软件开发的高级专业技能,增强学生对专业技术工作的适应能力,毕业后能较快胜任相关的软件开发工作。

作为一门高年级专业选修课程,“J2EE程序设计”课程具有很强的应用实践性,笔者结合多年的教学经验,从理论教学和实践教学两方面对该门课程的教学方法进行探讨。

一、教学现状及存在的问题

“J2EE程序设计”主要介绍 J2EE 技术的基本概念,讲解 J2EE 平台下的各种编程技术,包括客户端技术(JavaScript/html)、中间层技术 (Servlet/JSP/JavaBean)、服务器端技术(JDBC、EJB)以及MVC架构、SSH框架(Struts-Hibernate-Spring)等。

目前大部分高校设置该课程时大都采用在教室上理论课和在机房上实验课相结合的教学方式,在课堂上讲授理论知识,然后通过实验课将课堂所学进行实践验证,[1]以此加深学生对基础理论知识的理解与认识,提高观察、思考、分析和解决问题的能力。

但是,初学这门课程的时候,学生产生茫然的感觉,主要是因为J2EE课程理论体系庞大,各种名词、理论概念多且抽象。比如,分布组件技术、计算范型、分层体系结构、[2]框架模式、中间件、应用服务器等,由于学生实际项目开发经验有限,并不能很好地理解这些概念,他们只好死记硬背,应付完考试就忘,造成了理论和实践相“脱节”的现象。此外,现在国内采用的教材只重“点”,不重“面”,缺少完整和详细的案例,忽视了各个知识点之间的关联。很多教材大都以讲解概念为主,然后通过示例代码和运行结果截图告诉学生能够达到什么效果,但这些代码之间缺乏联系或彼此孤立,学生不能将所学知识点融会贯通,缺乏对整个课程体系的整体把握,这样就使得整个学习过程枯燥乏味,无法充分调动和激发学生的学习热情,也不能提高学生的实践动手能力,教学质量[3]也难以得到保证。

二、“J2EE程序设计”课程理论教学

“J2EE程序设计”课程涉及“网页设计”、“Web程序开发”、“Java程序设计”、“数据库系统原理”、“数据结构”等前驱课程,知识点繁杂,但由于学生缺乏实际项目的实战经验,对这些概念的理解只停留在表层,无法从感性认识上升到理性认识的高度。笔者主要从以下几个方面入手,帮助学生提高对理论知识的认知能力。

1.课程体系的优化设计

由于“J2EE程序设计”课程知识点多,但课时又有限,为了更好地实施教学,培养适应行业需求的程序设计人才,根据教学目标重新梳理知识体系,在教学过程中把对J2EE的学习分为四个层次进行。第一个层次是网页制作的学习,利用Dreamweaver工具进行快速的静态网站项目的开发,同时简要介绍 HTML语言、JavaScript客户端脚本技术、CSS层叠样式表。第二个层次是Java程序设计的学习。J2EE的开发是以Java为基础的,因此需要介绍面向对象的三大要素:封装、继承、多态,学生能够利用Java实现面向对象的程序设计。第三个层次是Java Web开发。主要讲授JSP/Servlet、JavaBean、JDBC等技术,学生能够利用MVC的架构思想开发动态网站项目,这部分结合了前面两部分的主要内容,是J2EE体系架构的核心。第四个层次是J2EE的框架技术和项目实战。主要是讲解时下流行的SSH(Struts +Spring +Hibernate)框架设计技术,并结合项目案例把所学课程串联起来,让学生理解每门课程在整个课程体系中的地位和作用。

2.课堂教学中理论和实践相结合

“J2EE程序设计”是一门实践性很强的课程,让学生掌握大型应用系统的开发技能是本课程的目标之一。但如果通过PPT或课本一行行讲解代码或是概念,学生会觉得枯燥且非常难以理解。因此在课堂的理论教学中,可以结合恰当的小示例来讲解各个章节的知识点。[4]先把与本节知识内容相关的示例以及素材文件进行演示,把结果展示给学生,引发学生的学习兴趣,然后对示例进行模块化分析,回顾以前的知识点并引出新的知识点,通过案例的形式直接展示,学生可以理解代码的真实用途,对概念的理解也较为容易,最后结合案例对编程技巧、重点、难点进行总结,以此提高学生解决问题的实际能力。

比如,在讲解JDBC知识点的时候,需要有数据库的查询、修改和删除功能。可以先演示一下代码的运行效果,然后结合相关代码进行讲解,解释为了实现这些功能,代码应该如何写,其作用是什么。对一些关键性的部分可以进行强调说明,比如,在实现修改和删除功能的时候,需要有定位记录的参数,那么应该取什么作为参数,参数又应该是如何传递的,传递参数又有几种方法等。由于学生可以快速看到自己的学习成果,对这些知识点留下了很深刻的印象。

再比如,执行Servlet其URL的格式有三种写法,可以通过web.xml文件的配置来完成,先给学生演示如下的代码片段:

test

moreservlets.HelloServlet

test

/urltest

然后在IE中用http://localhost:8080/servlet/ moreservlets.HelloServlet;http://localhost:8080/servlet/test;http://localhost:8080/urltest三种方法执行HelloServlet.java,让学生明白这三种方法均可得到一样的结果,接着对web.xml文件中各个标签的含义进行解释,学生就很清楚这样配置web.xml文件的理由及其可以产生的作用了。

3.课堂教学中引入案例驱动教学法

“J2EE程序设计”课程需要学生具备一定的软件开发能力,虽然结合知识点的示例教学有助于学生掌握某个技术点,但还是无法将之灵活运用到实际的项目开发中,没有做到真正“学以致用”。笔者在教学过程中采用案例驱动的教学方法,设计了贯彻整个课程教学过程、融合了所有重要知识点的案例——“在线教学网站”。先从软件架构的角度上分析“在线教学网站”的模型框架,并设计出系统的原型,演示一下各个业务模块所要达到的预期效果,让学生对系统有个明确的认识,再分析各个子模块的设计思想。在每个章节相关知识点介绍完之后,就结合该章节的内容分析子模块具体是如何实现编码的,教师边讲边实现该系统,学生边学边完成该系统,这样通过一个完整案例的实现,可以加深学生对项目开发过程中各个阶段衔接的理解,在实践中提高了对理论知识的认知能力,也充分调动和激发了学生的学习兴趣。

三、实践教学

为了更好地结合课堂理论教学和实验教学环节,让学生掌握理论知识并能快速在项目开发中加以运用,本课程的实践教学环节从以下几方面着手,提高学生的动手能力和培养学生的开发创新能力。

1.实践教学内容的设计

课程实验是为配合理论教学而设置的。但目前的实验内容大多属于验证性实训,与真实的企业项目存在很大的差距,学生虽然能掌握一些实践技能,但在真实的岗位情景中却难以应用。因此,根据“J2EE程序设计”所涉及的技术与需要培养的能力,对实践教学内容进行了精心的设计。把课程实验分为三种类型:验证、设计和综合。验证性实验主要是验证某个知识点,巩固和加深对它的理解程度,要求学生掌握某项技术或工具,比如“JSP开发环境的搭建和使用”,主要让学生掌握Tomcat服务器的配置,“学生成绩管理”,主要让学生掌握面向对象的封装、继承概念以及Java的编程语法。设计性实验主要将所学的技术综合运用,完成某个特定的设计任务,比如“利用 JSP实现多人登录的在线聊天”要求学生具备Session对象处理、Web界面编程、过滤器权限控制等技能,“利用Servlet设计购物车实现网上购物系统”要求学生具备JavaBean、数据库连接池等技能。综合性实验则贯彻课程始终,要求学生分成项目小组,选用熟悉的技术平台,综合各种知识点和技能,最终完成一个真实可见的软件产品,比如“博客应用系统”、“留言管理系统”等。

三种类型的课程实验相互配合,既可有效覆盖课程的重难点,又接近项目工程的实际需要,充分调动了学生学习的积极性和主动性。

2.实践教学过程的实施

实践教学过程的实施摒弃传统的“以教师为主导,学生被动学习”的灌输式教学法,而是以“任务驱动”的教学方法为主导,[5]突出学生在学习中的中心地位。教师从实验项目中引出相关任务,通过操作演示及讲解,让学生模拟完成“任务”。例如,在做综合性实验项目时,首先是教师对项目进行需求分析,搞清楚系统的需求,应该实现哪些功能模块,并设计出系统的原型,演示一下各个业务模块所要达到的预期效果,让学生对系统有个明确的认识,然后让学生分组讨论,确定系统所要采用的模型架构、各个功能模块的设计思想、数据库的逻辑设计和物理设计等,并制定任务的开发计划,明确每个学生的分工以及任务的完成时间,在任务完成后进行小组答辩和成果演示。在学生动手碰到问题时,教师要给予指导和帮助,同时记录每个学生在任务完成过程中的表现,最后对小组成果进行总结和评价。这样通过学生主动参与、自己动手、协同合作的教学模式,让学生从被动学习变为主动学习,调动了学习的积极性,而且培养了学生的工程素养和创新意识,也锻炼了团队之间的沟通、协调能力。

3.完善实践课程考核机制

为了能较客观反映学生的实践技能掌握情况,实践课程将根据不同类型的实验项目的评价标准和所占成绩比例确定学生的最终成绩,如表1所示。

表 1 各种实验项目的考核要求及成绩比例

实验类型 所占成绩比例(%) 考核重点

验证性 20 对技术和工具的掌握程度

设计性 20 设计的优劣

综合性 60 项目的完成情况

个人对项目组的贡献

综合性实验项目在实践课程的考核中占有很大的比重,并且该项目的得分除了和学生所负责的模块任务完成情况有关外,还依赖于整个小组的项目完成情况。其中项目的完成情况主要从以下方面进行考核:系统功能、界面设计、设计思想、小组汇报。这种考核方式既强调团队的合作理念,也注重个人能力的贡献,鼓励学生的个性发展。从几年的实践教学经历上看,这种考核方式得到了学生的认可,通过该课程的学习,学生的团队协作能力、动手能力和专业技能方面都得到了提高。

四、结论

“J2EE程序设计”是一门应用性、实践性较强的课程。根据多年对本课程的教学经验,笔者从理论教学和实践教学两方面对如何提高这门课程的教学效果进行了探索。在理论教学中结合案例帮助学生理解这些理论方法,在实践教学中设计恰当的实验项目,帮助学生理论联系实践,进而熟练地掌握软件开发的各项技能。通过本门课程的改革实践,以上方法取得了较好的效果,学生学习的积极性有很较大的提高,项目开发能力有明显的增强,为后续课程的学习以及就业打下了良好基础,今后还需进一步改善和提高教学效果,使得学生更加喜爱这门课程。

参考文献:

[1]艾勇,易世界.提高《J2EE及其应用》教学效果的探索与实践[J].现代计算机,2012,(13):31-32.

[2]张建新,李莹.信息与计算科学专业实践教学探索[J].计算机教育,2011,(24):92-93.

[3]韦纯福.任务驱动模式下高校计算机实验课程的教学改革与实践[J].福建电脑,2012,(3):181-182.

[4]汪璟玢,叶福玲.案例与项目实践结合的“软件工程”教学方法[J].计算机教育,2012,(10):101-102.

[5]袁东锋,杜恒.案例与任务驱动教学法在软件开发课中的实践[J].兰州教育学院学报,2012,(4):129-131.

上一篇:“过程控制装置”理实一体教学探索与实践 下一篇:“道路工程”课程特点及教学方法研究