APP下载

体验项目驱动的Java程序设计课程建设思路

2014-04-29徐静

计算机时代 2014年5期
关键词:Java程序设计项目驱动

摘 要: Java语言凭借其平台无关性、开放性及安全性等特点有着较为广阔的应用前景。通过分析Java程序设计课程在教学中存在的一系列问题,提出了体验项目贯穿的教学方法,阐述了如何进行项目的选择与拆分、Java技术体系和学习地图的搭建、立体化教学资源的构建,以提高课程的教学效果,满足社会需要。

关键词: 项目驱动; Java程序设计; 项目拆分; 学习地图; 立体化教学资源

中图分类号:G642 文献标志码:A 文章编号:1006-8228(2014)05-64-02

Abstract: Having the characteristics of independence, openness and security, the language of Java has shown application prospects. The present situation of "Java program design" course is analyzed. In order to improve teaching effect and meet the needs of community, the method of experience project throughout teaching is proposed. The selection and splitting of the project, establishing Java technology system structure, learning map and building teaching resource are elaborated.

Key words: project driving; Java program design; project split; learning map; three-dimensional teaching resource

0 引言

Java是一种广泛使用的网络编程语言,它具有简单、面向对象、平台无关、安全和并发等特点。Java提供了丰富的类库,程序设计者可以方便地建立自己的系统[1]。Java已经成为编程语言的骄子,越来越多的大学在讲授数据结构、程序设计和算法分析等课程时,选择以Java语言为载体。2009年4月Java的东家Sun公司被甲骨文公司收购,但这并未阻止Java发展的步伐。Java在Web、移动设备以及云计算方面前景依旧非常广阔。随着云计算以及移动领域的扩张,更多的企业考虑将其应用部署在Java平台上,无论是本地主机还是公共云,Java都是目前最合适的选择。Java技术的开放性、安全性和庞大的社会已有资源,以及其跨平台性,即“一次编写,随处运行”的特点,使Java技术成为智能手机软件平台的实施标准。采用Java技术后,编写的应用程序和提供服务的人就不必关心接收其服务的手机采用的是什么操作系统和芯片;同样,生产手机的厂商也不必顾虑将来谁来提供增值服务。

1 Java程序设计教学中存在的问题

Java语言概念多、实践性强、涉及面广,采取的是面向对象的设计思路编程。传统的程序语言教学通常是以知识点的层次递进为体系[2-3]。Java程序设计就是按照Java程序基本结构、标识符、运算符、语句、类、继承、接口、线程、文件、swing、网络编程和数据库等知识点层次以递进方式来展开教学的。在学习每个知识点时,采用的是“理论讲解+程序演示”的模式,即讲解一个知识点,然后演示一个针对相关知识点的例子,所举例题都属于验证型的演示,这种方式有利于学生掌握相关知识点,然而学生并不理解它们的实际应用场景。例如,在讲接口的概念时,教师通常会编写一个关于接口使用的例题,通过例题的讲解与演示,学生基本能掌握接口的定义与使用的语法,但学生并不知道到底为什么要引入接口,因为验证型的例题相对来说比较短,甚至去掉接口直接用抽象类完全可以实现相应功能。学生对于应用场景的困惑,会导致在实际程序的编写过程中不知道什么时候应该用接口。因此,这种纯粹按照Java知识体系推进知识点的学习,缺少主线贯穿的教学方式,暴露出的问题也越来越多:①学生长期处于被动地接受状态,只重视各知识点的理解和掌握,没有应用场景或其他主线来贯穿这些知识点,学习的积极性会大大降低,所学知识点也不成体系,很容易忘记;②学生综合利用所学知识解决实际问题的能力差,满足于知识点的学习和例题的练习上,没有参与到实际项目的开发,无法直接感受所学知识在实际工作中的作用和地位;③考核方式单一,采用单一卷面考核方式,考察重点偏向于了解学生掌握知识的多少,导致教师的教学重点偏向课本的知识点而忽略学生实际动手编程能力的培养。

2 项目驱动在Java程序设计中的应用

2.1 项目的选择与拆解

项目驱动教学法是指在教学过程中,以学生为中心,把一个项目拆解成若干个子项目,然后提炼出各子项目所涉及到的知识点[4-5]。通过项目为主线,把相关知识点串联起来,让学生从体验项目中找到学习的兴趣,明确学习目标,掌握对应知识点的应用场景,提高利用所学知识解决实际问题的能力,转变学生被动接受的角色,做到理论联系实际,学会融会贯通[6]。

项目的选择尤为重要,Java程序设计这门课程主要介绍Java基础,包括:JDK文档的使用、类的设计模式,定制自己需要的类,异常、IO操作、线程、数据集合,Swing、Java2D和常用实用类等。因此所选择的项目不应超出Java基础知识的范围。

让学生体验项目功能的同时,列出实现项目所需的技术,以及所需技术的学习资源,这些资源可分为两类,一类是在学历课程中覆盖,另一类是通过第二课堂获取。 学历课程中覆盖的多少根据教学计划中安排的课时数而定,第二课堂中资源可包括教师录制的一些视频、ppt和切割的项目包等资源,以此来弥补课时的不足,这样可以既有自己的办学特色,又培养了应用型人才,提高学生的就业质量。

在教学过程中,可以通过几个经典类型的项目来贯穿。第一类项目为桌面游戏类,如扫雷游戏,扫雷游戏可以拆分成按难度等级生成界面,英雄榜,背景音乐播放等模块,所涉及到的相关技术包括面向对象设计、Java swing、IO操作和常用类的使用等,可以在相关知识点的学习之后来完成相应模块,随着新知识的学习,不断进行完善,最后形成相对完整的项目。第二类项目为信息管理系统,如学生信息管理系统,这个项目涉及到的技术包括JDBC和Java swing的一些高级组件及事件驱动,如学习了Java swing中的相应组件和布局之后就能完成界面的搭建,学习了事件驱动之后,再将相应组件上加上事件处理。学习JDBC之后,要在项目中加上数据库的相应操作,这样当所有知识点学完之后,学生信息管理项目也基本完成。第三类项目选择如Java QQ之类的项目,这个项目涉及到集合类、多线程、IO流、网络编程等相关知识。动手的过程,同样是按照知识点进行切割,不断填充整个项目。在项目贯穿的过程中,要注意对项目进行按功能模块进行切割,这样不仅便于学生学习各个知识点,而且让学生明白如何运用所学知识编程解决实际问题。

2.2 搭建完整的Java技术体系与学习地图

Java的学习,从Java开发环境开始,到Java语法,再到Java的核心API。主要分为四部分。

⑴ Java开发入门:Java开发环境的安装与使用,包括JDK命令、Eclipse IDE下Java程序开发和部署。

⑵ Java语法基础:基于JDK和Eclipse环境,Java核心功能开发,掌握Java面向对象的语法构成,包括类、抽象类、接口、静态类、匿名类、内部类、异常类的编写。

⑶ Java 核心API:Java核心编程、Java图形编程和Java网络编程。

⑷ Java高级特性包括反射、泛型,以及Java自动装箱和拆箱、枚举类静态导入等高级特性。

在Java的学习过程中,完整的Java技术体系与学习地图的重要性越来越突显,理解Java技术体系与学习地图中的重点、难点,做到有的放矢。一方面,教师将相关技术知识点融入学历教育、第二课堂与在线教育平台中,按学生不同能力层次开设,因材施教;另一方面,学生可以根据自己的能力和兴趣,获取更多的专业知识。

3 构建“立体化”教育资源

由于相关知识点是分别融入到学历教育、第二课堂和在线教育平台中,因此相关资源的开放显得尤为重要,教师应为学生建立相应课程的教学平台,提供“立体化”的教育资源。平台中应包括学历教育中所涉及知识点的大纲、课程ppt、实验案例、实验指导手册及体验项目工程包等,学生可以利用课余时间巩固课堂内的知识及完善课堂中的项目内容。另外对于课堂外的相关教学资源也应适当提供给学生,有能力和兴趣的学生可以充分利用所提供的资源,如一些授课视频及练习经典习题等,获得一些学历外的知识和一些拔高技能,做到因材施教,培养学生的动手编程能力,提高学生的就业机会。

4 结束语

本文针对Java程序设计课程在教学中存在的一系列问题,提出了以项目为主线贯穿知识点进行教学,并把知识点按实际情况分解到课堂教育和第二课堂中。实践证明,这种因材施教的项目贯穿的教学方式,可以提高课堂教学的趣味性,减少学生在学习知识点时的茫然和困惑,提高学生对各知识点的综合能力,进而提高其编程和解决实际问题的能力。

参考文献:

[1] 耿祥义,张跃平.Java程序设计精编教程[M].清华大学出版社,2010.

[2] 冯林,郑薇薇.“任务驱动”与“项目驱动”相结合的创新教育研究[J].

黑龙江教育,2010.4:57-59

[3] 徐静.卓越工程师培养计划下“Java程序设计”课程改革[J].计算机时

代,2013.9:65-66

[4] 张耀明.“项目驱动+案例教学”模式在软件工程教学中的应用[J].中

国职业技术教育,2012.8:57-60

[5] 柯胜男,黄明和,雷刚.基于“项目驱动”的教学研究与探索 [J].计算机

教育,2007.4:25-27

[6] 姜大志,孙浩军.基于CDIO的主动式项目驱动学习方法研究[J].高等

工程教育研究,2012.4:159-164

猜你喜欢

Java程序设计项目驱动
“互联网+”背景下基于翻转课堂教学模式的程序设计课程改革
《Java程序设计》项目化教学改革与实践
项目驱动教学法在机械制造工程学课程教学中的应用
以项目驱动为核心的电子技术综合设计课程教学改革与探索
《Java程序设计》课程网站的设计与实现
Java程序设计基础课实践教学中的分层教学模式研究
基于实训项目的Java程序设计实验教学模式改革与实践
基于工程思维的Java程序设计课程教学研究
依托工作室的软件工程实践教学研究
基于物联网项目驱动的嵌入式系统教学改革的研究与实践