Java程序设计教学Java程序设计教学1摘要:为了提高学生Java编程能力,实现培养创新人才的目标,分析了Java程序设计教学的内容和重点,并阐述了如何提高Java教学质量的一些观点。这些教学思想和方法经Java教学实践运用,取得了良好的效果。关键词:Java教学方法程序设计面向对象程序设计是目前程序设计的主流,是软件开发人员必须掌握的一项基本的技术。Java是一种典型的面向对象的程序设计语言,已在学术界、产业界得到广泛应用。如何培养和激发学生学习兴趣、想象力、创造力和创新能力,更好地进行Java程序设计的教学,如何培养能够适应当今社会发展需要、具有良好整体素质的Java程序设计人才是很多教师都在思考的问题。1Java教学的定位与内容根据教学研究型大学的实际情况,我们的目标是培养具有创新精神和实践能力的高素质应用型人才。Java教学实现的最终目标是培养合格的软件工程师,相关的教学就应该围绕这一目标而设计。Java的教学内容一般说来包含如下部分:Java语言基础;Java面向对象的程序设计;输入输出流及文件操作;Applet和图形用户界面(GUI);Java的多线程机制;Java网络编程基础;Java与数据库技术[1]。从课程内容看,Java内容多,知识点散,没有一条明确的主线。与传统的面向过程编程语言相比,面向对象教学本身有一定难度。面向对象编程语言提出很多新概念如继承、多态、异常等,这些都需要学生用心体会和掌握。2Java教学的重点Java安排在C++程序设计语言之后开设,学生已经有一定的程序基础。很多学生受面向过程设计思想的影响,首先进行函数算法等细节设计,然后把所有的函数都放入到一个类中,所有的函数都是静态函数,程序虽然有一个类,但是忽略了类的设计,没有体现面向对象的设计思想[2]。因此,教学的重点是侧重于面向对象的思想和方法的培养,深刻理解Java的核心思想。只有掌握了普遍的规律与核心思想,才能把握Java技术发展的新趋势,学生才具备可持续发展的能力。3提高Java教学质量的途径3.1明确课程学习目标学习不能总是空中楼阁的感觉,要让学生明晰目标,并找到前进的途径。学习Java程序设计这门课的最终目标是成为Java软件工程师。学生了解了Java软件工程师的社会需求,明确了作为Java软件工程师应该具备的技能。这样,学生在学习过程中,有了方向,有了目标,也就有了动力。学习Java的总体路线是:Java语言基础→J2SE高级特性→JSP&Servlet→J2EE构架技术[3]。而Java程序设计是成为Java软件工程师的入门条件,这门课程的学习只是其中的第一步。通过本学期的学习,具体要实现的课程目标是要重点掌握Java语法以及面向对象编程的思想和方法。3.2精编教学内容、强调知识点的关联性我们平常选择教学内容时,把一些不常用到的知识点进行省略,(如带有标号之类的跳转语句和比较繁杂的表达式运算规则、位运算等等),此方法的运用可以节省课时的同时最大程度的指引和辅导学生编写简单、可读性好的程序代码。我们通过多年的教学经验,认为Java程序设计课程的核心内容包含以下三方面:(1)Java语言基础;(2)Java语言的新特性;(3)授课时,把介绍JDK类库的常用类以穿插的方式融入到上述内容中。在讲解面向对象的基础知识点时,我们采用的是一个信息分类的例子来做说明,而这类情况学生在现实生活中会经常碰到,理解比较容易。比如,现在要把一大类的光盘进行分类,首先我们要抽象出VCD及CD的共性来得出一个基本的类Item,在此基础上可以对它进行继承得出一个子类CD,很形象。3.3将面向对象程序的架构内容融入教学过程为了提高学生对面向对象的理解,在教学过程中加入面向对象程序的架构内容,并对程序架构设计中常见的一些原则进行分析总结。假如你是个建筑工程师,那么你在建造楼房的时候,你会先搭建好整个楼房的骨骼,然后往里面嵌入砖头,最后才是装修。做Java系统也是这样,先从整体上把握并设计系统,这就是架构。我们通过这些浅显的比喻力争使学生领悟架构的内涵。而程序架构设计中的原则实质其实就是如何分类组织我们编写的代码,就像一个好书架的图书分类,让各种类型的书籍都能分类摆放,便于浏览和查找。3.4项目贯穿,以线带点借鉴了案例教学和任务驱动式教学的一些做法,教师在教学中将一个小项目“图书管理系统”的实现贯穿于整个教学过程之中。所谓“以线带点”是以问题和实际项目为主线,贯穿各个分散的Java知识点,完成Java知识点的脉络化[5]。实现是分阶段进行的,在学习Java基础知识后,让学生完成对图书数据的增加、删除、修改、查找操作等操作。将数据放在数组中,没有图形界面。而在学习完输入输出后,这时,数据则要求存放在文本文件中,让学生从文本文件中读取数据,将每条记录封装成对象进行各种操作后,再将其存入文本文件。学习完图形用户界面后,再让学生加入友好的图形界面。最后,在讲授数据库程序设计时,将数据由文件存放改为在数据库中存放,采用JDBC驱动程序访问数据库。每学习一部分内容,就对图书管理系统的版本进行改进,改进的过程就是不断完善的过程,也是学生不断学习和提高动手能力的过程,从而把单纯的知识传授转变为学生动手能力的培养和提高。3.5渗透软件设计模式思想,提高学生的可持续发展能力设计模式是前人总结的一些经验和良好的设计范式。把握良好的设计模式能够理清程序的骨架,使程序变得更清晰。要让学生在毕业后具备可持续发展能力,我们更应该注重学生的编程思维和思想,提高学生的问题解决能力。为了让学生能更好地理解面向对象的设计思想,虽然教材中没有软件设计模式的相关内容,考虑到学生将来的发展,在相关章节进行穿插讲解软件设计模式思想。通过这些Java语言的设计模式,来理解面向对象编程的强大功能以及相对于结构化语言的优越性。对于一个具体问题,教师用基本的面向对象设计方法与引入设计模式后的程序进行对比讲解,详细分析每种方法的设计过程。在教师的启发下,学生比较两种方法在出发点、设计思想和最终结果的差别,领悟出面向对象程序设计的优势以及引入设计模式后的革新等。最后,告诉学生任何模式都只是工具,而作为程序员的职责,就是在自己的工作中正确使用这些工具。3.6举办讲座,开拓视野,提高学生对面向对象和算法的理解只有通过编写高效率的`算法才能使得一个实用软件得到开发。因而在Java教学中,算法的设计是非常重要的。但是由于课堂时间的限制,就不能占用较多的课时去弥补学生在算法方面的不足和缺陷。所以,我们用讲座的形式拓展学生在算法方面的能力,这样将非常有助于学生创新能力的培养。我们在讲座中针对约瑟夫环问题用三种方法分别予以实现。约瑟夫环问题是指有n个人围成一圈,按顺时针方向编号1到n。圈中从1到m报数,凡是到m的人先退出,下一个人接着从1开始报数,计算这n个人的出圈顺序[7]。针对这个问题,分别用静态数组算法、arrayList动态数组算法和循环链表算法予以实现,并对这个三种算法的运算时间进行比较。通过比较,得到的结果是,在数据量不大的情况下,采用静态数组、动态数组、循环链表运行约瑟夫环的时间差别不大。而随着数据量的不断增大,编写循环链表代码显示出的时间优势对程序员来说更为可贵。最后,从约瑟夫环问题的本质上来看,这是一个典型的递归问题。除求解递归问题的通用方法外,最佳的方案是利用基数m到基数10的替换来求解。另外,循环链表及动态数组能够增加学生对面向对象概念的思考,从而把相同的算法推广到相似的问题中,达到举一反三的效果。4结语由于社会需求的日益变化,计算机紧跟其后迅猛发展。由于这一变化,促使我们更要不断的更新我们的教学方法和教学手段。在Java教学中我们通过不断的研究是实际的操作,取得了丰硕的教研成果。这样就使得我们在提升专业教学的方面有了一定的起发,而且促进了学生理论水平和实践能力的提高。参考文献[1]姚明,彭志平,李奇锐.教学型本科院校计算机专业Java教学之我见[J].计算机教育,2011(4):51-55.[2]杨瑞龙,朱征宇,朱庆生.引入软件设计模式的面向对象程序设计教学方法[J].计算机教育,2012(10):97-100.[3]陈涛.Java程序设计教学思想与方法的探讨[J].电脑知识与技术,2011(10):2446-2447,2450.[4]叶恒舟.Java程序设计教学探讨[J].科技信息,2007(1):23-25.[5]李瑞生.Java教学中学生实践和创新能力的培养[J].计算机教育,2011(18):12-15.[6]王永红.约瑟夫环经典问题的几种算法比较[J].现代计算机,2008(1):36-37,54.[7]RonaldL.Graham,DonaldE.Knuth,andOrenPatashnik.ConcreteMathematics[Z].Addison-Wesley,secondedition,1994.JAVA程序设计教学方法2摘要通过分析Java程序设计教学中存在的问题,从理论教学、实践教学、课后学习三方面,对Java程序设计课程教学方法进行探讨,重点挖掘各环节中能激发学生学习兴趣的方法。关键词Java程序设计教学学习兴趣理论教学实践教学一、引言Java是由美国SunMicrosystems公司Java面向对象程序设计语言和Java平台的总称。Java编程语言采用面向对象技术,具有结构中立、可移植性强、支持分布式、支持多线程等特点。目前,Java语言已成为全世界最为流行的编程语言之一,很多院校把Java程序设计作为程序设计的入门语言[1]。二、Java程序设计教学中存在的问题在传统的教学过程中,教师一般会根据教材知识点和课时做好教学进度表,规划好整个教学计划。由于Java语言知识点多,大部分教师会觉得课时不够用,因此会出现赶课时、赶进度的现象。授课过程多为首先对知识点进行讲解,然后根据知识点演示、分析程序。学生通常只是跟随教师的思路被动接受,缺少主动对知识点思考的机会。通常课程结束时,大部分学生无法掌握好Java语言的基本框架,无法很好的应用Java语言来解决实际编程问题,无法在已有知识结构的基础上进一步深入学习Java以及与其相关的知识[2]。而产生这些问题原因可以归纳如下:1.教学过程以教为主,缺少教与学的互动。由于知识点多,极易形成以教师为中心,学生被动接受知识的课堂模式,学生对课程兴趣不大、课堂听得不认真、课后不愿花时间学习,学习效果不理想。2.教学效果过度强调理论课程,缺乏理论与实践课程的互促。实践课程能够加强学生对知识点的理解、提高学生学习兴趣、提高学生运用知识解决问题的能力。然而在实际教学过程中,教师对实践课程的重视度不够,没有发挥出实践课程的作用。三、教学方法探讨教学的最终目的是为了让学生学到知识,提高能力。就Java程序设计这门课程而言,教师应着重培养学生三方面的能力。①培养学生掌握Java语言的整体框架、基本语法等基础知识;②培养学生应用知识解决实际编程问题的能力;③培养学生在已有知识的基础上进一步提升和学习的能力。本文把Java程序设计教学分为理论教学、实践教学、课后学习三部分,从这三方面探讨Java程序设计中可以更加“有效”教学的方法。1.理论教学。理论教学是传输知识的重要环节,但内容却是非常抽象的。如果一味采取“填鸭式”方法往学生脑中灌输知识,就很难激发学生的学习热情,更别提掌握、运用知识点。因此理论教学方法显得尤为重要。1)案例法激发兴趣。在授课过程中,加入适当的案例可以帮助学生理解知识,让学生懂得如何运用知识。介绍一些典型案例时要把握难易程度,注重学生的参与,确保学生能够自己动手验证。2)多媒体展示知识。以点带面,注重知识的整体把握,突出重点,分析难点。借助多媒体的辅助作用,导入与课程内容相关的图片、视频、音频等,将枯燥的知识更生动灵活的展现给学生。3)阅读教材梳理知识。在多媒体展示的同时,还需要通过阅读教材,加深学生对知识的理解。同时要求学生在教材的适当位置做好笔记,有助于学生更好的吸收消化知识。2.实践教学。JAVA程序设计是一门理论与实