国内外Java教学模式的比较与探讨

1引言

    众所周知,Java是20世纪90年代初推出的一种纯面向对象编程语言工具,自从它面世以来,已经获得了业界的一致推崇,由于它的可移植性、跨平台性等优 点,在基于因特网的系统开发中得到了广泛应用,所以,Java又有“网络程序设计语言”一说。目前,Java的应用领域可以分为J2SE、J2EE、 J2ME三个方面,J2SE是Java标准开发版本,J2EE是企业完全版本,J2ME是移动设备开发版本,高校的教学几乎全部集中在J2SE这个方面, 其他两个应该是项目实际开发、提高部分。笔者自1998年就开始在本校从事Java的教学工作,期间经历了Java不同版本的升级,从JDK1.0到现在 的JDK1.5,教学工具也不断地更换,比如早期的JBuilder3.0到现在的JBuilder2006,采用的教材也几乎是年年更新,从早期清华大 学出版社出版的王克宏教授主编的《Java语言程序设计基础》,到现在机械工业出版社的《Java程序设计教程》,同时有幸接触到英国Aston大学的 Java课程的讲义,经过检查过去多年的教学经验与教学手段,与国外大学的同一课程进行比较,希望能总结出一些好的经验及教学模式。

2教学周期的差异

    由于计算机市场对Java编程人员的大量需求,学生学习Java语言的兴趣逐年递增,一方面督促老师自己不断地摄取新的知识对自己升级换代,另一方面学生 数目的增大,面对大量增加的选课学生,老师也应该了解他们的学习目的,才能做到有的放矢。由于学校课程设置的安排,深圳大学的Java课程是在“面向对象 程序设计(C++)”之后开设的,所以在教学的过程中经常会碰到同学提出“Java到底有什么用?”,“我已经学了C++,还要不要学Java啊?”, “Java怎么感觉与C++有很大的不同?”,“我想做一些数据库管理的事情,该学Java的哪些内容”等等诸如此类的问题。针对这些问题,我们在教学中 就应该事先清楚自己的教学目的是什么。由于本校Java课程是面向全院的选修课,整个课程的教学周期为一学期,学时相当有限,造成教学任务繁重,各章节就 不能完全进行细化,很多东西在课堂上讲完并演示过对应的例题后部分学生仍然一知半解,需要课后再花一定的时间对课堂上所讲的知识进行消化、吸收。对照国外 的Java教学,由于他们整个Java的课程设置为一年,比如分为Java程序设计基础知识部分与Java程序设计高级部分,在基础知识部分,着重介绍 Java的特点、与其他编程语言的区别,在学生有了基本概念之后,再进行语法知识的介绍。在英国,除了课堂上老师授课之外,课程设置里还专门安排了一个叫 tutorial的授课安排,相当于课堂讨论课。老师预先给出教学中的重点、难点,同学们可根据自己的情况及时发言或讨论,从中获得自己想要的东西。在师 生之间的这种交流过程中,老师不仅可以了解学生的学习情况,还可以根据学生反馈来进行教学改进。这样经过一个学期对Java基础知识的掌握后,才开始下一 个学期的高级部分的学习。总而言之,针对目前Java编程人员需求量大的情况,高校决不能扮演Java编程速成班的角色,我们应该踏踏实实地按照一个原 则:好的编程人员是要有一个完整的培训、学习周期。循序渐进、由浅入深,才是我们的教学原则。由此,如何在Java的课程设置中确定一个合适的教学周期, 是值得我们商榷的,国外的教学例子值得我们参考。

3教学大纲与教学内容的不同

    高校的课程设置,教学大纲是必不可少的,合理地制订教学大纲并贯彻执行是教学成功的一个保障,下面给出我校Java课程教学大纲与 Aston大学教学大纲的内容,如表1所示。通过表1可以看出,由于学时的安排与重视程度的不同,同一门课程,深圳大学与英国的Aston大学的区别还是 比较大的,由于讲授学时的限制,在某些章节的讲述过程中,比如类、对象、接口与包,深圳大学大约是4个学时,感觉上讲解不是很透,学生还需课外花费一定的 时间去进行补充、提高,而Aston大学把该部分的内容分得很细,为了让学生树立面向对象的概念,采用了以下顺序进行介绍:

    a.面向对象程序设计的概念

    b.面向对象程序的架构

    c.类的继承、子类父类的概念

    d.类的多态性、集合的概念

    e.方法重载与重定义、抽象方法与抽象类

    f.接口与包的应用

    这样一来,学生的概念很清晰,并伴以合适的例题进行讲解,学生在课堂上的收获很大,同时也培养了学生进一步学习的兴趣,当然,需要的讲解课时也随之增多。

    当前我国高校面向对象的编程软件大部分还是以C++作为讲授内容的,学生如果能掌握C++的概念当然会明白面向对象的概念,但是,C++的应用还是微软的 天下,其不开源的理念及大量的MFC的应用,仍是横在学生面前的一条鸿沟,而Java语言的开源性促使其蓬勃发展,也使得原来大量的C++软件人员转到该 领域,所以,目前Java的教学也越来越引起高校的重视,但是如何制定相应的教学大纲与教学内容,是摆在我们面前的一个急需解决的问题。

4教学手段的比较

    前面讨论了深圳大学与Aston大学教学内容上的一些差别,那么在教学手段上二者有什么不同呢?与过去的一根粉笔打天下的教学手段相比较,现在已经有了明 显的进步,基本上所有的教室均实现了多媒体教学的手段,从硬件上来说,与国外已经没有差别,甚至在软件升级换代的周期上还优于国外,这里,作者想从以下几 个方面来谈谈国内与国外教学手段上的不同。

4.1教材上的差别

    Java教材从早期清华大学出版社的《Java语言程序设计基础》,《Java语言程序设计教程》,到现在机械工业出版社的《Java程序设计教程》,整 个感觉教材的要求是越来越高,但总是落后国外大学一步。比如Aston大学选用的是《An Introduction toProgramming and Object-Oriented Design Using Java》及《Java,Java,Java Object-Oriented Problem Solving2e》,由于我们采用的是中文教材,目前市面上大部分Java教材都是编译或编著,从周期上来看,肯定与别人有一个时差,所以,在上课的同 时,我们总是建议学生课外去阅读一些原版的Java英文教材,以获得一些最新的知识,比如早期的Java经典著作《Thinking in Java》。除此之外,老师和学生应该多浏览Java的专业网站以获得关于Java的新发展、新动态。

4.2教学内容的比较

    我们在程序设计课程的讲授过程中,在实例讲解时,往往是按照章节来进行,各章节之间缺乏关联,这样学生在学习的过程中很难做到理解上承前启后,思维是一段一段的。比如,在讲解对象与继承这两个概念时,我们原来经常采用的实例是:

    a.对象讲解:

     public class A{

       return_Type some_Method(){….}

         Type variables_Defined;

         }

    b.继承讲解:

     public class B extends A{

        return_Type some_Method(){…}

        Type variables_Defined;

        }

    在这个过程中,类A作为类的定义的一个案例,而类B作为继承的一个案例,从某个角度来看,概念是讲清楚了,但是类名是很抽象的,学生不一定会与生活中具体 的对象进行联想,另外,继承的概念也是从抽象的类名来展开的,没有实际的意义,也是很抽象的,这样,教学的效果可想而知了。我们再来看一下Aston大学 在对象与继承概念上的例子:

    a.对象讲解:

    public class Item{

      private String title;

      private int playingTime;

      private boolean gotIt;

      private String comment;

        //constructors and methods omitted.

        }

    b.继承讲解:

    public class CD extends Item{

      private String director;

        //constructors and methods omitted.

        }

    它采用的是一个信息分类的例子来作比较,而这类情况同学们在现实生活中会经常碰到,理解也不难,比如,现在要把一大类的光盘进行分类,首先我们要抽象出 VCD及CD的共性来得出一个基本的类Item,在此基础上可以对它进行继承得出一个子类CD,很形象。而且,在今后章节的讲解过程中,并没有抛弃原来的 例子,而是在其基础上进行扩充,就好比一个简单的例子,经过滚雪球的方式,知识的不断积累,功能不断完善,扩充的内容也越来越多,保持前后知识点的关联 性,增加学生的兴趣!

4.3教学工具的比较

    教学工具的选用对学生的影响也是相当大的,不同学校由于条件的限制(比如版权、习惯等)可能采用的Java教学工具有所不同。我们早期采用的是 JDK1.0字符界面工具来进行讲授,用JDK进行教学,好处是学生能掌握常用的命令行指令的使用及编译环境的配置,对今后在非Windows操作系统下 进行编程会有一定的帮助,但是在线帮助就很烦琐。目前我们的教学工具已经是JBuilder2006(正版),它集成了J2SE、J2EE、J2ME三个 编程环境,交互性好,但是运行环境要求比较苛刻,同时正版的费用也比较高,而开源免费的开发工具有JCreator、Sun公司的NetBeans等, Aston大学的教学工具采用的是JCreator,该软件运行时占用内存少,对系统要求不是很高,被配置较低的一些用户所喜爱,当然,从Java编程提 高的角度来看,我们建议有条件的话还是采用JBuilder比较好。一方面它对代码的语法的实时检测减少了出错的几率;另一方面其完备的文挡帮助对学好 Java来说也是一个好的帮手;再者,Java目前的从业者推荐的使用开发工具也是JBuilder,对提高学生的开发能力是有所帮助的。

5.结论

    本文针对深圳大学与英国Aston大学的Java课程在教学周期、教学内容、教学手段等方面作了简单的比较,通过比较与分析,可以得出的结论是:

(1)对该课程的重视程度我们还不及国外的大学,可以从教学课时的分布上看出这一问题。

(2)教学内容上面我们做得比较粗,国外做得比较细,这主要体现在案例的取舍及前后相关联方面。它让我们认识到需要在教学内容上总结经验,抓住重点,提高学生的学习兴趣。

(3)教学工具我们并不落后于国外,如何引导学生利用先进的开发工具掌握新知识、新的发展动态是摆在我们面前新的课题。本文只是单纯将Java课程 与国外大学的Java课程作了些比较,得出的结论可能会有失偏颇,随着IT业的发展,科技无国界,其他的课程也会面临同样的问题,希望能对我国高校中的软 件课程的设置有所裨益。

你可能感兴趣的:(java,设计模式,编程,JBuilder,出版)