学者谷

位置:首页 > 个人范文 > 职业

软件工程专业Java语言教学改革的论文

职业6.19K

1前言

软件工程专业Java语言教学改革的论文

软件工程专业是一门实用性强、与企业紧密关联的专业,其教学质量决定了所培养学生的专业素养和软件从业能力,因此,大量的教学人员从各个方面对软件工程教学进行改革探讨。文献[1]提出以企业需求为导向的Java课程教学改革,着眼于提高学生实践能力;文献[2-3]提出基于教学团队增强系列课程的教学效果;文献[4]提出软件工程专业实践教学改革,提高学生的实践能力;文献[5]提出软件工程教学改革与学生能力评估的探讨,更客观地反映教学效果。在软件工程专业中,Java相关课程构成一组系列课程。这些课程之间相互关联,前修课程的教学效果直接影响后续课程的教学质量。因此,系列课程的教学计划、教学大纲、教学团队等元素要整体规划、统一安排,将多门课程的教学方案做成一个整体,使得各课程之间能够紧密衔接、阶段项目之间合理进阶,最终改善Java系列课程的整体教学效果。

2教学中的问题

课程之间衔接不够紧密,课程安排不合理传统Java系列课程在安排上存在如下问题。

1)课程安排不够紧密。在这些课程之间还要穿插DoNet课程,如C#语言程序设计、程序设计等,因此,学生在学习一段时间的Java课程后,又需要进行一段时间DoNet课程的学习,使得之前学习的Java知识容易被遗忘,教学效果差。

2)课程安排不合理。如JavaWeb程序设计与XML与Web应用这两门课程的讲解内容都是Web开发,可以合并为一门课程,而Java框架技术则是一门重要的企业级开发课程,没有配置足够的课时来保证课程的教学质量。教师之间缺乏交流,教学内容衔接不够Java系列课程较多,参与教学的教师较多,教师之间没有进行频繁有效的交流,这不仅使得教师之间难以形成良好的团队教学氛围,而且影响了教学效果。

1)教学内容衔接不够顺畅。不同课程的教师往往按照自己的理解进行课程的讲解,没有考虑到该课程的教学如何为后续课程的学习打下坚实基础。

2)教学案例进阶不够。不同教师的教学案例设计只考虑到本课程的教学需要,没有考虑本课程在整个系列课程中的位置,使得不同课程的教学案例之间几乎不存在继承性和延续性,导致整体教学难以有效地进阶,无法将学生的能力提升到一个新的高度。实践环节不够深入,难以提升学生的动手实践能力实践环节是保障学生动手能力的重要环节,安排适合每门课程的阶段项目是非常必要的。目前的教学没有考虑不同课程的实践重点,只注重完成相似功能的项目,难以深入全面地改善学生的实践能力。

3教学改革措施

修订教学计划针对传统Java教学中课程之间衔接不够紧密,课程安排不合理的问题,对教学计划进行修订,主要内容如下。

1)基础知识部分。该部分的课程为Java程序设计,课程主要讲解Java语言的基础,设定课时为64课时,开设时间为第一学年第二学期。

2)高级开发部分。本部分的课程将JavaWeb程序开发与XML与Web应用合并为Java高级编程,教学内容主要是结合Web开发技术讲解抽象的组件开发技术,如表单封装、数据库模板、数据库连接池、分页等常用组件的编写。本环节安排的课时为80课时,开设时间为第二学年第一学期。

3)企业级开发部分。企业开发部分的课程为Java框架技术(40学时)和Java框架技术实践(32学时),开设时间为第二学年的第二学期。通过这一系列的教学计划修订,在没有总体增加课时的基础上达到对Java系列课程教学方案的优化,使得Java系列课程能够尽早、连续地开出,而且每门主要课程的学习课时得到显著增加,有力地保证教学质量的提升。基于教学团队开发教学内容参与Java系列课程教学的教师自动组建教学团队,按照团队制订的教学大纲进行教学是保证Java系列课程深入有效开展的重要因素。因此,制订符合每个阶段课程的教学大纲是非常重要的。具体来说,每个阶段的教学内容和教学案例如下所示。

1)Java程序设计阶段:本阶段的知识点涉及较多,主要是Java基本编程思想以及为后续课程准备的知识点,如多线程、反射、设计模式等,主要内容如下所示。

①类与对象:掌握必要的抽象思维,学会类的编写和对象的使用;掌握类的继承与多态,学会使用多态进行程序设计。相应的案例是利用多态对不同的形状对象计算面积。

②集合类:掌握常用的集合类及相关的数据结构,理解集合框架的结构及集合内存动态增长原理,理解迭代模式。案例是编程模拟实现ArrayList类。

③输入输出:掌握字符、字节的输入输出,理解装饰者模式。案例是编程将学生对象输出到外部文件。

④多线程:多线程的创建、并发控制等。案例是利用多线程模拟多用户取钱业务。

⑤反射机制:掌握利用反射创建对象、反射调用对象方法。案例是将文件中的学生信息自动封装为学生对象。

⑥设计模式:模板模式和动态代理模式。案例是利用动态代理模式实现中介卖票程序。

2)Java高级编程阶段。本阶段利用第一阶段的学习内容开展深入的学习,以Web开发为基础讲解重要组件的编程实现,如利用反射、模板模式和动态代理模式实现表单封装组件、JDBCTemplate组件、分页组件等,主要内容如下所示。

①DHTML:掌握HTML标签、CSS、Javascript语法,特别是Javascript面向对象的特征。案例是制作网上商城主页。

②Web服务器:介绍Web服务器Tomcat,并使用网络编程的方法模拟服务器的响应。

③数据库访问技术:掌握利用JDBCAPI进行数据库操作,结合模板模式来重构数据访问的代码。案例是利用模板模式、反射机制等实现JDBCTemplate组件;结合动态代理模式实现数据库连接池组件,并利用多线程测试多用户环境下程序的性能。

④Web开发技术:掌握Servlet的开发方法,掌握客户端参数的传递和获取。案例是结合反射机制实现表单自动封装组件。

⑤标签技术:掌握JavaBean、EL表达式和标准标签,掌握数据显示的方法。案例是使用反射和JavaBean实现分页组件。

3)Java框架技术阶段。本阶段主要讲解Struts、Spring和Hibernate三个框架的使用,其创新点在于通过利用Java高级编程阶段编写的组件来对框架主要功能进行模拟实现,主要内容如下。

①Struts框架:掌握Struts的基本使用方法,理解Struts的工作流程,掌握Struts标签、国际化、输入验证等。案例是利用表单封装组件、反射机制、多态、XML等技术实现Struts框架功能。

②Hibernate框架:掌握Hibernate主要功能,特别是对象—关系映射ORM功能、缓存、HQL查询、数据库锁、继承、关联等。案例是利用JDBCTemplate组件和XML解析实现Hibernate的功能;利用CGLib动态代理模式模拟实现Hibernate的延迟加载(Lazy)功能。

③Spring框架:掌握Spring的主要功能,包括控制反转IoC、面向切面编程AOP等。案例是利用AOP实现系统日志管理、数据库事务管理。

④框架整合:将Struts、Spring、Hibernate框架进行整合,并利用团队开发环境进行项目开发。从这个教学大纲的设计来看,基于团队开发的教学大纲在内容上是无缝衔接的,将Java系列的主要课程整合为一个整体,有利于快速进阶,改善学生的知识结构,提高学生的编程素质,达到企业用人需求。阶段项目的设计对于每门课程,设计合适的、递进的阶段项目,对于深入掌握相关知识点,强化学生的动手能力是至关重要的。

1)Java程序设计阶段。本阶段课程主要涉及Java语言的编程基础,综合掌握相应的知识点对于理解Java编程思想、后续Java课程的学习有重要的作用。这一阶段知识点众多,而且受知识结构的限制,难以实施大规模的项目,为此,考虑将这些零碎的知识点结合起来,形成一个有实际意义的游戏项目——《飞机大战》。通过游戏的开发,学生可以在界面上看到程序中对象的状态,直观地了解程序运行的过程;而且通过游戏开发,可以提高学生的程序设计兴趣;更重要的是,游戏集合了众多知识点,这为学生深入掌握和应用这些知识点提供了一个良好的平台。

2)Java高级编程阶段。本阶段主要进行可复用Java组件的开发,因此,项目的设计与考查侧重于Java组件的实践。这一阶段的项目是《网上商城》,该项目的背景清楚,学生大都具有使用网上商城的经历,这能够直观地帮助学生了解项目的需求背景。将Web组件开发技术应用至《网上商城》的开发,不仅可以使学生深入地掌握Java编程思想,而且可以大大加快软件项目的开发。项目在考查时不仅需要查看项目的外观、功能等因素,还需要了解学生在实践中是否设计、开发并应用了Java组件,这对于提高学生的抽象思维能力以及动手实践能力具有重要的意义。

3)Java框架技术阶段。本阶段主要是框架技术的使用,需要设计大型的企业级开发项目,并利用Java框架技术实践课程来保证项目的实施质量。本阶段的项目为《企业固定资产管理》,通过提供项目需求,使学生掌握软件需求分析的步骤和方法,提高学生的系统分析能力和实践能力。通过第二、三阶段课程的学习,学生能够深入理解框架的原理,而通过第三阶段项目的开发,则能使学生熟练掌握软件开发的步骤与方法、框架技术的使用,从而达到企业的用人需求。

4结束语

本文针对Java语言系列课程在教学过程中出现的问题,提出一系列的优化方案。通过优化已有课程,使Java系列课程能够尽早、连续地开出;通过建设Java教学团队,设计了符合Java系列课程特点的教学大纲,使得Java系列课程的知识点形成一个渐进的整体;通过阶段项目的设计,使得学生能够在不同的阶段开发侧重点不同的项目,显著提高学生的动手实践能力。通过这一系列的改革措施,学生在学完Java系列课程后对Java语言、数据库技术、设计模式、框架技术具有更好的综合应用能力,对于提高学生的综合素质有明显的改善作用。