校企结合下的一体化增量式Java项目教学研究
摘要:Java程序设计已经成为应用型本科计算机专业教学的重要组成部分,其教学质量直接关系到毕业生的就业实践能力。经过调查,绝大部分院校在Java程序设计课程的教学方法上,多采用传统教学、按项目驱动教学或按多媒体教学的方式,这些教学方法只是从单一角度去考虑并设计教学过程,而没有综合考虑Java课程的特点、Java课程在教学课程体系中的教学时间、学生的学习规律以及学生多种能力的培养,从而导致教学效果很不理想。本文在综合考虑上述影响因素,及多年的教学经验和工程实践的基础上,提出了一种校企结合下的一体化增量式Java项目教学法,经过教学实践取得了不错的教学效果。
关键词:Java;增量;项目教学法;软件工程
中图分类号:G714 文献标识码:A 文章编号:1007-9599 (2013) 01-0022-03
1 引言
计算机专业是一个应用性很强的专业,企业对计算机人才的需求呈层次化分布的特点[1],对于既有理论又有很好的实践动手能力和创新能力的学生需求强烈,而独立学院人才培养重点是应用型本科人才,恰好满足企业的实际需求。
在计算机专业应用型人才培养课程体系中,Java程序设计占据非常重要的地位。目前Java程序设计的教学现状是:理论课程枯燥、难懂;实验课又不能很好地提高学生应用实践能力。如何让学生在尽量短的时间内提高Java编程水平,使学生有更多时间在本科阶段提高编程能力?笔者认为,Java课程的教学方法将起到了决定性的作用。
一般来说,Java课程的教学方法必须根据Java编程语言的特点和Java课程的教学时间来制定,然而无论是传统的Java语言教学模式还是现在的项目教学法,都没有全面地发挥上述两点在教学中的重要作用。
依托于教育部“卓越工程师教育培养计划”,結合校企合作[2]的培养模式,应用型人才培养应该以社会需求为导向,以独特的教育思想和观念改革为先导,以深化教育教学改革为核心,注重研究与工程实践相结合,达到预期教学效果。基于计算机专业人才培养模式,在Java程序设计课程的教学上,从多角度、深层次分析,注重软件工程的开发思想,提出了一种一体化增量式Java项目教学法,该方法经过教学实践取得了不错的教学效果。
2 影响Java教学方法的因素
2.1 Java语言的特点
Java程序设计语言是一种可以编写跨平台应用软件的面向对象的程序设计语言,具有卓越的通用性、高效性、平台移植性和安全性。其广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。自SunMicrosystems公司于1995年5月推出以来,Java程序设计语言是当今最具代表性的面向对象编程语言之一,也是实际软件项目开发中所使用的主流编程语言之一。在全球云计算和移动互联网产业蓬勃发展的环境下,Java更具备了显著优势和广阔前景。Java语言主要具有以下几个特点:(1)Java语言的语法比较简单,并且Java的基本语法是建立在C语言语法之上,比如数据类型、控制语句、数组和函数等都与C语言基本相同。(2)Java语法中没有指针,与C语言相比,不需要程序员管理内存,程序员不需要担心内存的回收问题,也不需要担心由此引起的程序调试问题,程序员只需要集中实现事务处理的过程。(3)JavaJDKAPI提供了丰富的编程接口,编程人员很容易写出功能丰富、界面绚丽、贴近生活使用的软件。与C语言相比,使用Java语言用更少的时间就可以实现更多的功能,编程效率更高。(4)Java的学习资料非常丰富,由于Java的例子程序更加唾手可得,编程人员可以更容易参考到例子代码或者已经实现的软件源码,从而更容易理解Java学习的用途,树立语言学习的目标。
2.2 Java课程的教学
在应用型本科生的课程体系中,Java课程的教学一般安排在编程基础(如C高级程序设计)之后。也就是说,在学习Java课程之前,学生已经了解甚至掌握除面向对象之外的Java基本语法。所以,在Java课程的教学中应该加以利用学生已有的最基本的程序设计能力。
中山大学南方学院Java课程的教学一般由三部分组成:理论、实验和实训,其中理论和实验课程在同一个学期中完成,Java实训课程在下一个学期完成。笔者查阅了大量的Java程序设计理论、实验和实训相关的参考书,发现几乎所有的教材都没有综合利用Java程序设计理论、实验和实训间的内在关系,所以,间接导致了学生Java编程能力不能得到提高。除此之外,在计算机相关专业后续的课程中都会以Java作为编程基础,例如数据库应用、JSP和Web编程技术等课程。图1简单列出了Java程序设计课程与其它课程的联系,不难发现Java课程在计算机教学中的重要地位。
图3所示的一体化增量式Java项目教学法有三条主线贯穿Java教学始终:(1)第一条主线是图最上面一行的“按软件工程增量开发模式进行项目组织”。分理论学习、实验和实训过程,要求在每一个项目中增量应用一部分高级编程知识的同时掌握一部分Java基本语法。(2)第2条主线是图中间的由浅入深、由简到繁的项目驱动的Java知识教学过程。Java高级编程技术中的GUI编程、网络通信、多线程和数据库编程依次以分项目的方式完成,在每个分项目完成的过程中根据项目需求讲解不同的Java知识点。在项目的实施过程中要求学生主动查API和资料。分项目的选取以贴近学生生活、功能有趣为准,如聊天工具、小游戏等等。此主线与第1条和第3条主线按照学生的学习速度保持同步,既符合了学生学习的规律,又调动了学生的积极性。(3)第3条主线为图中最下面一行,在不同学期要求学生学习不同的知识、锻炼不同的能力。在第2学期,大部分同学都要通过单独完成项目掌握基本的Java编程技术,但由于学生的性格和特质不同,Java知识的掌握程度不同,在第3学期的综合项目中,要求学生分组完成一个大中型项目,每个小组尽量由不同性格不同特长的学生组成,在小组内分担几个不同角色,如项目负责人(项目经理)、数据库开发人员、软件开发人员、测试员等。通过人员分工合作,可以着重锻炼不同特长学生不同的能力。
5 总结
本文在对应用型人才培养探讨的基础上,重点对实践性强的Java程序设计课程进行了详细分析,提出了一种校企合作下的一体化增量式Java项目教学法。该方法已经在中山大学南方学院的Java程序设计课程中采用,经过09级和08级计算机专业两届学生共200多人的实践证明,采用图3所示的基于软件工程的一体化增量式Java项目教学方法能够很好地调动学生的积极性,提高学生学习兴趣并达到了很好的学习效果,培养锻炼不同特长学生的不同能力,尤其是学生能够很好地适应企业需求,达到用人单位的认可。
参考文献:
[1]李晓明,陈平等.关于计算机人才需求的调研报告[J].计算机教育,2004(08):11-18.
[2]李仁璞,邹海林等.基于校企合作的应用型人才培养机制探索[J].计算机教育,2011(20):26-28.
[3]崔亚楠.独立学院Java课程教学“策略”探索[J].中国科技信息,2011(16).
[4]符茜.独立学院大学生发展研究[D].南京航空航天大学,2010.
[5]张哲,陈桂生.在Java语言教学中实施“项目驱动”教学法的实践探索[J].教育与职业,2007(18).
[6]董婷.项目教学法在Java课程教学中的应用[J].科教文汇(下旬刊),2010(01).