Java教学方法研究与探索

时间:2022-10-10 04:40:16

Java教学方法研究与探索

摘要:研究分析目前常见的Java课程教学方法,并加以改进和完善,尤其是改进传统的考核评价方式,增加项目答辩环节,以求通过灵活多样的方式获得最佳的教学效果。

关键词:Java;教学方法;面向对象;项目答辩

中图分类号:G642.0文献标识码:A文章编号:1009-3044(2011)29-7185-02

Research and Exploration on Teaching Method of Java

JIAN Xu

(Department of Computer Science, ABa Teachers College, Wenchuan 623002, China)

Abstract: Based on studies and analyses of the common teaching methods of Java curriculum, the author improves and perfects the teaching method, especialy in the examination and evaluation by adding oral defense to abtain the best teaching effect.

Key words: java; teaching method; object-oriented; project oral defense

作为当前最为流行的编程语言之一,Java受到了各级各类院校的重视,如何上好这门课,早已成为Java授课教师讨论的热门话题。对此,文章从面向对象入手,研究分析当前各种主要的程序设计教学方法,并结合教学实际,提出如何上好这门课程的一些新思路。

1 教学方法

1.1 面向对象思想的培养

Java是一种面向对像的程序设计语言,学习Java的首要任务就是建立面向对象的思想。目前,大多数高校都会选择C语言作为计算机专业学生入学后的第一门语言课程,受C面向过程编程思想的影响,很多学生在后来使用Java编写程序的过程中,往往会习惯性将所有功能代码全部书写到一个类中,这不仅降低了程序的可读性,为今后程序的调试和维护带来麻烦,更为重要的是这完全失去了Java面向对象编程的应有特点。因此,教师在教学过程中,要特别强调面向对象的概念,每一个教学实例都应遵循面向对象的原则精心设计,为学生作好示范,让学生养成良好的面向对象编程习惯。

1.2 案例教学

案例教学法是一种以案例为基础,通过分析案例来展开教学活动并完成教学目标的方法。在进行Java课程教学的过程中,单纯讲解抽象的概念和理论,必然使得教学过程枯燥无味,影响学生学习积极性。因此,教师在每次授课前,应针对本节教学内容,精心编写尽可能与实际应用有关、且难易适中的教学案例,教师在整个授课过程中扮演设计者和激励者的角色,鼓励学生积极参与到对案例的讨论中。例如在讲解到File类的使用时,可结合平时使用计算机时需要把一个目录下的文件统一改名的问题,设计一个“Java批量更名”的程序案例。

1.3 生动比喻

要把晦涩难懂的知识讲清楚,除了需要教师本人具有扎实的理论知识并精心准备教学案例外,还需要教师掌握灵活的教学方法,采用通俗易懂的语言并适当使用比喻,让学生在轻松愉快的氛围中学到知识。以讲解“对象的上转型对象”为例:假设B是A的子类,如有A a=new a();B b=new B();a=new B();则将a称为b的上转型对象。在讲解该知识点时,可采用如下的案例和讲解方式:

父类:中国人(Chinese)

Class Chinese

{ Void speak()

{ System.out.println("我是中国人。"); }

}

子类:(Sichuanren)

Class Sichuanren extends Chinese

{ void changeFace()

{ System.out.println("我是四川人,我会表演变脸!"); }

}

①Chinese lilei;…正确

②lilei=new Sichuanren();…正确

语句①首先用Chinese类声明一个中国人的名字“lilei”,语句②使用Sichuanren类创建一个具体的四川人,并让这个四川人使用名字“lilei”。也即是说我们可以随便找一个四川人说他是中国人,这显然是正确的。

③lilei.changeFace();…错误

编译到语句③报错。这是因为“lilei”被声明成一个中国人的名字,拥有这个名字的人就应该只具有中国人的共性,而不能具有四川人独有的那些能力。

④Sichuanren luona;…正确

⑤luona=new Chinese();…错误

语句④用Sichuanren类声明一个四川人的名字“luona”,语句⑤使用Chinese类创建一个具体的中国人,并试图让这个中国人使用名字“luona”,编译到语句⑤报错,这是因为“luona”是一个四川人的名字,拥有这个名字的人就应该是四川人。换句话说,我们可以随便拿一个四川人说他是中国人,却不能随便拿一个中国人说他是四川人。通过恰当生动的比喻,便将“对象的上转型对象”这样一个枯燥难懂的问题,在轻松愉快的氛围中讲解清楚了。

1.4 项目驱动

教师过细的讲授理论,不给予学生任务,其教学效果十分有限。因此,教师应在平时的上机实训课中给学生布置明确的任务,并要求学生按时按质完成,从而保障学生基本编程技能得到有效的训练。在教学进行到一定阶段后,即可给学生安排若干综合性较强的项目,让他们从其中任意选择一个,完成后作为这门课程的成果与期末成绩挂钩。通过任务给予学生压力和动力,迫使学生从被动学习变为主动学习。但需要注意的是,教师在使用项目驱动法时要考虑以下一些问题:

第一、项目的设计必须科学合理,并尽可能涵盖课程中的主要知识点。例如:可要求编写类似于QQ的网络通信程序、基于C/S模式的学生信息管理系统、仿Windows记事本程序等等。

第二、任务布置的时间选择要恰当。如果布置的项目较为庞大和复杂,任务布置过早,学生限于掌握的知识,可能会因此感到迷茫,从而产生畏难情绪适得其反;任务布置过晚,学生又缺少足够的时间去完成,甚至还会影响到其他课程。

第三、正所谓“授人以鱼,不如授人以渔”,要明确项目驱动的主体是学生,学生在项目开发实施过程中遇到的各类问题,教师应尽可能让学生自己去解决,如遇到按正常教学计划还没有涉及到的知识点,教师应鼓励学生利用学校图书馆、计算机网络等途径去获得帮助,鼓励学生自己去探究,同时,还要引导学生养成使用API文档的良好习惯,让学生通过查询API掌握常用的系统类,深刻理解类与类之间的各种关系。

项目驱动是目前计算机教学领域非常行之有效的一种方法,经过多年的实践表明,这种教学方法可以取得非常良好的教学效果。

1.5 小组协作

对于一些大型的项目,可以适当考虑小组协作开发的模式,将班上学生分成若干个小组,每个小组选择一名能力较强的学生担任组长,小组成员每人负责项目的一个模块。这样不但可以减轻单人承担大型项目的负担,还可锻炼学生进行项目协同开发的能力,对学生今后进入工作岗位进行大型项目的开发,培养团队协作精神都具有非常重要的作用。另外,在项目结束后,教师还可以让小组成员展开相互评价,并适当将互评成绩纳入期末成绩之中。

1.6 校企合作

很多计算机专业学生毕业后,感受最深的莫过于学校教学与社会需求的脱节,缺乏在企业从事软件开发的经验。为此,学校可以大胆考虑与校外企业合作,建立联合办学机制,灵活设置教学方案,将原本在校内进行的教学课时,抽出一部分交给企业,让学生在走上正式工作岗位之前,能提前熟悉企业软件开发的标准流程,了解企业到底需要怎样的软件人才。

1.7 以赛促学

每个学年,可以班级或系部的形式定期组织程序设计比赛,评选出其中的优秀者,给予适当的精神和物质奖励;然后再从这些获奖者中选择一部分参加更高一级的地区性或国家级比赛。通过比赛,既锻炼了学生的能力,同时,如果学生能在这些高规格的比赛中获得名次,必然会极大增强他们的自信心,并为低年级学生树立良好的榜样,产生不可忽视的激励作用。

2 考核方式

程序设计课程的考核方式目前最常见的有两种:1) 纯理论笔试; 2) 理论笔试+项目作业。第1种考核方式存在的典型缺点是往往容易把学生培养成高分数、低动手能力的书呆子;第2种考核方式虽然把实际编程能力也纳入到考核范围,但教师无法做到对学生项目开发的全程监督,不可避免的会有部分学生通过网上下载、剽窃修改他人程序等方式来应付了事。

针对上述问题,我们提出一种新的考核方式,即学生期末成绩由三部分组成:理论笔试+项目作业+项目答辩,三部分成绩所占比例可根据实际教学情况确定。以我系为例,现行的成绩评定比例为:理论笔试40%、期末项目作业30%、项目答辩30%。答辩由3位或3位以上相关专业老师组成评审组,学生在规定时间内完成源代码及项目设计方案的展示、程序的编译运行以及程序功能的演示,然后回答评审教师随机提出的问题,通过提问,评审教师可以基本了解学生掌握知识的真实水平。这种考核方式最大的特点就在于增加了答辩这一重要环节,迫于答辩的压力,那些试图通过从网上下载或抄袭他人作业应付交差的学生,不得不为答辩而主动去学习;另一方面,这种考核方式还可避免单纯由任课教师一人评分可能引起的不公正问题。

3 结束语

程序设计课程一般都比较枯燥,如何让学生产生兴趣并主动去学习,是授课教师需要认真思考的问题,教师除了在课前做好充足的知识准备外,还要尽可能采用新颖活泼的教学方式,通过安排项目实训给予学生明确的目标,并与成绩挂钩,建立科学公正的考核方式和激励机制,诱导学生更加积极主动的去学习,从而得到最佳的教学效果。

参考文献:

[1] 韩立毛,邵洪成,徐秀芳. 程序设计基础课程课堂教学的改革与实践[J]. 电脑知识与技术, 2009,5(31):8740-8742.

[2] 魏钢. Java程序设计教学改革探讨[J]. 辽宁师专学报,2009,11(3):54-55.

[3] 叶锋,连进. Java程序设计教学研究[J]. 湖北经济学院学报(人文社会科学版),2010,7(9):207-208.

上一篇:软件企业中的架构师职责探讨 下一篇:基于J2EE的机械图文档管理系统的研究与实现