Java教学之探索

时间:2022-09-30 07:47:10 版权声明 举报文章

Java教学之探索

摘要:开设《Java程序设计》课程的主要目的是加深学生对计算机学习的深度,同时可以拓宽就业面。所以在以此为目的的学习过程中,需要结合当前社会中对该类人才的趋向,适当调整教学内容和教学方法。

关键词:Java;面向对象;教学方法

中图分类号:G642文献标识码:A文章编号:1009-3044(2011)31-pppp-0c

The Exploration of Teaching Java

FENG Ying-ling

(School of Science, Nan-tong University, Nantong 226009, China)

Abstract:The main purposes of setting up the course of "Java programming" is to deepen the study of the computer science and expand the explorement opportunities At the same time.In the course of study for this purpose, we shoud adjust the teaching contents and teaching methods according to the social needs to this kind of talents.

Key words: Java; Object-Oriented; teaching methods

Java语言作为一种纯面向对象的语言,实现了编程人员多年来追求的境界:程序的可扩展性、可复用性及可维护性 ,这使得JAVA语言的流行是必然的。当前的编程及开发人才中,Java程序员的需求量大约占有60%的市场空间。Java中分成三部分,JavaSE是基础,JavaME适用于移动设备,特别是近两年来Android系统的盛行,更加扩大了Java语言的应用范围。而JavaEE企业级应用,更是学习的重点及难点所在。因为现在的市场需求量大,所以有一些非计算机专业也选择开设了《Java程序设计》的相关课程,目的是扩大学生的就业面。这样,我们在教学过程中,就需要适当的调整教学内容,教学手段也应更着重于提高学生的动手能力,这样才能让他们面对企业面试时,有一个程序员应有的状态。而Java语言在学习过程中,也是枯燥无味的,一些核心的内容也是比较难以理解。本文将讨论教学对象是非计算机专业的学生,在课时少、教学内容多、学生的计算机基础薄弱等情况下,如何教学才能达到比较满意的效果?我们可以适当选择教学内容及实践环节,对各知识点,用相应的小的例程来讲解,而教学环节的最后,用一个综合性的项目来总结所学知识,即用项目驱动法 提高学生实际编程能力。

1 教学内容及教学重点

如果我们现在的教学总学时为72课时,实验课时为24课时,那我们可以将教学内容安排如表1所示。

表1

在这些章节中,并没有加入Swing及Applet,因为现在应用的不多,所以没有完全安照一般的教材中的内容去讲这两部分。

当然,如果这十章的内容只是按部就班的讲授,课时是不够的。因为Java课程中需要承载的知识实在是不少,比如:除了JavaSE这部分的基础知识之处,还要学会简单数据库的创建,还要会用简单的SQL语句访问数据库,等等。而单是JavaSE中的多线程、网络通信等内容对学生来说就已经比较难以理解了。这样一个大面积的知识量,容易分散了学习的重点和学习精力,难以对这门课程有一个比较好的概念,所以我们在这些章节的课时安排上,当然也要做一些调整。我们也知道,每一门语言的学习过程中,有一些知识是可以边学边用,甚至是用到时再查阅相应API文档的,所以有的知识可以先提及,告诉学生如果忘记可以在哪儿去查到,这样就可以大大减少学生死记硬背所花的时间了。

比如第二章《Java语言基础》部分中,各种基本数据类型的长度就不用死记,可以在需要时查书即可;基本语法部分也与C++中类似,所以可以略作复习;但这一章中提到实参与形参间的“值”传递,就必须将传递基本类型与引用类型时的不同之处讲述清楚,因为有的学生可能在学C++时也没有完全理解这一点,这是后面对象的创建、父类引用指向子类对象中产生的对象转型及多态的基础,务必让学生充分理解。

而对于第三章面向对象的核心技术及第四章接口,这两部分必须花比较多的时间去讲解,因为这两章是JavaSE中的重点及难点。对于学生来说,可能面向过程的编程更容易理解,所以他们首先会觉得,为什么要用面向对象,然后觉得面向对象怎么去实现,有无从下手的感觉。比如:对象是如何声明、如何创建、如何使用的?类是如何设计的,为何要把这个方法放在这个类,而不是其它类之中?怎样编写出符合面向对象编程规范的Java程序?这些问题都是一开始接触Java时,学生常会提到的问题。所以,这两章的内容学生是否能顺利地接受和理解,直接影响到后面内容的学习,教师在讲授时可以多花一点时间,并多举例,给出程序的大框架,其它内容上机时让学生自己完成。

2 提高教学质量的几个方面

这一点对学生学习Java语言来说至关重要。

2.1 良好的编程习惯

编程的能力是需要长期培养、锻炼形成的,但编程习惯是可以通过这门课程培养起来。良好的编程习惯可以大大提高软件的可读性、开发速度与质量,减少人为错误,所以养成一个好的编程习惯对一个程序员来说非常重要。

编程习惯是指编程者在程序设计过程中共同遵守的一些规则或者约定,并没有规定成文,但上课时教师应该将一些现有的优良的Java编程风格告诉学生,并要求他们掌握。在课堂中教师演示程序时更应该处处注重编程习惯,言传身教。比如:类名与变量、方法名的命名规则,适当的注释,空格、空行的使用,缩进格式等,要在潜移默化中让学生逐渐形成良好的编程习惯。这样,我们在选择开发平台时,可以先选用JDK1.6及以上的版本,主要目的是让学生了解Java本身的处理机制,加深对Java语言的理解。后期的集成开发环境可以选用eclipse,网络开发时可以选用lomboz-eclipse,免费也好用。

2.2 面向对象的编程思想的理解

面向对象的编程思想是尽量按照人们通常的思维方式,建立问题的模型,因此采用了面向对象的方法后,软件更容易被人理解,其可维护性、可扩展性和可复用性得到了很大的提高 。但对于学生来说,他们一开始接触到的解决问题的方法大多是类似于面向过程的方法,比较习惯于分步骤地去解决问题,而且有的学生在一开始接触面向对象的编程方法时,可能还会觉得相对于面向过程而言,并没有什么方便之处,甚至有时还会觉得面向对象更为繁琐。这是因为我们开始时一般都会用一些比较简单的例子程序,用面向过程的方法就能方便的解决这些小问题,所以并不能体现Java这种纯面向对象的优点。但学生的学习目的最终是要参与各种应用项目的开发,这样,教师在讲到第三、第四章时,可以加一些这样的例子:

class Animal {

private String name;

Animal(String name) { this.name = name;}

public void enjoy() {

System.out.println("Animal is enjoying------");}}

class Cat extends Animal {

private String eyesColor;

Cat(String n,String c) {

super(n);

eyesColor = c;}

public void enjoy() {

System.out.println("Cat is enjoying-------- ");}}

class Dog extends Animal {

private String furColor;

Dog(String n,String c) {super(n);furColor = c;}

public void enjoy() { System.out.pringln("Dog is enjoying-------- ");}

class Lady {

private String name;

private Animal pet;

Lady(String name,Animal pet) {

this.name = name;this.pet = pet;}

public void myPetEnjoy() {pet.enjoy();}}

public class Test {

public static void main(String args[]) {

Cat c = new Cat("catname","blue");

Dog d = new Dog("dogname","black");

Lady l1 = new Lady("l1",c);

Lady l2 = new Lady("l2",d);

l1.myPetEnjoy();

l2.myPetEnjoy();}}

在这个程序中,有继承、有子类重写父类的方法,有父类的引用指向子类的对象,所以用了动态绑定机制,这样的程序会在运行时由系统自动检测实际传递的是一个什么动物,而相应地去调用这个动物的enjoy()方法,无需像面向过程的方法那样,手动地判断传递的是Animal或是Cat、Dog。在可扩展性方面,如果再增加其它动物,比如Snake、Bird等,只需定义好相应的类,从Animal这个父类继承,并重写父类的enjoy()方法即可,不需要改动程序的架构。同样的问题,可以让学生想想,如何用面向过程的方法去解决,让他们自己对比较一下面向对象与面向过程的差别。

2.3 培养学生的自学能力

“授之以鱼,不如授之以渔”,对于大学生来说,必须有很强的自学能力,一方面是因为课程所给的课时有限,重点、难点部分需要课后自己消化成自己的知识;另一方面,大学生即将走上社会,更多的知识会在没有老师指导的情况下自己学习、掌握,所以教师上课时也应该注意这方面意识的培养。特别是上机实践时,鼓励学生发现问题后尽可能自己解决问题。当然,教师也要指导学生如何更好地自学:

其一,对于已讲过的知识点,引导学生根据教师课件,课后在教材中找到相应部分,自己再复习、总结,巩固所学知识,比如,第三、四章中会有一些小例子,让学生透彻地分析程序的内存执行状态,详细画出内存中的结构变化。

其二,对于新的知识,可以指导学生如何查询Java API文档。因为它很详细地介绍了JDK提供的所有类库,比如,在学习Object类时,可以指导学生在java.lang包中找到Object这个类,看看它所提供的方法,如toString()及equals(),再看看String类,它从Object继承,而String中的这两个方法是否重写了父类的方法。指导学生在遇到问题时,首先应该查Java API。

其三,充分利用网络。Java作为一种开源语言,拥有很多的网络资源,引导学生查询一些常用网站,或用搜索引擎,充分利用网络平台获取资源,是提高学生自学能力的重要手段之一。

2.4 合理地穿插小项目

所学知识若不能及时地用于实际,那所学知识很快容易忘记。所以在学生基本掌握了所学知识时,应尽快地给出一些合适的小项目,让学生边实践,边巩固所学内容。大多知识是在这样直接接触代码的时候,才能获得更深刻的理解,所以在开课之前,教师就应该准备好几个配套的小项目,引导学生完成读代码,分析代码,理解程序的过程,最终培养学生自己独立完成简单的项目的能力。

3 结束语

教学方法和教学改革是教育过程中的一个永恒的话题,特别是计算机技术方面的教学,随着计算机技术的更新而不断变化。这些促使教师不断地修改、构建新的课程体系,更新教学内容、教学方法和教学手段,以提高教程教学的效率,让学生能更容易、更高效地学习相关知识。对于Java语言的教学来说,同样需要形成教学团队,并且不断提高团队的总体教学水平,不断探索教学方法,同时形成相应的教学评价体系 ,建立稳定的学生实习基地,这些是我们工作的重点。

参考文献:

[1] 袁绍欣.面向对象程序设计[M].北京:清华大学出版社,2007.

[2] 刘瑜,杨玫,赵秀丽.“项目驱动”教学法在JAVA教学中的应用[J].中国科技信息,2010(16):233-237.

[3] 印F.Java语言与面向对象程序设计[M].北京:清华大学出版社,2002.

[4] 王红.“Java语言程序设计”课学生能力的培养[J].计算机教育,2007(8):31-33.

收稿日期:2011-08-15

基金项目:2010年南通大学教学研究课题(2010B17)

作者简介:冯颖凌(1978-),女,讲师,硕士,主要研究方向为计算机应用,模式识别。

注:本文为网友上传,不代表本站观点,与本站立场无关。举报文章

上一篇:基于软交换技术的报警接入网关设计与实现 下一篇:高校素质教育专题网络信息平台的建设分析

被举报文档标题:Java教学之探索

验证码:

点击换图

举报理由:
   (必填)
紧急删除:

 13882551937、13808266089 服务时间:8:00~21:00 承诺一小时内删除

免责声明
发表评论  快捷匿名评论,或 登录 后评论
评论