您好, 访客   登录/注册

关于Java程序设计教学方法的探讨

来源:用户上传      作者: 孙长兵

  摘要: 本文主要针对Java的教学,提出实际基础教学的观点,分析并总结了关于Java教学中采用的教学思路、教学方式和方法。
  关键词: Java教学面向对象实践教学
  
  随着Internet和www的迅猛发展,世界上任意位置的计算机都可以通过无处不在的通信网络进行交流。网络构成了一个全新的“虚拟世界”,而信息则如同潮水一样不断涌出,并呈现出“爆炸性”的增长。
  计算机世界从未经历过像今天Internet/www.Java这样的“爆炸性”发展。人们渴望相互交流,人们需要相互交流。虽然在文明产生时,人类交流和通信就开始了,但是直到今天,计算机通信仍然局限在数字、可见字符和各种特殊字符上、下一次浪潮必然是多媒体。人们希望传输图片并且希望这些图片是彩色的。人们希望传输语言、声音和音频剪辑,希望传输动态的彩色视频。从某种程度上来说,我们的确需要三维的、动态的图像。现在的两维显示设备最终将被三维设备所取代,这可以使得我们在家中感受到“家庭影院”的效果,我们的起居室将成为一个小型体育馆。我们可以同远在地球另一边的商业伙伴一起参加网络视频会议,大家虽然相隔千里却感觉近在咫尺。这些可能性就在眼前,Java是使梦想成真的关键角色。
  在实际教学中我广泛选择利用较适宜的教学资源,注重入门练习。作为教学的补充,我将一些资源和多年的教学积累整理成课件发给学生。现将Java的教学情况总结如下。
  
  1.选择丰富的教学实例和活动代码教学法
  
  我们要选择丰富的示例,给学生提供解决他们感兴趣的实际问题的机会。我们要关心怎样符合良好的软件工程原则,并且要将重点放在如何表述清晰的程序上。我们愿意使用实例而不是晦涩的术语和严格的语法描述来讲述语言本身。我们在教学中要重视与活动代码的例子相结合。事实上,每一个新的概念都是通过一个完整的、可工作的Java程序(Java applet或Java应用程序)表达的,并通过一个窗口立即显示程序的输出结果。我们将这种教学及写作方法称为活动代码(live-code)教学方法,这种教学方式能够有效地培养学生的学习兴趣和主观能动性。
  
  2.关于面向对象的技术和Java Applet的学习
  
  我们要较早地开始学习面向对象的编程、Java Applet(小程序),以及基本的图形用户界面设计。有人曾经提醒我,这是一个过于快速的教学方式,但是学习这门课程的学生却真正渴望了解这些新的知识。非同寻常,它充满了乐趣并且学生可以立即看到学习成果。利用Java附带的类库(可重用的模块),学生可以迅速使图形、动画、基于多媒体的音频、多线程,以及基于网络的程序运行起来,可以完成令人印象深刻的程序。这些可以让学生感觉C/C++编程语言更富有创造性并且编程效率更高。
  
  3.帮助学生确定学习目标
  
  我们要定期制定学习目标。我们应在学习每一个新的部分的开头都列出了一个“学习目标”,这样可以告诉学生这一章的学习要求是什么,同时也给学生提供了一个机会,使得他们在学习完后能够判断自己是否达到了预定的目标。
  
  4.教学课件的制作
  
  教学课件的制作要丰富多彩,内容充实,要富含具体的程序代码及程序示例。
  4.1具体代码、多个程序示例(包含程序输出)
  我通过文中完整的、可执行的Java程序来实现程序示例,这是教授课程及撰写课件时的重点。其中一些程序带有抓屏效果,显示了执行完这个程序后的输出。这使学生能确认程序的实际输出结果同期望的结果是否一致。课件中的例子既有仅有几行的小程序,又有几百行的较为重要的应用程序。学生在学习的同时,可以在机器上执行相应的程序,并进行适当的修改和调试。
  4.2图表制作。
  课件要包含大量的表格、插图,以及程序的输出。例如在讨论控制结构的时候,我给出了精心绘制的流程图。我并没有将使用流程图作为程序开发的手段,这样可以详细说明Java的控制结构。因此我使用了这种简洁有效的流程表示方法。
  
  5.编程技巧在实际教学中的应用
  
  我在教学过程中使用了大量的编程技巧,帮助学生将注意力集中在程序开发的重要方面。我强调这些技巧,并将数百个技巧分成以下几类:“编程技巧”、“常见编程错误”、“测试与调试提示”、“性能提示”、“可移植性提示”,以及“软件工程视点”。这些技巧总结了几年的编程和教学经验。
  5.1编程技巧。
  当讲授预备性课程时,我介绍编程的一个原则就是“清晰性”。我在这些“编程技巧”中强调使程序更清晰、更易懂和更易于理解的技术。
  5.2常见编程错误。
  学习一种语言常常容易犯这样或那样的错误。我让学生注意这些“常见编程错误”,以免重犯相同的错误,这同样可以帮助学生在今后工作中少犯错误。
  5.3测试与调试提示。
  我最初设计这部分提示时,希望利用它来正确告诉学生如何测试及调试Java程序。实际上,同C和C++比较起来,我们要更多地介绍了那些能够减少可能的“错误”并且简化测试和调试步骤的技巧及经验。
  5.4性能提示。
  根据经验,在最初的编程课程上教会学生编写清晰、易于理解的程序是最重要的。但学生希望编写运行最快、内存需求更小、操作更简化的程序。学生非常关心程序的操作性能,希望知道怎样补充和调试程序,所以我给出了丰富的“性能提示”,从而为学生提供了可以改善程序性能的方法。
  5.5可移植性提示。
  这些提示可帮助学生编写可移植的代码,并且深入到Java内部,以便了解Java是如何实现高度可移植性的。但不要太多,这是因为Java在设计时就遵循了自顶向下的可移植设计。因此对于Java程序员来说,所要考虑的可移植性问题比C及C++的程序员少得多。
  5.6软件工程视点。
  面向对象的编程方式要求我们重新考虑传统的编程方法。Java是实现良好软件工程的一种高效的编程语言。在软件系统尤其是大型系统中,“软件工程视点”强调了系统的结构和设计方案对整体构造的影响。这些知识对学习高级课程也是很有帮助的,当学生从事大型、复杂系统的设计工作时,这些经验就变得相当重要。
  Java教学一定要围绕提高学生实践应用能力展开,注重面向对象编程思想的培养,在教学过程中我们要引入多媒体技术等先进教学手段。在此我探讨了Java教学的一些实际教学方法,并实际应用于Java教学,取得了很好的效果。其实,教学关键在于因材施教,所以文中所提及措施不一定适合所有Java教学活动,在此希望能够起抛砖引玉的作用。


转载注明来源:https://www.xzbu.com/9/view-980673.htm