贯穿项目在高职Java语言程序设计课程的应用

时间:2022-09-04 07:02:02

贯穿项目在高职Java语言程序设计课程的应用

摘要:在项目教学中,贯穿整个课程的综合项目要优于由多个零散的、彼此无关的小型项目组成的项目集。文章分析高职Java语言程序设计课程的定位和特点,阐述贯穿项目的设计原则,通过一个贯穿项目介绍教学实施环节的特色。

关键词:Java;项目教学法;贯穿项目

项目教学法是建立在建构主义和情景学习理论基础上体现行动导向教育理念的教学方法,是将传授知识为主的传统教学转变为以完成项目、职业体验和解决问题为主的多维互动式的教学[1]。贯穿项目是指能够贯穿整个课程的综合项目,在训练学生的职业岗位综合能力上,教学效果明显优于由多个零散的、彼此无关的小型项目组成的项目集。

Java平台系列课程是我校软件技术专业的核心技能课程,包括Java语言程序设计、JSP程序设计、动态网页设计实训(JSP)、J2EE应用开发(轻量级架构)和J2EE应用开发实训5门课程。由于目前Java技术主要应用在服务器端,后4门课程都能够通过校企合作,把来源于企业的真实项目通过适当简化和改造,作为课程教学的贯穿项目。但Java语言程序设计的教学内容是面向对象程序设计的基本方法和Java技术基础,不足以支撑企业真实项目的开发,只能采用虚拟贯穿项目。

1贯穿项目的设计思路

1.1Java语言程序设计课程的定位

在Java语言程序设计课程之前,学生已经学习过C语言程序设计和VB程序设计,前者使学生掌握了面向过程的程序设计,后者使学生接触到基于对象的程序设计及掌握了可视化编程、事件驱动编程。本课程是学生学习的首门真正面向对象的程序设计课程,也是Java技术路线的首门课程。

本课程的教学目标应该是“道”与“术”并重。所谓的“道”,是指面向对象程序设计的基本思想、基本理论、基本方法,特别是OOP的封装性、继承性、多态性这三大技术特征。这方面的知识与技能具有广泛的可迁移性,对学生持续、长远的发展能发挥重要作用。所谓的“术”,是指具体的Java技术,包括Java开发工具、Java语言基础、Java类库、异常处理、多线程、输入输出流、图形用户界面等。为了均衡各门课程的教学内容,把JDBC安排在后继课程JSP程序设计中,考虑到很少用Java开发基于Socket通信的C/S架构应用,没有把网络编程列入教学内容。

1.2贯穿项目的设计思路要点

对于项目教学法而言,项目的选择与设计是成功与否的关键。贯穿项目应该具有实用性、典型性、覆盖性、综合性、趣味性、挑战性和可行性[2]。对于Java语言程序设计课程而言,贯穿项目的设计还应考虑以下几点:

1) 突出面向对象程序设计的技能训练。

在Java语言程序设计课程中,不能仅着眼于使用字符串类、日期类、各种流类、图形用户界面组件类等现成的类来搭建应用程序,不能像VB程序设计那样止步于基于对象的编程,必须要让学生进入真正面向对象的编程,自己规划、设计、实现类,并综合运用自己设计和类库提供的类来构建应用程序,在项目开发中学习面向对象的封装、继承、多态等技术。

2) 强调支撑后继课程的技能训练,不强调图形用户界面。

很多高职Java教材都没有介绍Java集合框架,但该框架的接口和类在实际项目的开发中却经常用到。如在后继课程JSP程序设计中,实现购物车时就要用到Map或List。而且,Java集合框架体现了“同一接口,不同实现”的思想,是向学生展现面向接口编程思想的上佳范例。因此,在贯穿项目的设计中纳入了Java集合框架的内容,把Map作为数据的存储结构。由于在后继课程中主要开发B/S架构应用,很少用到Java的GUI,而且学生已通过VB程序设计掌握了GUI设计和事件驱动编程方法,因此不把GUI作为重点,甚至允许学生在自选项目中采用字符界面。

3) 体现Java语言的新发展。

Sun公司于2003年的Java SE 5为Java语言引入了不少新特性,使Java语言在语法上有所变化。现在,泛型、增强的循环语句、注解等曾经的新特性已在业界普遍采用。遗憾的是,当前的高职Java教材基本上都依据J2SE 1.3或J2SE 1.4的标准,没有反映Java语言的新变化。在设计贯穿项目时,应该体现Java语言的新发展,在不超出学生能力的情况下尽量采用新技术。

4) 为学生的探究性自主学习预留拓展空间。

贯穿项目没有必要设计得十分完美,只要覆盖了课程主要的知识和技能、体现了典型的编程思想和开发方法即可,有些功能可以留给学生课后完善,让优秀的学生在探究性自主学习中提升自学能力和创新能力。

2贯穿项目的设计

我们设计了“学生信息管理系统”作为贯穿项目。该项目包含5个类:Student类是学生类,它有两个子类:大专学生类CollegeStudent和培训班学生类Trainee。MyUtil类是一个实用工具类,提供了常用操作的静态方法。StudentApp是应用程序类,是一个简单的学生信息管理系统,具有对学生信息的增、删、改、查、全部显示、保存等功能。所有学生的数据在内存中用一个Map对象来组织。当选择“保存”操作时,会把整个Map对象写进文件students.dat中保存。每次运行StudentApp应用程序时,都会从文件students.dat中重新读出上次保存的Map对象。

把整个项目划分为8个项目单元(第2―7单元是主体单元),每个单元都对项目进行功能上的拓展:

1) 项目开发环境的构建,项目开发工具的使用。

相关支撑知识:①Java开发工具的下载、安装与使用;②编写、编译和运行两类Java程序的方法;③虚拟机、字节码及Java的可移植性原理。

项目单元结果:安装配置好的开发环境。

2) 分析和设计项目中涉及的类,创建项目中的第一个类。

相关支撑知识:①从现实世界对象构造信息世界对象的基本思想;②类和对象的概念及其关系;③类的定义格式,类的变量、构造方法、方法;④标识符命名约定规则;⑤Java的数据类型、变量、运算符和表达式、流程控制、方法的参数传递;⑥创建并使用对象;⑦数组;⑧存取控制,this引用,常量成员,静态成员;⑨生成程序说明文档。

项目单元结果:创建了学生类Student以及测试该类的驱动模块。

3) 创建学生类的两个子类。

相关支撑知识:①类之间的继承关系;②子类的构造方法;③变量隐藏和方法覆盖;④父类和子类对象的关系;⑤动态多态机制;⑥抽象类和抽象方法;⑦包的创建和使用。

项目单元结果:创建了CollegeStudent类和Trainee类,以及测试它们的驱动模块。

4) 用交互方式输入学生数据,运用Map来管理学生数据。

相关支撑知识:①利用流进行交互式输入数据;②包装类的使用;③字符串类的使用;④映射表Map的使用。

项目单元结果:一个字符界面的学生信息管理系统。

5) 为项目增加异常处理功能。

相关支撑知识:①异常处理机制;②异常的种类;③try-catch-finally语句;④异常的抛出;⑤自定义异常。

项目单元结果:一个更加健壮的字符界面的学生信息管理系统。

6) 利用文件保存项目中的学生数据。

相关支撑知识:①输入输出流的基本概念;②常用节点流――文件流的使用;③常用过滤流――缓冲流的使用;④常用过滤流――对象流的使用;⑤文件和目录管理。

项目单元结果:学生数据可以永久保存。

7) 为项目设计图形用户界面。

相关支撑知识:①组件、容器、底层容器、布局管理的概念;②利用IDE工具设计图形界面;③事件处理模型;④常用组件的使用及其事件处理。

项目单元结果:一个图形用户界面的学生信息管理系统。

8) 项目的交流、回顾与总结。

这个贯穿项目覆盖了除多线程之外的主要教学内容。

3贯穿项目的实施

在教学过程中,宏观上采用项目拓展法,通过项目的不断拓展来推动课程的进展。在微观课堂教学中,采用任务驱动法,教、学、做一体化,通过任务的解决实现必备知识、技能的学习与训练,在任务解决的过程中实现师生互动,并以学生为主体,教师作为引导者。

本课程的贯穿项目教学法有三个特色:

1) 让学生在基本编程技能上人人过关。对于较为复杂的综合实践项目,在项目实施时采用小组合作的方式;而对于培养学生关键职业能力和专业方法能力的教学项目,学生必须一一过关和掌握,在教师的指导下独立实施和完成[1]。本课程的贯穿项目在一个学期内开发完成的工作量不算很大,而且是培养学生的关键职业能力,因此由学生独立完成。

2) 采用贯穿项目双线并行,即同步地开发两个贯穿项目。在课堂上完成的“学生信息管理系统”作为示例项目,同时要求学生作为课程设计同步开发一个自选题材的简单信息管理系统,要求具备增、删、改、查功能,在内存中用Map组织数据,在外存中用文件保存数据。用Map和文件来组织保存数据有一个意想不到的效果:由于网上能找到的Java应用系统基本上都用数据库来组织保存数据,学生无法下载现成的系统来应付,只能自己模仿示例项目完成课程设计。

3) 在项目教学中渗透职业素质的培养。理论实践一体化设计,能聚焦知识,突出能力训练,渗透态度情感、职业素养、方法能力、社会能力等的培养[3]。学生在完成项目的过程中实践职业行为、自我建构职业能力,有利于渗透职业素质的培养,教师也应该在这方面进行专门的教学设计。在本课程的项目教学中,着重从使用合法来源软件、遵循源程序代码规范、尽责地进行异常处理、注重资源整理与共享、使用帮助文档与网络资源自主学习这几个方面来培养学生的职业素质。

4结语

在2007级和2008级开展的教学改革实践表明,基于贯穿项目的项目教学法能显著地提高Java语言程序设计课程的教学效果,学生的学习兴趣、编程熟练程度、程序调试能力都有明显提高,从而降低了后继课程的教学和学习难度,提高了Java平台系列课程的整体教学质量。

参考文献:

[1] 陈旭辉,张荣胜. 项目教学的项目开发、教学设计及其应用[J]. 中国职业技术教育,2009(8):59-61.

[2] 戴士弘. 职业教育课程教学改革[M]. 北京:清华大学出版社,2007:40.

[3] 毕蓉. 高职项目课程教学设计过程模式的构建[J]. 职业技术教育,2010(17):26-29.

Application of Through-course Projects in the Higher Vocational Course of Java Programming

ZHU Dongling

(School of Information and Automobile Engineering, Guangzhou City Polytechnic, Guangzhou 510405, China)

Abstract: In project teaching, a synthesized through-course project is better than a project set composed of scattered, irrelevant small projects. This paper analyzes the orientation and features of the higher vocational course of Java Programming, expounds the design principles of through-course projects, gives the design of a through-course project and introduces the features of the implementation of project teaching.

Key words: Java; project teaching method; through-course project

上一篇:引导信息安全专业学生自主研学的有效案例 下一篇:面向本科就业市场的计算机专业实习模式