李宏利++聂艳明++鱼晓
摘 要:从提高“Java语言程序设计”课程教学质量、提高学生编程能力的角度出发,分析了“Java语言程序设计”教学中存在的问题,从理论教学与实践教学结合、案例教学与理论教学相结合等方面入手,分析了理论教学内容及实践教学的方式问题,并对“Java语言程序设计”教学方法进行了探讨。
关键词: Java语言程序设计;教学改革方法;策略
中图分类号:G642.0 文献标识码:A 文章编号:1002-4107(2017)04-0017-02
随着我国经济社会的发展,软件行业已成为我国经济的重要组成部分,软件业的发展在一定程度上反映着信息化的程度。Java语言是软件开发中常用的基础性编程语言,是目前世界上最流行的编程语言之一,是一种可以编写跨平台应用软件的面向对象的程序设计语言,获得2015年的TIOBE指数的编程语言奖。它具有现代语言的常见特性,成为最具前途的编程语言之一。Java工程师的需求达到全部需求量的60%—70%,就业前景非常好,因为Java软件工程师不仅IT专业企业需要,广大的非IT企业也需要。因此,高等院校计算机软件及相关专业都开设了“Java语言程序设计”课程,该课程成为计算机软件及相关专业的必修课程。
教学改革就是要满足学生的学习要求,要坚持以学生学会学习为核心[1],而“Java语言程序设计”教学改革,不但要满足学生的学习要求,让学生掌握学习方法,更
要满足企业对软件人才的需求。本文基于上述观点,从课程本身的特点及它在教学中存在的问题出发,在教学内容组织、教学方法、实验教学等方面做出了进一步的探讨,以期提高教学质量,使学生具备良好的Java语言编程基础,为学生较好掌握后续课程如“JavaEE技术”等所需要的基本技能奠定基础,为学生就业铺平道路,为“Java语言程序设计”课程建设及教学改革提供思路及建议。
一、“Java语言程序设计”在软件类课程中的
意义
(一)强化学生对软件类基础课程的认识
“Java语言”中的许多知识点,如排序、HashSet、
HashMap、Thread及Java网络编程,是数据结构、操作系统及计算机网络等课程知识点的应用。通过对“Java语言”的学习,学生可以强化对这些知识的认识。
(二)加强学生对面向对象概念的认识
Java语言中的面向对象的定义,思路清晰,在实例化对象方面,有栈内存与堆内存之分,清楚且形象地描述了对象的实例化,使得抽象的概念形象化,易于学生掌握。
二、“Java语言程序设计”教学现状
(一)教学目标不清晰
“Java语言程序设计”课程是软件工程专业及相关专业的一门专业课。学生学习本课程后要熟练掌握Java语言的基本概念,为后续课程夯实基础。但是目前大部分Java语言课程的教学目标不是很清晰,教学没有针对性,没有明确服务对象(指后续课程),教学方式上与学生入学时学习的基础语言(如:“C语言程序设计”)没有区别,其结果是教学模式单一化,学生学习兴趣不高,学习效果差,很大程度上影响了后续课程的学习。
“Java语言程序设计”虽然也是语言基础课,但教学目标要有明确的针对性,即它是为后续课程服务的,因
此,它在课程内容设置上与其他专业基础课有明显的区别。
(二)教学内容与目标不一致
目前Java语言教学内容一般是Java的基本概念、Java的面向对象、Java的继承、Java中的线程、Java的输入输出流、socket编程、Jdbc等。教师在教学过程中,基本上讲解的知识都是简单的入门知识,很少与实际项目结合或与后续课程“JavaEE技术”相结合开展教学,“JavaEE技术”所涉及的Java的反射、Java中线程池、Java动态代理及Java中开源组件的用法等,教学中一般都不涉及,其结果是加大了学生学习后续课程的难度。教学内容与教学目标相去甚远。把Java语言教学内容同后续课程教学分割开了,自成体系,没有把Java语言教学融入整个教学体系中,没有全局教学观念,因此,需要改革教学方法,系统地提高教学质量,而不单是提高某一门课程的教学质量。
(三)教师队伍参差不齐
“Java语言程序设计”要求教师要有Java项目开发经验,或者具有后续课程(如:JavaEE技术等)的教学经验,但是,部分教师不具备开发经验或教学经验,影响了教学效果。
三、Java语言程序设计教学改革策略
(一)修订教学目标与教学大纲
教学大纲是为了实现教学目标而设置的纲领性文件,二者相辅相成。根据软件工程相关专业培养目标, Java語言教学目标,就是要求学生在掌握好Java语言基础知识后,还必须掌握后续课程所要求掌握的基础知识。教师要把Java语言教学和项目开发结合起来,明确Java语言教学不是“启蒙”教学,学生在学习Java语言时已有一定的语言基础。
制定或修订教学大纲时,也要充分考虑本课程在整个课程体系中的作用,大纲既可以指导本课程的教学,
也可以满足后续课程的要求。
(二)强化教学重点,简化教学内容
在教学方法上,采用“精讲多练”的模式,把重点放在Java语言本身所具有的特性上,对于与其他语言相似的知识点,少讲甚至不讲,这部分内容要求学生以自由学习的方式完成,教师可以提出有关这些知识点的常见问题,学生带着教师的问题完成学习任务。对于Java的面向对象、继承、传统线程,Java的输入输出流,Socket编程,Jdbc等知识点,教师可以“精讲”,要求学生“多练”。这部分内容重在基础,难度不宜过大,否则会影响学生的学习积极性。对于Java中的反射与动态代理,教师可以提供电子文档,要求学生课前预习,教师可通过课堂检查督促学生预习,教师在课堂上可以检查预习情况,并回答学生遇到的问题。对于泛型的讲解,可以引入Java EE中用到泛型的案例开展教学,这既可以让学生了解泛型的重要性,又让学生掌握了泛型的用法。对于Timer类、TimerTask类的讲解,可以一个趣味性较强的案例进行讲解,同时布置一道难度适中的习题,要求学生课后完成,从而使他们掌握Timer类、TimerTask类的用法。线程池的概念与Executors是Java中的很重要的知识点,在很多项目中都用到线程池,因此,线程池的概念与Executors的用法是重点讲解的内容。教师可以在课堂上重点讲解其用法,引入综合案例如在线考试系
统,让学生掌握线程池的用法,了解其重要性;Jdbc是
Java语言的又一重要概念,在其基本用法的基础上,可以结合Spring、Hibernate等来讲解,使学生了解Java的
持久化技术。对于常用开源组件,可以通过教师课堂讲解,学生课后实习的方式完成本部分的教学任务。
(三)精选教材
“Java语言程序设计”教学过程中,教材的选取是教学的一个重要环节。首先,“Java语言程序设计”的教材很多,但包含高级程序设计部分内容的教材就凤毛麟角了。其次,市场上大部分教材都把侧重点放在基本概念上,关于知识点的应用的内容则较少甚至没有。因此,编写一本适合本校本课程教学大纲的教材很有必要。
(四)加强实践教学环节
“Java语言程序设计”课程中的实习教学环节是一种提高学生开发项目能力及提升学生综合素质的有效教学形式,这门课程固有的特点决定了它必须和实习结合起来,才能有效开展教学工作,提高教学质量。实习环节中要体现以学生为主体、以教师为主导的教育理念,高度重视实习这种实践性教学环节,通过实践培养和提高学生的编写程序的能力。在实习过程中,教师要充分发挥自身的主导作用,要正确引导学生完成好各项实习任务,不能只看实习结果不重视实习过程。实习环节分为基础性实习与综合性实习。
首先,对于基础性实习,要激发学生的学习兴趣。课程理论的讲解紧扣实习内容,把实习课上学生出现的问题与理论课结合起来,即实现了课堂上纠错,又实现了理论知识的讲解。传统实习教学方式是以教师为主,学生为辅,教师主动讲解,学生被动操作。这种方式存在两个问题,第一,学生学习兴趣不高;第二,不能发挥学生的积极能动性,很难达到实习教学的目的,因此必须进行改革。具体做法是在实习过程中引入Java项目或JavaEE项目,指导学生设计与案例项目相似的简单项目,使学生掌握Java语言中各知识点在项目中的作用,使学生不但做到从“点”上理解各知识点,而且做到从“面”上理解各知识点,从而做到点面结合。
其次,对于综合性实习,可以通过课程设计教学方式实现。在“Java语言程序设计”课程结课后的第二个学期,开设“Java语言程序设计”课程设计,通过综合性强的项目的设计与实现,提高学生编写程序的能力。
要提高教学质量,就要突破普遍存在的“重理论、轻实践”的现象[2],让学生了解Java项目开发过程,特别是其中如何运用Java知识点编写程序,這个是重点。
(五)优化考核方式
当前传统的考核方式是以期末笔试的形式进行。这种考核方式可以较好地考查学生理论知识的掌握程度,但对实践环节的考核就不理想。“Java语言程序设计”是实践性很强的课程,有些知识不特别强调记忆,学生在设计程序的过程中可以参考API及相关文档。此外,学生在笔试过程中,被动地记忆现成代码,但通过这些代码我们看不出学生的程序设计能力。因此,这种考核方式必须改革,不能一张试卷定成绩[3],不能忽视学生编程的过程性和形成性评价。可以采用“笔试+机试”的形式进行考核,其中笔试部分闭卷,考察基本概念,机试部分为开卷,主要考查程序设计,学生现场编写程序,整个考试在机房进行。这种考核方式既考核了学生对理论知识的掌握程度,又考核了学生的程序设计能力。
四、结论
“Java语言程序设计”教学理念是“以应用为本,学以致用”[4],从中不难看出,所要培养的就是社会所需要的应用型软件设计人才,“Java语言程序设计”是基础,基础好不好直接影响后续课程的教学,因此必须高度重视其教学的各个环节。经过多年教学实践证明, 这门课程的改革方法是可行的,且很有效果。其明显激发了学生的学习兴趣,使他们在知识的理解和动手能力方面也较以前有了显著提高。
参考文献:
[1]成尚荣.教学改革要坚持以学生学会学习为核心[J].人
民教育,2013,(22).
[2]张敬贤.论“重理论、轻实践”现象的根源[J].中国电力
教育,2011,(19).
[3]刘振湘,李海舰.高职动物生产类专业课程建设与改革
的研究与实践[J].中国农业教育,2013,(6).
[4]刘仁义.香港应用型大学的办学理念与应用型人才培
养[J].陇东学院学报,2008,(6).