Ja程序设计的教学

点赞:12563 浏览:56539 近期更新时间:2024-01-15 作者:网友分享原创网站原创

摘 要:为了提高学生Ja编程能力,实现培养创新人才的目标,分析了Ja程序设计教学的内容和重点,并阐述了如何提高Ja教学质量的一些观点.这些教学思想和方法经Ja教学实践运用,取得了良好的效果.

关 键 词:Ja教学方法程序设计

中图分类号:G642文献标识码:A文章编号:1673-9795(2014)02(a)-0041-02

面向对象程序设计是目前程序设计的主流,是软件开发人员必须掌握的一项基本的技术.Ja是一种典型的面向对象的程序设计语言,已在学术界、产业界得到广泛应用.如何培养和激发学生学习兴趣、想象力、创造力和创新能力,更好地进行Ja程序设计的教学,如何培养能够适应当今社会发展需要、具有良好整体素质的Ja程序设计人才是很多教师都在思考的问题.

1Ja教学的定位与内容

根据教学研究型大学的实际情况,我们的目标是培养具有创新精神和实践能力的高素质应用型人才.Ja教学实现的最终目标是培养合格的软件工程师,相关的教学就应该围绕这一目标而设计.Ja的教学内容一般说来包含如下部分:Ja语言基础;Ja面向对象的程序设计;输入输出流及文件操作;Applet和图形用户界面(GUI);Ja的多线程机制;Ja网络编程基础;Ja与数据库技术[1].从课程内容看,Ja内容多,知识点散,没有一条明确的主线.与传统的面向过程编程语言相比,面向对象教学本身有一定难度.面向对象编程语言提出很多新概念如继承、多态、异常等,这些都需要学生用心体会和掌握.

2Ja教学的重点

Ja安排在C++程序设计语言之后开设,学生已经有一定的程序基础.很多学生受面向过程设计思想的影响,首先进行函数算法等细节设计,然后把所有的函数都放入到一个类中,所有的函数都是静态函数,程序虽然有一个类,但是忽略了类的设计,没有体现面向对象的设计思想[2].因此,教学的重点是侧重于面向对象的思想和方法的培养,深刻理解Ja的核心思想.只有掌握了普遍的规律与核心思想,才能把握Ja技术发展的新趋势,学生才具备可持续发展的能力.

3提高Ja教学质量的途径

3.1明确课程学习目标

学习不能总是空中楼阁的感觉,要让学生明晰目标,并找到前进的途径.学习Ja程序设计这门课的最终目标是成为Ja软件工程师.学生了解了Ja软件工程师的社会需求,明确了作为Ja软件工程师应该具备的技能.这样,学生在学习过程中,有了方向,有了目标,也就有了动力.学习Ja的总体路线是:Ja语言基础→J2SE高级特性→JSP&Servlet→J2EE构架技术[3].而Ja程序设计是成为Ja软件工程师的入门条件,这门课程的学习只是其中的第一步.通过本学期的学习,具体要实现的课程目标是要重点掌握Ja语法以及面向对象编程的思想和方法.

3.2精选教学内容、强调知识点的关联性

我们平常选择教学内容时,把一些不常用到的知识点进行省略,(如带有标号之类的跳转语句和比较繁杂的表达式运算规则、位运算等等),此方法的运用可以节省课时的同时最大程度的指引和辅导学生编写简单、可读性好的程序代码.我们通过多年的教学经验,认为Ja程序设计课程的核心内容包含以下三方面:(1)Ja语言基础;(2)Ja语言的新特性;(3)授课时,把介绍JDK类库的常用类以穿插的方式融入到上述内容中.

在讲解面向对象的基础知识点时,我们采用的是一个信息分类的例子来做说明,而这类情况学生在现实生活中会经常碰到,理解比较容易.比如,现在要把一大类的光盘进行分类,首先我们要抽象出VCD及CD的共性来得出一个基本的类Item,在此基础上可以对它进行继承得出一个子类CD,很形象.

3.3将面向对象程序的架构内容融入教学过程

为了提高学生对面向对象的理解,在教学过程中加入面向对象程序的架构内容,并对程序架构设计中常见的一些原则进行分析总结.

检测如你是个建筑工程师,那么你在建造楼房的时候,你会先搭建好整个楼房的骨骼,然后往里面嵌入砖头,最后才是装修.做Ja系统也是这样,先从整体上把握并设计系统,这就是架构.我们通过这些浅显的比喻力争使学生领悟架构的内涵.而程序架构设计中的原则实质其实就是如何分类组织我们编写的代码,就像一个好书架的图书分类,让各种类型的书籍都能分类摆放,便于浏览和查找.

3.4项目贯穿,以线带点

借鉴了案例教学和任务驱动式教学的一些做法,教师在教学中将一个小项目“图书管理系统”的实现贯穿于整个教学过程之中.所谓“以线带点”是以问题和实际项目为主线,贯穿各个分散的Ja知识点,完成Ja知识点的脉络化[5].

实现是分阶段进行的,在学习Ja基础知识后,让学生完成对图书数据的增加、删除、修改、查找操作等操作.将数据放在数组中,没有图形界面.而在学习完输入输出后,这时,数据则要求存放在文本文件中,让学生从文本文件中读取数据,将每条记录封装成对象进行各种操作后,再将其存入文本文件.学习完图形用户界面后,再让学生加入友好的图形界面.最后,在讲授数据库程序设计时,将数据由文件存放改为在数据库中存放,采用JDBC驱动程序访问数据库.每学习一部分内容,就对图书管理系统的版本进行改进,改进的过程就是不断完善的过程,也是学生不断学习和提高动手能力的过程,从而把单纯的知识传授转变为学生动手能力的培养和提高.

3.5渗透软件设计模式思想,提高学生的可持续发展能力

设计模式是前人总结的一些经验和良好的设计范式.把握良好的设计模式能够理清程序的骨架,使程序变得更清晰.要让学生在毕业后具备可持续发展能力,我们更应该注重学生的编程思维和思想,提高学生的问题解决能力.为了让学生能更好地理解面向对象的设计思想,虽然教材中没有软件设计模式的相关内容,考虑到学生将来的发展,在相关章节进行穿插讲解软件设计模式思想.通过这些Ja语言的设计模式,来理解面向对象编程的强大功能以及相对于结构化语言的优越性.对于一个具体问题,教师用基本的面向对象设计方法与引入设计模式后的程序进行对比讲解,详细分析每种方法的设计过程.在教师的启发下,学生比较两种方法在出发点、设计思想和最终结果的差别,领悟出面向对象程序设计的优势以及引入设计模式后的革新等.最后,告诉学生任何模式都只是工具,而作为程序员的职责,就是在自己的工作中正确使用这些工具.3.6举办讲座,开拓视野,提高学生对面向对象和算法的理解

只有通过编写高效率的算法才能使得一个实用软件得到开发.因而在Ja教学中,算法的设计是非常重要的.但是由于课堂时间的限制,就不能占用较多的课时去弥补学生在算法方面的不足和缺陷.所以,我们用讲座的形式拓展学生在算法方面的能力,这样将非常有助于学生创新能力的培养.

我们在讲座中针对约瑟夫环问题用三种方法分别予以实现.约瑟夫环问题是指有n个人围成一圈,按顺时针方向编号1到n.圈中从1到m报数,凡是到m的人先退出,下一个人接着从1开始报数,计算这n个人的出圈顺序[7].针对这个问题,分别用静态数组算法、arrayList动态数组算法和循环链表算法予以实现,并对这个三种算法的运算时间进行比较.通过比较,得到的结果是,在数据量不大的情况下,采用静态数组、动态数组、循环链表运行约瑟夫环的时间差别不大.而随着数据量的不断增大,编写循环链表代码显示出的时间优势对程序员来说更为可贵.最后,从约瑟夫环问题的本质上来看,这是一个典型的递归问题.除求解递归问题的通用方法外,最佳的方案是利用基数m到基数10的替换来求解.另外,循环链表及动态数组能够增加学生对面向对象概念的思考,从而把相同的算法推广到相似的问题中,达到举一反三的效果.

Ja程序设计的教学参考属性评定
有关论文范文主题研究: 关于软件设计的论文范文 大学生适用: 专升本毕业论文、专科毕业论文
相关参考文献下载数量: 90 写作解决问题: 如何怎么撰写
毕业论文开题报告: 论文提纲、论文摘要 职称论文适用: 核心期刊、职称评中级
所属大学生专业类别: 如何怎么撰写 论文题目推荐度: 经典题目

4结语

由于社会需求的日益变化,计算机紧跟其后迅猛发展.由于这一变化,促使我们更要不断的更新我们的教学方法和教学手段.在Ja教学中我们通过不断的研究是实际的操作,取得了丰硕的教研成果.这样就使得我们在提升专业教学的方面有了一定的起发,而且促进了学生理论水平和实践能力的提高.

va教学中学生实践和创新能力的培养[J].计算机教育,2011(18):12-15.

[6]王永红.约瑟夫环经典问题的几种算法比较[J].现代计算机,2008(1):36-37,54.

[7]RonaldL.Graham,DonaldE.Knuth,andOrenPatashnik.ConcreteMathematics[Z].Addison-Wesley,secondedition,1994.