APP下载

CDIO理念在Java Web课程教学中的应用研究*

2018-11-28贾宗维张超群

中国教育信息化 2018年22期
关键词:程序设计编程数据库

贾宗维,张超群

(山西农业大学 信息科学与工程学院,山西 晋中030801)

一、引言

《Java Web程序设计》是计算机科学与技术专业的一门核心课程,通常在高年级开设,其先导课程涉及《数据结构》《数据库》《软件工程》等多门课程,主要针对企业级应用需求,运用Java语言和Web技术开发Web应用程序。该课程相关的理论基础较多,专业技术层次鲜明,综合实践性强,是培养学生程序设计思维能力、编程能力、团队协作能力的一门难度较大的专业课程。通过该课程的学习,学生能够具备运用HTML、CSS、JSP、Servlet、JavaBean、JDBC等层次递进Web技术开发具有MVC或DAO设计模式的Web应用系统的能力,为未来采用不同设计框架的企业级Java EE项目开发奠定基础。

CDIO工程教育模式是近年来国际工程教育改革的最新成果,由麻省理工学院和瑞典皇家工学院等四所大学共同创造[1]。CDIO 代表构思(Conceive)、设计(Design)、实现(Implement)和运作(Operate),它以产品研发到产品运行的生命周期为载体,让学生以主动的、实践的、课程之间有机联系的方式学习工程[2]。基于CDIO教育模式对Java Web程序设计课程进行教学改革,就是以企业项目需求驱动为主线,Web技术递进的知识体系为基础,实践动手能力培养为本位,企业高薪就业为导向,进行一系列的教学内容的设计。

二、Java Web程序设计课程教学现状

《Java Web程序设计》课程的学习是通过理论与实践相结合的方式培养学生具有开发Web程序的能力。大多数院校传统授课过程中多由教师占据主导地位,学生被动学习,极大地制约了学生的主动思考及动手能力,虽然部分教师就此问题进行了诸如项目驱动法[3]、案例法[4]的教学改革,让学生很好地理解知识点,但培养出的学生在工程能力方面大多与企业需求不一致,往往得不到企业的认可。

1.编程能力不足

编程能力是衡量学生对本门课程掌握程度的重要指标,它和教师的教学环节的执行方式有着直接的关系。传统课堂教学,教师大多采用PPT进行“说教”式的教学,实验教学在教师指导下完成简单的验证或设计实验。虽然学生对单个理论知识得到了充分的掌握,但对于企业所需的实际编程能力还是缺乏针对性的锻炼。

2.工程能力缺乏

教师虽然通过项目驱动、案例驱动等教学改革对学生的编程能力进行了一定的锻炼,学生也可以通过编程解决诸如数据库连接、接口、排序等小问题,但大多数学生没有进行过系统全面的企业项目需求训练,缺乏大规模系统开发和团队协作的工程能力。

三、基于CDIO的《Java Web程序设计》教学改革

《Java Web程序设计》课程涵盖技术知识点广且层次逐步递进,各技术知识在企业项目中往往都是综合运用。如何锻炼学生Web技术综合运用的能力、团队协作能力以及工程系统能力,成为本门课程改革的重要目标。

1.技术知识层次递进的教学内容改革

《Java Web程序设计》课程涵盖了网页开发技术、设计框架技术、数据库及服务器技术和集成开发平台技术等。这些技术之间存在先后和相互支撑的关系。笔者所在的教研团队在近年来教学研究的基础上,对课程知识内容进行了重新梳理,设计了各技术知识递进关系图,如图1所示,相应的教学内容也按照此路线图执行。

图1 Java Web技术知识递进路线图

Java Web课程的最终目标就是学生实践编程能力的显著提高,我们在教学内容、教学方法、教学实施等方面,打破传统教学实施中以知识传授为主的授课模式,根据CDIO工程教育理念,以企业项目开发过程为主线,Web技术知识逐层递进培养为基础,综合实践编程能力培养为本位,学生高薪就业为导向,进行了大范围的教学改革。结合执业岗位需求、技术知识前后衔接设置以及软件行业发展趋势,选用企业真实项目为载体,以CDIO理念贯穿实施整个教学环节。

2.企业项目驱动的教学组织形式的改革

CDIO教育理念在《Java Web程序设计》课程中标志性地体现以企业项目驱动为主线,将Java Web课程所涵盖的技术知识、应达到的工程能力、应具备的素质等培养目标融入项目,由此可见项目的选取在课程教学改革中占有极其重要的地位。对项目的难易度、技术知识的涵盖广度均进行了深入的研究和甄选。通过综合评估,我们决定采用“农资公司Web管理系统”作为课程教学项目。它是针对企业开发的综合信息管理系统,包括公司组织管理、OA办公子系统、新闻公告管理、设备资产管理、日志管理等功能模块。

选择“农资公司Web管理系统”项目作为CDIO教育理念教学方法实施驱动项目的原因在于:①项目是从企业实际需求出发,满足了教学内容与社会需求的无缝对接;②项目所需的技术难度适中,能够体现对学生分析问题和解决问题能力提升的目标;③项目可依据Web技术层次分解为若干个简单的子项目,培养学生建立解决复杂科学问题的编程思维;④项目开发采用业界广泛使用的开发框架和集成开发平台,便于学生实习或就业时更快融入企业团队。

四、CDIO教育模式的企业项目驱动、技术递进的教学设计

教学设计过程依据CDIO教育理念,分别在构思、设计、实现和运作四个阶段进行详细设计。CDIO教育模式是以企业项目研发到产品运行的生命周期为载体,让学生以主动的、实践的、技术知识综合运用的方式进行教学实施的学习模式。在Web前端设计、数据库设计、集成框架配置、编写代码、测试维护等工程实践能力方面进行整体设计,逐步提升学生自我学习、团队协作和创新实践的能力[5]。

1.CDIO教育理念教学设计

构思阶段:①学生分组,按照Web技术知识侧重,将学生进行分组并对项目初步分工,指定实践动手能力较高、组织协调能力较强的成员担任组长。②确定课题,组内成员通过讨论分析、查阅资料、教师指导等途径确立阶段项目课题。③需求分析,围绕实际问题和用户需求进行分析,组员共同讨论编制项目需求分析报告书。

设计阶段:①功能设计,遵照软件工程理论方法,组员在教师的指导下,根据项目需求报告,协商分析、不断完善,确立阶段项目的功能框架。②数据库设计,学生通过对Access、MySql、SQLServer等数据库技术的学习,选定阶段项目所采用的后台数据库并进行相应的数据模型构建。③原型设计,通过JSP技术、CSS技术、JQuery UI技术及SSM框架技术的学习,在项目的整体架构、前端页面展现、文字及颜色样式设置等方面进行原型设计。

实现阶段:①数据库设计实现,选用适当的数据库管理平台设计实现阶段项目需求的数据库,包括数据表、索引、关键字、触发器等的创建。②原型实现,利用NotePad、Eclipse等开发工具进行Web系统前端页面的制作,包括首页、导航、模板页的制作,综合运用HTML+DIV/JS+CSS技术对页面文字、颜色的搭配等模板内容进行实现。③代码实现,利用集成开发平台,依据功能设计报告,统一进行开发框架的配置训练,然后按照组内任务分工逐一实现各项功能的代码编制。④测试维护,小组负责人协调各组员将各自开发的子系统统一起来,按照事先设计的接口规范进行整合。

运作阶段:①系统测试,在系统整合上线之前,对系统各部分功能进行测试,通过不断调试优化,直至系统达到预期目标并稳定上线运行。②撰写项目报告,学生根据软件工程的开发规范进行项目报告的编写,并对自我的阶段项目开发过程进行总结分析归纳。③考核评价,教师根据学生平时考勤、任务完成进度、组内互评、项目答辩、期末考核确定学生的课程最终成绩。

表1 Web技术递进阶段项目分解

2.技术递进的阶段项目设计

按照技术递进路线图设计农资公司Web管理系统,阶段项目及递进技术的分解和组合详见表1。

技术递进的阶段项目设计,将课程知识内容按照不同的难易程度进行组合并分散在不同的子项目中,各项目间又相互联系,便于学生更自由地进行拓展训练。各阶段项目实施过程依据CDIO能力培养目标进行详细设计。

3.考核评价设计

CDIO教育理念遵从的评价方式是不同能力应有相应的评价考核方式,我们通过Java Web技术递进阶段子任务进行考核,分别在学生的专业知识能力、编码规范能力、解决问题能力、团队协作能力、创新能力等方面进行考核评价,这种多元化的考核方式更能全面地反映一个学生对这门课程的掌握程度,评价结果更加客观公正。

CDIO教育理念在《Java Web程序设计》课程的成功引入,在技术递进、企业项目驱动的分阶段实施下,学生在分析解决问题、代码编制、团队协作、技术创新等方面都显著提升。学生在整个教学实施的过程中不但拓宽了程序开发的知识面,同时对软件工程、数据结构、数据库原理等方面知识有了更进一步的理解和掌握。通过引入企业项目的“学中做”“做中学”“做学合一”的实践教学方式,避免了技术理论与实际动手脱节现象的发生。学生亲自设计、编码、测试运行,自学能力和自信心得到极大的提升,同时也提高了系统设计思维能力、人际交往能力、协作创新能力。

猜你喜欢

程序设计编程数据库
编程,是一种态度
元征X-431实测:奔驰发动机编程
编程小能手
基于Visual Studio Code的C语言程序设计实践教学探索
纺织机上诞生的编程
从细节入手,谈PLC程序设计技巧
数据库
高职高专院校C语言程序设计教学改革探索
数据库
数据库