刘伟 丁长松
【摘要】“Java EE应用开发”是一门实践性很强的应用开发类课程,通过引入MCLA教学方法,采用教师课堂演示和学生独立实践相结合的教学模式,结合案例驱动式教学方法,以教学案例为目标,将知识点的讲解和学习与教师演示和学生实践环节相融合。实际应用效果表明,在“Java EE应用开发”课程教学中引入MCLA教学方法可以提高学生的学习积极性和实践开发能力,有助于改善教学质量和教学效果。
【关键词】Java EE MCLA 课程改革
【中图分类号】G642 【文献标识码】A 【文章编号】2095-3089(2017)03-0108-02
一、引言
“Java EE应用开发”是计算机科学与技术、软件工程、信息管理与信息系统等专业一门实用性很强的专业课,通常开设在本科高年级阶段,该课程旨在培养学生企业级Java项目的分析、设计和开发能力,课程核心内容包括JSP(Java Server Pages)、Servlet、MVC(Model/View/Controller,模型/视图/控制器)架构和S2SH框架技术(Struts 2, Spring, Hibernate)等,根据学生所具备的知识基础和教学总课时的实际情况,可补充讲授JDBC(Java Database Connectivity,Java数据库连接)、JMS(Java Message Service,Java消息服务)、JavaMail、JNDI(Java Naming and Directory Interface,Java命名和目录结构)等内容。“Java EE应用开发”的前驱课程包括“Java面向对象程序设计”、“Web开发技术”和“数据库设计与开发”,该课程整合学生在低年级阶段所学基础知识,运用Java语言、静态网站开发技术和数据库,结合所学JSP/Servlet等动态网站开发技术和S2SH框架技术设计并实现基于B/S(Browser/Server, 浏览器/服务器)架构的企业级网站,是一门实用性和实践性均非常强的课程。
在“Java EE应用开发”课程教学中,如果采用传统的以知识点讲解为主的教学方法,学生可以理解和掌握一些理论知识,但无法灵活运用这些知识解决实际问题,此外不能有效整合和衔接在多门课程中所学相关知识,在实践操作能力和知识集成能力的培养中存在不足,学生无法胜任日后实际项目开发工作。因此,需要引入有效的教学手段和教学方法来改进“Java EE应用开发”课程的教学,让学生能够理论联系实际,学以致用,合理运用所学知识解决实际问题。为此,我们在教学过程中引入了MCLA(Model Centered Learning Architecture)教学方法,取得了良好的教学效果。
MCLA方法,即以榜样为中心的教学方法,是印度国家信息技术学院(NIIT, National Institute of Information Technology)使用的一种教学方法[1]。MCLA方法的核心在于将学习过程划分为多个小的教学循环,按照提出目标(Object)、知识学习(Knowledge)、教师演示(Demonstration)、独立实践(Practice)、教学总结(Summary)的流程,每个教学循环从一个实际问题入手,由教师扮演榜样的角色,结合相关知识用规范的步骤解决这些小的实际问题,学生不仅可以学习知识,还可以学习分析问题和解决问题的方法,在教师的指导下,学生参照教师的方法和步骤重复问题的解决流程;之后,教师再对学生提出另一个相似的问题,该问题同样来自于实际应用领域,由学生参照教师的方法独立完成这个新的问题。通过采用这种“学习·实践·提高”的过程,一方面学生可以更快速深入地理解和掌握所学内容,另一方面也有助于提升学生独立分析和解决实际问题的能力。MCLA方法独特的教学模式尤为适合应用性和实践性较强的课程的教学,在“Java程序设计”、“Web程序设计”等应用技术类课程的教学过程中得到较为广泛的应用[2-4]。
二、MCLA教学方法的应用实践
1. 与案例驱动式教学方法相结合
为了更好地实施MCLA教学方法,在教学过程中,我们引入了两个来源于真实项目、但根据学生实际开发能力和教学课时进行了适当剪裁的项目。结合学校的医药特色,我们在教学中使用的两个项目案例均与医药行业相关,项目案例简要描述如下:
(1)杏林药房:定位为医药类电子商务网站。主营中西药品、营养保健品、医疗器械等医药类商品,要求实现用户注册、登录、收藏商品、浏览商品、查询商品、购买商品、查看历史订单等功能;需提供后台管理系统,实现对用户信息、商品信息、订单信息、订单明细等数据的查询和管理。
(2)医伯乐:定位为医药类人才招聘网站。包括前端网站和后台管理系统,前端网站的主要用户包括个人和企业,提供个人中心和企业中心,其中个人中心的主要功能包括个人注册、职位查看、职位收藏、职位搜索、投递简历等功能,企业中心主要功能包括企业注册、职位发布、简历审核等功能,后台管理系统负责用户、职位、简历等数据的查询和管理。
在这两个案例中,我们以“杏林药房”作为课堂教学项目,“医伯乐”作为学生独立实践项目。通过结合案例驱动式教学方法,以案例为中心在教师指导下分析、讨论、研究案例,需精心選取适中的案例并进行合理剪裁,一方面避免案例规模过大,增加完成难度,降低学生的学习兴趣,另一方面确保在案例中能够穿插课程相关知识点。为了降低项目的实现难度,案例的需求较为稳定,无需再开展需求分析,由于项目复杂度较小,且有较多可供参考的已有系统,系统设计较为简单,因此学生可以将注意力主要集中在项目功能的实现和测试上,在系统分析与设计上无需花费太多时间和精力,这有助于缩短开发周期、降低实现难度、更好地达到课程教学目标。
2.教学模式的改革和实践
在“Java EE应用开发”课程中,我们全面引入MCLA教学方法,并对该课程的教学模式和教学过程开展了一系列改革和创新。
首先,我们将教学演示项目案例和独立实践案例分解为多个小的功能点(目标),并标注实现每一个功能点所需要的技术,对于部分较为复杂的功能点,需要将其分解为多个实现阶段,每一个阶段对应一个或多个知识点。通过合理分解,可以保证学生每次学习的知识点不至于太多,如果一次讲授的知识点太多将导致学生难以消化和理解,因此在分解时必须把握好分解粒度,避免出现目标太大导致学生无法一次性理解所学知识,以及目标太小导致学生无法结合目标掌握所学知识的情况。
其次,构建一个功能目标和知识点的关联矩阵,以可视化的方式显示每一个功能点与知识点的关联关系,以便合理分布知识点,控制每个目标中知识点的难度和数量,保持均衡。学生通过具体的目标来学习相关知识,并在教师教学实例演示中理解如何在实际项目开发中运用这些知识,学生可以在课堂重复教师的演示实例以检验是否掌握整个流程。
下面以几个具体的小实例说明如何创建教学演示实例和知识点之间的关联。例如,在讲授JSP基本流程时采用学生最熟悉的“登录”功能来进行演示并讲解,先通过一个固定的账号和密码(不需要连接数据库,仅模拟)实现一个基本的“登录”流程,将所有代码均放到JSP页面,在本实例中学生重点学习JSP的基本语法;在接下来的课程中使用“注册”来全面讲解request、response、session等常用的JSP内置对象,在JSP页面中嵌入Scriptlet,同时引入页面跳转等新功能;采用Servlet技术实现“修改个人资料”,并对比JSP实现和Servlet实现的区别;在后续课程中再通过使用数据库实现真正的“登录”,并在实现的同时引入并讲解JDBC技术;在接下来的一次课中结合演示实例“显示药品信息”并逐一对代码进行分解和封装,将数据库连接代码封装到专门的工具类DBUtil类,将数据库操作和访问代码放到DAO(Data Access Object,数据访问对象)中,而JSP只负责数据的输入和输出,采用Servlet作为控制器来建立JSP和JavaBean类之间的联系,深入讲解MVC设计模式的原理和实现。
然后,我们需要针对教学案例中的每一个目标和相关知识点,选取一个对应的独立实践练习,独立实践练习虽然来源于另一个项目,但是所需运用的知识和难度与教学实例基本相同。例如,在“杏林药房”项目中演示“搜索药品”功能的实现,并结合该案例讲解分页显示功能的实现,对应的独立实践项目“医伯乐”也有一个类似的练习,用户输入关键词搜索感兴趣的职位并分页显示搜索结果。通过独立实践,学生可以将所学知识应用到另一个具有真实业务背景的软件项目中,做到触类旁通,学以致用。教师可根据学生独立实践的完成情况进行教学总结,对一些普遍存在的問题加以讲解和说明,并简要介绍下一个教学目标。
最后,在考核环节,我们加大了平时成绩的比重,降低期末考试在综合成绩中的比重。平时成绩的核心部分为学生独立实践的检查和项目的最终答辩,通过一系列独立实践,学生在学习知识的同时循序渐进,逐步完善项目,最后完成整个项目的设计与开发工作。教师在这个过程中可以扮演客户角色,担任项目的验收者,制定较为详细的评分细则,根据功能点的实现难度赋予对应的分值,周期性地跟踪和监督项目的完成情况并模拟最终的项目验收流程,最终根据项目的完成质量给予学生一个科学合理的项目分数,作为课程平时成绩的重要组成部分。
实际应用效果表明,通过将MCLA和教学案例融入“Java EE应用开发”课程教学,绝大部分学生的应用开发能力和实践动手能力都有较大提升,能够更好地理解和掌握所学知识并能够在实际项目开发中合理运用所学知识。
三、结语
在“Java EE应用开发”课程中采用MCLA教学方法,不仅让学生学习到Java EE开发所需知识和技术,同时让学生掌握如何运用这些知识和技术来解决实际问题。教师充当一个示范者和榜样的角色,通过知识和经验的传递极大提高了学生的学习兴趣和学习效率。MCLA教学方法与案例驱动式教学方法的结合,更大程度上让学生及时消化和理解所学知识并掌握如何将所学知识运用到实际项目的开发中,理论与实践紧密结合,有助于提高“Java EE应用开发”课程的教学质量并改善教学效果。
参考文献:
[1] 尹立坤, 宋雪莲. 印度NIIT培训的MCLA方法在教学中的应用[J]. 软件导刊:教育技术, 2008(5):82-83.
[2] 郭克华, 李敏. MCLA教学法在计算机难点知识教学中的应用[J]. 计算机教育, 2009(20):53-56.
[3] 邵斐, 常子楠. 基于MCLA教学法的Java课程教学改革的探索[J]. 赤峰学院学报:自然科学版, 2009, 25(10):195-196.
[4] 胡伟俭. 基于MCLA的“Web程序设计”教学方法研究[J]. 计算机教育, 2009(17):108-109.
课题来源:2016年湖南中医药大学校级教学改革研究课题(项目编号:1022-0001002207)
课程教育研究·上2017年3期