传统的Java Web课程教学中存在着重理论、轻实践的不足,导致培养的学生无法满足用人单位的需求。本文针对信息安全专业的Java Web课程教学提出了一些改进措施:设计贯穿全课程的教学项目、强化信息安全技术在实践项目中的应用以及采用过程化考试平台实施过程化考核。这些改进措施的最终目的是强化培训学生的工程项目实践开发能力,上述措施在教学过程中实施后也取得了一定的效果。希望本文提出的改进措施能为Java Web课程教学的改革提供一些参考思路。
目前,国内大多数高校的计算机相关专业以及相关的职业培训学校都开设了基于Java的Web程序设计系列课程,课程包括从入门的Servlet和JSP到更高级的Java EE程序设计。各IT企业对Web类开发人员的专业素质和技能都有较高要求,这就要求高校培养的学生既有夯实的理论基础,又具有一定的开发经验与实践技能。但是,目前高校培养的学生还不能很好的满足企业的要求。
一、存在的问题
虽然Java Web类课程也在不断的改革,但目前还是存在着不足:一是在传统的课堂教学模式下,教师在课堂上以课件为蓝本说教式的教学,学生被动的接受知识,没有发挥学生的主观能动性,导致学习效果不佳;二是学生光学习了程序设计的基础知识,但缺乏编程能力训练,无法独立设计与开发应用程序,工程能力不强;三是由于教材的滞后性,学生没有学习和掌握目前主流的开发技术,难以达到企业的用人要求;四是一些计算机相关专业(比如:信息安全、物联网等)的Java Web课的学习内容与计算机和软件专业的对应课程的内容完全一样,没有体现出专业之间的差异,学生不知道如何将信息安全的技术在Java Web程序中应用。如果能解决好这个问题,不仅有利于学生掌握Java Web开发的技能,而且能让学生更加深刻的理解信息安全技术的实践与应用。
针对上述问题,结合笔者这几年给信息安全专业讲授Java Web课程总结的一些经验,提出了一些针对信息安全专业的Java Web课程的教学改革探索,希望能找到更符合信息安全专业要求的Java Web课程教学内容、方式和方法,以培养更加符合专业培养目标和社会需求的学生。
二、教学与实践内容改革探索
Java Web程序设计系列课程的基础是Java,所以在课程体系的设置方面要突出Java课程的重要性,加大Java课程的教学量,并且在Java课程的教学内容中要加入JDK中的Java Security包的内容,重点讲解Java Security API的架构与应用,这是在后续的Java Web课程中引入安全内容的基础。课程的教学与实践内容改革主要有以下几个部分。
1.更新Servlet和JSP的最新版本内容。Servlet是Java Web的基础,随着Java EE版本的更新,最新的Servlet版本已经是3.x,而目前大部分教材还在讲授Servlet 2.x版本的内容。新版本的Servlet在前一版本(Servlet 2.5)的基础上提供了若干新特性用于简化Web应用的开发和部署,这些新的特性包括支持异步处理、支持注解以及可插性等。新的版本必将为Java Web开发提供更好的支持与应用,所以我们讲授的内容也必须随着技术的发展而进行更新,否则会导致学生未学到最新的知识和技术,会和用人单位的需求脱节。
2.设计贯穿全课程的教学项目。引入基于项目驱动的教学内容改革是近年来编程类课程改革的主要方式之一,通过实践证明这种方式也具有不错的效果。与其他编程课程的项目驱动教学不同的是,我们的教学项目按照以下几个要求来设计:①教学项目要按照工程项目的完整流程来进行设计。教学项目不再是按章节设计的程序案例,而是一个实际应用项目贯穿到教学的全过程。项目按照软件开发的基本流程,包含了分析、设计、实现、测试和部署等几个环节,这些环节的内容与教学内容的各个章节对应。按照教学章节讲授了编程知识后,应用编程知识开发实现项目的某项功能,随着教学内容的不断深入,围绕项目开发的功能越来越多,也越来越复杂。在教学结束时,教学项目也就形成了一个相对完整并具有实用性的项目。学生在此过程中也了解到了所学的知识是如何应用的。同时,具体的应用项目让学生不再觉得所学的知识是抽象的,也能触发学生的学习兴趣,引导学生主动学习与实践。②教学项目中应用信息安全技术,符合专业培养目标。针对信息安全专业的培养目标,结合信息安全技术在Web系统中的应用,在教学项目的设计中加入信息安全技术的应用,将学生所学的信息安全专业课知识与本课程的编程开发结合起来,体现信息安全专业知识的应用。比如:学生在密码学课程学习了散列算法,知道了用散列算法计算一串数据的散列值,以用于对数据进行完整性校验。在Web系统应用中,还可以用散列算法计算用户密码的散列码,用散列码替换明文密码能在一定程度上增加密码的安全性。其他的信息安全技术比如:防范SQL注入攻击、基于角色的用户权限控制等,都能在Web项目中得到应用。在教学项目中加入这些技术的实现案例有助于信息安全专业学生理解与掌握相关的知识与应用。表1为教学项目中设计的信息安全局技术应用功能。③教学项目中应用主流技术与框架。由于学生是初学者,所以课堂教学讲授的都是基础知识,比如:Java Web开发基本原理、编程语言基础等,缺乏主流的框架技术的学习与应用。虽然在现阶段学生学习框架技术还有一定的难度,但是一定要在教学项目中加入这些框架技术的应用,并且要将框架技术与课本上的知识进行对应,通过理解基础知识来理解框架技术的应用,这样的教学项目才与实际应用项目更类似,更有利于学生掌握实际应用的开发知识与技能。
三、教学方式方法改革探索
传统的课堂教学方式对于编程类课程而言,存在的不足之处是:学生光学习了理论知识,但没有训练到学生的实践能力,所以本课程在教学方式方法的主要改进方向就是要加强学生的设计与开发能力的训练,最终考察学生对本课程的学习情况,使学生能否独立完成Web系统的设计与开发。
1.项目驱动式现场教学。在课堂教学中就要以教学项目为导向,充分发挥项目式教学方法的作用,充分利用多媒体设备组织教学,采用在实验室机房进行项目式现场教学,将学生推到课堂教学的主体位置上,在教师引导下师生一起完成教学项目中相关功能的设计与开发工作,让学生享受到学习的乐趣,分享学习成果,实现教与学的共同推进。
2.分组学习与讨论机制。以8~10为限将学生分组,每组由基础较好的学生或助教担任组长。每2~3次课后布置一个题目交由小组下去完成,完成的方式有查阅资料、讨论、设计与开发等,完成后由小组统一提交,并安排小组人员在课堂上讲述题目的完成情况,包括资料汇总、设计方案、程序演示与解答等。这种分组完成题目、课堂答题的方式有利于学生团队精神的培养,也有利于学生表述能力的培养。
3.利用过程化考试平台实施过程化考核。传统的考核方式是“期中考试+期末考试”,这样的考试时间安排往往使得学生放松平时的学习,而在考试之前进行突击复习。这种方式也不利于教师及时掌握学生的学习状况。采用过程化考核机制就是把对知识点考核分散到教学过程中,每2~3周安排一次考试,考核这段时间学习的知识点,及时把握学生的学习状况。过程化考试以考核学生的实践能力为主,为了更好的实施过程化考核机制,本课程设计开发了过程化考试平台,考试平台为学生提供了模拟开发环境,学生在此环境中构架编程项目、编写、调试、运行程序代码,最终由系统对学生提交的项目文件进行自动化评分,保证评分的公平性和高效性。过程化考试平台的应用,将考试分散到平时教学过程中,让学生掌握每个章节的知识点与对应的编程技术;同时,过程化考试平台提供了一个实践编程环境,直接考查学生编写程序的能力,能有效加强对学生编程能力的培养与考核。
四、结语
设计贯穿全课程的教学实践项目、强化信息安全技术在Java Web系统中的应用和实践、采用过程化考试平台实施过程化考核是本文提出的课程改革方案的主要思路,最终的目的是强化对学生工程项目设计与开发的能力培养,以培养符合社会要求的Web开发工程人员。这些面向信息安全专业的Java Web课程改革方案,有一部分措施在笔者所承担的教学课程中已经实施,加大了对学生实践能力的训练强度,也确实取得了明显的教学效果。当然,这些改进方案不一定是放之四海而皆准的方案,因此希望由此起到抛砖引玉的效果,为大家实施Java Web课程改革提供参考。
作者:索望 林宏刚 来源:教育教学论坛 2015年52期