张羽佳
山东外贸职业学院信息管理系 山东青岛 266071
Java语言是当今最为流行的软件开发语言之一,Java程序设计也已经成为高职院校软件专业核心课程,该课程具有较强的实用性,主要涵盖Java的基本语法、面向对象的编程技术、常用系统类的使用、图形用户界面设计、异常处理等知识,与后面将要学习的Jsp开发技术、JavaBean与Servlet技术及Java高级编程框架共同构成Java课程体系群,培养的人才直接对应软件公司中软件开发人员、软件测试人员等职位。但是通过对毕业生进行跟踪调查,对其就业情况进行调研分析,发现学校的人才培养与企业的人才需求差距较大。由于没有项目开发经验,应届毕业生的实际操作能力普遍不能满足企业需要。因此亟需对Java课程进行教学改革,采取一种更为行之有效的,以学生为主体、以教师为主导、以项目为载体的教学模式。
作为一门面向对象语言,Java具有抽象、继承、封装、多态等特征,而之前的先导课程“C语言程序设计”中采用的是面向过程的程序设计思想。学生的结构化设计思路已经根深蒂固,对于Java语言中的许多语法和机制感觉难以理解。因而为树立学生面向对象程序设计的思想,掌握Java技术精髓,一改以往“以教师为主,以学生为辅”的知识点讲授的教学模式,而是采用一种全新的以学生自主学习为主导、以教师引导为辅助的项目驱动式互动教学模式,通过项目分析、项目设计、项目调试与完善等一系列开发工作,增加学生解决问题后的成就感,调动学生学习的积极性,提升学生的自主学习能力和问题解决能力。
由于此阶段的学生还没有学习Java Web开发技术,所以选取采用面向对象编程技术开发的图形用户界面的桌面系统作为驱动项目。项目的选取从生产性、相关性、发展性、实施性这四方面出发。
1)生产性是指依据企业发展需要和Java程序员岗位群的工作任务所需的知识、能力、素质要求选取项目,以企业真实项目为载体。
2)相关性是指尽量选取与学生学习、生活相关的项目,学生易于理解项目需求,也更容易激发出学习的兴趣。
3)发展性是指依据当前主流技术和今后发展趋势,为后续课程和学生的持续发展服务,易于扩展成为后续课程中的驱动项目。
4)实施性是指教学活动易于展开,可实施性强。项目规模要适当,要根据课程时间来选取项目。项目不能太大,太大了做不完;也不能太小,太小了没有意义,达不到练习的目的。
本着以上四项原则,选取与学生息息相关的“学生成绩管理系统”作为教师教学项目,选取比较符合社会实际需要的“企业供销存管理系统”作为学生操练项目。
在教学过程中,通过对“学生成绩管理系统”的分析、讲解,将课程大纲中涉及的所有知识点连贯起来,有助于学生对整个理论体系的理解和掌握。在操练实践中,“企业供销存管理系统”与教学项目在基本模块和功能的实现上比较相似。因此,学生可以模仿课堂上介绍的内容去实现,这样就能避免“碰到实际项目无从下手”的缺陷。另外,这两个项目又存在一定的差异,不失创新能力、综合运用知识能力、探讨问题与分析问题能力的培养,因此能够有效地将理论与实践结合起来。
在教学过程中,将“学生成绩管理系统”分解成三个层次,从“结构化的学生成绩管理系统”到“面向对象的学生成绩管理系统”再到“具备用户图形界面的学生成绩管理系统”,循序渐进,不断改进完善项目,将知识点的讲解逐步融入到项目中,学生在理解知识的同时也能积累编程经验,夯实Java基础。
第一个层次:在课程初期,学生还没有学习过面向对象思想的情况下,教师先带领学生做一个结构化的项目,利用类似C语言中面向过程的设计思路,组织学生开发出能够在控制台运行和使用的“学生成绩管理系统”。这一过程重点是使学生温故而知新,在回顾之前所学习过的程序结构、流程控制和函数调用等知识的同时了解Java语言的特点;熟悉Java程序的基本结构;学会搭建Java程序的运行环境;并且掌握Java语言中的数据类型、运算符和表达式及流程控制语句的格式、执行过程等知识。
第二个层次:对之前完成的项目进行分析,找到用数组表示学生信息的不足之处,从而引出类的概念以及抽象、继承、封装、多态等类的特性,带领学生逐步完成采用面向对象方法设计的“学生成绩管理系统”,这样就使学生了解面向对象的基本概念,熟悉类的特性;掌握类和对象的定义;掌握成员的访问权限;掌握类的组织方法;熟悉类的继承机制;掌握抽象类和接口的使用;等等。这一阶段是本课程的重点,占用大量课时,使用多种案例,注意循序渐进,且不可操之过急,使学生逐渐完成从面向过程设计思想到面向对象设计思想的转变。
第三个层次:带领学生分析“学生成绩管理系统”的不足之处,如只能在控制台运行,数据不能永久存储,每次运行程序都需要重新输入学生信息等问题,从界面、数据持久化等方面再次提出改进意见,引入图形界面、数据库操作等概念,带领学生逐步完成图形界面化的“学生成绩管理系统”。这样就使学生了解AWT/Swing的基本概念;掌握各种常用Java图形组件的功能及使用方法;掌握布局管理器的应用;掌握数据库的连接方法与连接步骤;掌握数据库的查询、插入、更新和删除方法。
学生的操练项目“企业供销存管理系统”与“学生成绩管理系统”类似,也分为结构化的设计、面向对象的设计和图形界面的设计三个阶段,所需知识与“学生成绩管理系统”中所用到的知识点基本相符,学生操练“企业供销存管理系统”的过程是对知识点理解、运用乃至提升的过程。
整个Java课程的教学实施过程分为三个阶段:模拟阶段、实战阶段、总结提高阶段。
教师针对教学项目“学生成绩管理系统”进行需求分析,概要设计,带领学生共同完成数据库设计、用户界面风格设计及具体的代码实现。边完成项目边讲解所需的知识,通过“教师做,学生模拟”,使学生在完成“学生成绩管理系统”的同时,实现从概念的理解到实际编程能力的转变。
针对操练项目“企业供销存管理系统”,在学生已经具备一定开发能力的条件下,由学生独立自主完成项目开发。在此阶段,教师的作用主要是个别答疑、开发过程的行为监控,以及对共性问题进行总结归纳。这时教师的角色是学生学习的促进者、组织者和指导者,学生则在教师的帮助下进行主动性的思考、探索与实践,充分体现学生在教学活动中的主体性。学生通过实战演习过程,能牢固地掌握相关的技术。
此阶段学生需要提供的资料包括开发程序和相关技术文档。一般做法是:学生自述并演示自己的作品→教师提问,学生进行答辩→教师点评指导。整个验收点评活动就像一次头脑风暴,每个学生个体的思维智慧都能为全体学生所共享,从而提高了所有学生的项目开发综合技能。在教师的启发下,学生再对自己所做的“企业供销存管理系统”进行改进、调试,形成一个比较完善的项目,增加学生在项目开发中的乐趣和成就感。最后回归课堂,教师再次对项目中用到的知识进行综合总结,该阶段是学生对所学理论与技能的一个总结提高的过程。
通过对两个项目的设计与实现,学生大大提高了学习兴趣,提升了自主学习能力和践行能力,懂得怎样灵活运用所学知识解决实际问题。经过对11级软件班学生的教学实践,项目驱动教学方式取得了很好的教学效果,学生的开发能力有了很大的提高,为将来走上工作岗位打下坚实基础。
[1]李桂玲.Java程序设计教程(项目式)[M].北京:人民邮电出版社,2011:9.
[2]史学梅,孟祥瑞.JAVA课程教学改革探索[J].系统信息工程,2011(1):98-100.
[3]张少龙,杨韶华.高职Java课程改革中“三个如何”问题的思考与实践[J].计算机教育,2009(5):72-73.