Java 教学中学生实践和创新能力的培养
李瑞生
(甘肃政法学院 计算机科学学院,甘肃 兰州 730070)
摘 要:为了更好地实现 Java 程序设计方面创新人才和拔尖人才的培养的目标,以 Java 教学中影响学生实践
和创新能力培养的各个因素为切入点,提出了一系列有助于培养学生 Java 实践和创新能力的教学方法,并具
体讨论了各种方法的实施办法。教学实践表明这些方法是可行和有效的。
关键词:Java;实践教学;实践能力;创新能力;教学方法
Java 课程是应用实践性的课程。长期教学经验说
明,单纯的“理论+程序演示”的理论教学方法以及
“学生自主实验+教师随堂指导”的实验教学方法存在
着一些缺陷,表现为学生创新能力的欠缺和自主实践
能力较差。
教学过程是一个系统过程,涉及到该门课程的所
有教学和实践环节,其中任意一个环节的薄弱都会导
致学生实践和创新能力培养效果不佳。因此,Java
理论教学环节、实验教学环节、学期课程设计、学年
论文(设计)、毕业论文(设计)环节、学科竞赛环节、
校外实践环节等方面都是培养学生实践和创新能力
的关键环节。
以贯穿 Java 教学整个过程的各个重要环节为切
入点,从细节入手,扎扎实实落实好每一个关键环节,
是保证培养学生的 Java 实践和创新能力的根本。
1 在理论教学环节中培养学生的实践和创新
能力
1.1 以问题和实际项目为核心,采用以线带点的教
学模式
需求是创新和应用成果产生的动力和源泉。传统
的 Java 教材和教学内容是按知识点为模块组织的,
即一个知识点,一个针对该知识点的例题,这样虽然
有利于学生循序渐进地学习和掌握各个基本知识点
及其用法,但这种教学方法,有时会导致学生一听就
会,一用就忘。其原因在于,学生从根本上并没有掌
握该知识点到底有什么用,只是听懂了那道例题而
已,没有深层的理解和举一反三的能力,学过时间不
久,就会全然忘记。当学生遇到一个实际问题时,就
会束手无策,不能将当时上课时感觉已经“掌握得很
好”的各个知识点进行融会贯通和综合运用。因此,
教师在教学中要运用几个能贯穿大部分教学知识点
的综合实例和实际应用项目,有说服力地说明贯穿在
其中的各知识点的重要性和用法。经过较长时间的检
验,这种教学方法的优点是:其一,可以提高课堂教
学的趣味性;其二,可以减少学生在学习各个知识点
时的茫然和困惑;其三,可以提高学生综合各个知识
点,形成知识网络,进而进行实际问题解决的能力。
所谓“以线带点”是以问题和实际项目为主线,
贯穿各个分散的 Java 知识点,完成 Java 知识点的脉
络化。
1.2 以学生为主体,教师为主导
在以往教学过程中,限于课时,“满堂灌”现象
仍时有发生,结果是教学任务完成了,但学生的主体
地位没有体现出来,没有充分参与到教学过程中,积
极性不高,教学效果受到很大影响。为了克服这一点,
“互问互答”的启发式和讨论式教学是一种好方式,
这样可以最大程度地调动学生学习积极性和主动性,
也有利于让学生在教学过程中保持精力集中的良好
状态,长期以来可以培养学生创造性思维能力。教师
在教学过程中,从一个较高的高度引导学生如何学习
知识,提高学生学习效率和获取新知的能力,真正实
现教学相长。
1.3 开拓视野,编写高效的程序
在讲授类创建方法的时候,教师除了讲授用传统
的“new 类构造方法”的方式外,可以介绍运用
java.lang 包中 Class 类的 forName 方法创建类对象
[1]
,
同时介绍运用 Java 设计模式中的“工厂模式”进行
类对象的创建,并比较几种创建类对象方法的异同,
从而培养学生运用多种方法解决同一问题的能力。
引导学生在算法设计上下功夫,一个实用软件的
开发,往往需要编写高效率的算法,因此,算法的设
计在 Java 程序教学中仍然是非常重要的。但由于课时
有限,不可能占用较多课时来弥补学生在算法方面的
不足,可以做到的是,引导学生总结和复习先修的算
法设计课程以及其他程序设计课程中所学的算法设计
知识,借助 Java 程序进行实现,并比较效率;介绍一
些智能算法如“遗传算法”的设计和实现的相关知识,
帮助学有余力的学生运用这些智能算法进行实际问题
的解决,将非常有助于提高学生创新能力的培养。
2 注重实验教学课堂的效率
Java 实验教学是 Java 教学的重要组成部分,更
是提高学生动手能力和创新能力的重要途径。
2.1 落实实验预习
一般情况下,实验课时是 2 学时,这对于一个较
大的实验项目来说,根本没有可能在 2 个实验学时中
完成,因此,提前布置实验任务并督促学生按期完成
非常重要。如一个 JSP 项目“学生成绩管理系统”的
综合实验项目,应让学生在做该实验项目之前,就基
本完成系统的设计及大部分的编码工作。在实验课堂
中,主要是配置好开发环境和调试系统,在指导教师
的指导下解决遇到的问题并按指导教师的要求做进
一步的改进和完善。
2.2 检验实验效果
指导教师对于学生的实验成果应及时检查和提
问,及时发现每个学生在做实验项目时遇到的问题以
及该生对该实验理解、设计和实现的程度。
3 重视课程设计、学年论文设计与实践
Java 课程设计是在学生学习完 Java 程序设计课
程后对其进行的一次全面的综合练习和考查。课设成
绩将作为本课程的期末考核成绩的重要组成部分。通
过课程设计,使学生能够得到较系统的技能训练,从
而巩固和加深对 Java 编程的基础理论知识的理解,
培养学生综合运用所学知识解决实际问题的能力,使
学生成为具有扎实的理论基础和较强的独立动手能
力的应用型人才。
3.1 注重题目设计的目标性和归类
针对不同的 Java 应用,将课程设计题目合理归
类,如“基于 Java SE 的桌面应用系统”类、“基于
Java EE 的 Web 应用开发系统”类、“基于 Java ME
的移动设备系统”类等。从而做到有针对性。
在指导学生选题时,告诉学生在完成该题目时,
可以在哪些方面有创新点和亮点,并将这些创新点的
完成情况作为评价课程设计成绩的重要依据。
3.2 强调学生所做项目的实用性和原创性
以往学生所做的课程设计、学年论文设计与实践
项目大都源于教师指定的题目,而这些题目往往都是
一些虚拟项目如“XX 项目的设计与实现”,题目本
身比较含糊,导致学生无法进行具体的需求分析,只
能造出一个“需求分析和开发背景”。这样的项目完
成后,即使做得比较“完美”,也是离实际应用较远,
不能投入实际应用。
培养学生求真务实、追求原创的素养,克服浮躁
情绪,避免仅为完成任务抄袭他人项目成果。在教学
过程中,经常发现部分学生将资料查阅变成了“复制
—粘贴”:不去汲取他人项目成果中的精华,也不去
做任何改进,直接原封不动地套用。结果自己在“实
14 2011
践”过程中不但没有学到任何知识,积累任何开发经
验,反而养成了不劳而获,抄袭剽窃的坏习气。因此,
在引导学生进行项目实践的过程中,在对其进行各阶
段指导和检查时必须严格把关,引导和帮助学生树立
良好的专业道德素质和研发精神。
4 毕业论文环节的创新能力培养
4.1 设计、指导与完成创新性、研究性题目
在前些年的毕业论文选题中,较多见的是:“基
于 Java SE 的 XX 系统的设计与实现”,“基于 JSP 的
XX 系统的设计与实现”等。目前这类题目作为计算
机本科生毕业论文题目,有以下一些弊端:
1) Java 的开放资源非常多,以这类命题的网络
及参考书资源、甚至整个软件设计开发背景、设计过
程、实现过程、实现的全部源码都有现成的。
2) 虚拟项目较多,大都是自圆其说,如对系统
的设计和开发背景是自定的,而不是源于实际用户的
实际开发要求。学生在完成过程中,没有与用户沟通
和交流的机会,没有反复满足用户具体、特殊要求的
过程,从而导致学生没有通过想办法、妙招来解决
问题的磨砺过程。
3) 若有两个以上的学生选择了题目不同,但实
际设计和实现过程大同小异的题目,就不能保证一人
一题的原则。
毕业论文与设计是对本科生本科学习知识的
大检阅,也是对本科生学术研究能力、分析和解决
实际问题能力的重要培养环节,也是为本科生将来
深造和从事研发相关工作所作的一个铺垫。为了突
出毕业论文(或设计)环节中对学生创新能力的培
养,在毕业论文的选题上,指导教师应进一步把关,
设计出具有实际开发背景、创新性和一定研究性的
题目。
4.2 注重对现有软件包的二次开发
基于 Java 的用于各种研究和实践的软件包有很
多,以基于 Java 的多 Agent 开发工具包 JADE(Java
Agent Development Framework)
[2]
和遗传算法工具包
JGAP(Java Genetic Algorithms Package)
[3]
为例,说明
利用基于 Java 的工具包进行二次开发来培养学生创
新能力的实例。
对于基础较好、有较强科研兴趣的学生,可以引
导其运用诸如JADE这样的多Agent系统开发工具包
基于java的课程设计题目开发简单实用的多 Agent 系统,从而带动学生学习和
研究多 Agent 系统的理论和实践方法。遗传算法是当
前应用广泛地智能算法之一,而基于 Java 语言的遗
传算法工具包 JGAP 中已实现了简单遗传算法和部
分高级遗传算法的基本框架,可以引导学生快速在其
基础上完成一些改进和在开发,最终达到学生理解遗
传算法基本理论和实际应用的目的。
5 以竞赛高度为标杆,促进学生进行高层次
编程训练
Java 竞赛题目具有很强的新颖性和挑战性,其目
的在于考察参赛学生的创造性解决实际问题的能力
和编程思维。引导学生参与各级各类的 Java 编程竞
赛或以历届竞赛题目作为训练,都能达到提高学生的
创新意识和能力以及培养拔尖学生的目的。
6 产学研结合
6.1 创新实验室和基地建设
为了使学生具有快速适应市场Java人才的需求、
能够独立创业的目的,根据学校客观条件的不同,建
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论