《“面向对象与java程序设计”课程学生能力的提高》由会员分享,可在线阅读,更多相关《“面向对象与java程序设计”课程学生能力的提高(6页珍藏版)》请在金锄头文库上搜索。
1、“面向对象与 Java 程序设计”课学生能力的提高XX( 武汉大学珞珈学院 计算机系 )摘 要:针对面向对象与 Java 语言程序设计课程学生的动手能力和自学能力薄弱的问题,结合多年来的教学经验,由特殊章节特殊对待、通过奖励的形式提高学生的学习兴趣、带着任务学习、培养学生记笔记的良好习惯、多做课堂作业、成立 Java 兴趣小组、鼓励学生参加 Java 业余科研项目以及鼓励学生参加Java 语言程序设计大赛的九种方法来提高学生学习本课程的能力。关键词:Java 动手能力 自学能力 类 对象The improvement of students ability in 0bjectOriented
2、and Java ProgrammingChunxiu XiongComputer department of Luojia College,Wuhan UniversityAbstract: In view the problems that the students are short of practical ability and self-learning ability in objectoriented and Java programming, with many years experience in teaching, we explored nine different
3、methods to improve the students learning ability that are special treatment to special chapter, improving students learning interest through incentives, learning with the task, training the students good habits of making notes, doing more classwork, setting up Java interest groups, encouraging stude
4、nts to participate in Java amateur research projects and encouraging students to attend the Java language programming and designing contest. Key words:Java Practical ability Self-learning ability Class Object前言面向对象与 Java 语言程序设计课程教学目的是借助于 Java 语言来讲授面向对象程序设计,进行面向对象思维、方法的训练,通过学习、设计及实现,使学生掌握其方法、原则与理论,并具
5、有一定的面向对象设计、开发能力。但是以前的教学经验表明,学生在学完该门课程后,虽然掌握了一些理论知识,但仍不能按要求设计出简单的程序,总是无从下手,表明了学生不能很好的将理论与实践相结合。为了更好的提高并改进学生的 Java 语言的程序设计能力,本文主要从以下九个方面来研究。(一)特殊章节特殊对待特殊章节特殊对待,比如本课程第二章 Java语言基础,其中 Java 基本的数据类型和表示方法、数值类型的运算、逻辑运算和比较、条件执行语句(包括三种条件语句和 switch 语句) 、循环控制语句(包括 for、while、do while 循环及相应的辅助语句)等大部分内容与 C 语言基本上相同,
6、所以如果学生的 C 基础还可以,就没有必要共大精力讲解。对于该部分内容,可以通过提出一些重要问题的形式,比如列举出一系列的标识符,让学生判断哪部分标识符可以作为用户自定义的变量名,由此来考查学生对变量名的理解情况。先让学生带着这些问题看书领会,再通过概要讲解的方式来提示一些重要的知识点的形式,比如数据类型的分类等等,检查学生的独立学习能力。而对于 Java 语言与 C 语言在此部分内容不同的部分,如全局变量的定义、goto 语句及指针的抛弃和内在管理方式的不同,这部分内容需要单独讲解,并在最后的本章小结中加以强调,提示学生理解 Java 语言与 C 语言的不同之处。这样不但提高了学生的自主学习
7、能力,还因为能看懂 Java 课程内容而提高学生的学习兴趣,让学生带着问题看书,不但避免了学生上课打瞌睡的情况,还避免了一些不大喜欢听课的学生因总听老师讲解而厌烦的情况。编写一个 Java 程序就是在定义类和创建对象,也就是说定义类和建立对象是 Java 编程的主要任务。因此,老师在讲授面向对象与 Java程序设计这门课程时,必须让学生熟练的理解类和对象的概念,还要学会类的定义和对象的创建,若只是纯粹的背诵类与对象的概念是不够的,还要根据实际情况通过代码的形式将类表示出来,在此基础上,可以把类熟练地分为 3 个部分:IS,HAS,DOES。当然这不是通过一次讲解学生就能领悟的知识,教师在讲授完
8、该部分的知识的时候,还需要列举生活中的实例,促进学生的理解。比如类 Hello:public class Hello/定义一个私有类型的字符串变量 sprivate String s; /定义一个方法显示变量 s 的值public void showString()System.out.println(s);/定义一个方法改变变量 s 的值public void changeString(String str)s = str;类 Hello 的第一行代码:public class Hello 说明了类的名字为 Hello,并说明了该类的性质为公共的,这一部分称为类的声明即 IS部分。中间一部分
9、类 Hello 的代码:private String s;说明了该类的一个属性用变量 s 来表示,这一部分称为成员变量即 HAS 部分。最后一部分类 Hello 的代码:public void showString()System.out.println(s);及代码:public void changeString(String str)s = str;说明了该类的两种行为,即显示属性 s 的值和改变属性 s 的值,这部分称为成员方法即 DOES部分。从上面的分析可以看出,HAS 部分是静态的表示属性,DOES 部分是动态的表示行为。由此列举出生活中的一个实例:学生类,该类中有若干个属性:学
10、号、姓名、性别等,以及若干个方法:给上述属性赋值、取值。根据类的划分并对照上述类 Hello 实例,首先写类的 IS 部分。类名为 Student,类的性质为公共的 public,即为 public class Student.然后再写类的 HAS 部分即该类的成员变量。学生的学号用 sno 来表示,s 表示学生student,no 表示学号,在给变量命名的时候,教会学生要做到见名知义,一般情况下,学号较长,用 String 类型来表示,而类的属性,大部分情况下都为私有类型 private,即学号表示为private String sno;以下类推。姓名: private String sna
11、me;;性别:private char ssex;。最后写类的 DOES 部分即类的成员方法。给学号 sno 赋值:public void setSno(String no)sno = no;给学号 sno 赋值需要提供一个已知的值,通过参数的形式 no 传递,该参数的类型同相应的成员变量的类型,并且赋值不需要有返回,所以是无返回类型 void。再取学号 sno 的值:public String setSno()return sno;取值只需要得到成员变量 sno 的值,不需要参数,但取值有返回值,返回类型为相应的成员变量的类型。其它方法依此类推。当然这些还是不够的,学生光看教师讲解不一定能够
12、真正领会,还需要进一步动手实践,此时,教师就可以出一个类似的题目让学生当场实践,如教室类,有属性面积、体积、窗户数目等,行为就是对这些属性取值、赋值。做完课堂练习,还要学生交上来,根据本人多年来的教学经验,学生在写程序时,总会出一些各种各样的奇怪问题,不是根据个人经验所能想像到的问题,这种情况下需要教师有耐心地批改每位学生的作业,老师通过学生的作业情况了解学生的想法以及学生对该部分知识的理解水平,并作进一步的教学计划。通常情况下,这部分的内容不是让学生只做一次作业就能领会的,需要教师根据实际情况,让学生多做几次课堂练习,慢慢的引导学生逐渐走入 Java 程序设计中。(二)通过奖励的形式提高学生
13、的学习兴趣我们要转变以前的以教师为主导的学习方式,现在要以学生为主体,养成以学生为主导的学习方式。虽然现在的学生不喜欢动手主动去学习,但是他们还是会非常在意自己的期末成绩的,所以我们可以以此来激发学生好好学习。原来的期末成绩是由最后的考试成绩决定的,平时的学习情况并不考虑在内,所以学生也没有把平时的学习放在心上,而现在不一样了!我们可以将最后的期末成绩进行细分,由平时成绩和期末考试成绩组成,平时成绩由平时到课率、课堂作业、主动回答问题、回答问题的正确情况来决定,并将平时成绩逐渐提高,尽量达到平时成绩:期末考试成绩=1:1 的比例。这样学生就会慢慢的重视起平时成绩来。对于到课率,一般情况下跟任课
14、老师有很大的关系,如果抓得紧的话,比如说多少次没有来上课就让其直接挂科,这样绝大多数学生肯定会来上课的。或者对于到课率低的学生,平时分数也低来激励学生来上课。在课堂上,可以先让学生看书,并提醒其在重要知识的地方划记号,然后再提问,如果学生认真看书了,肯定能及时找到问题答案所在地,如果学生能主动回答问题,就给加分,比如学生每主动回答一次问题并且回答正确就加五分,如果不是完全正确可以酌情加分,回答不正确也可以加一分,如果是被动点名起来回答问题,回答正确加一分,回答不正确不加分或者扣一分,在这种情况下,学生多少能提高自己的注意力,认真看书。对于课堂作业,是一定要上交的!并根据作业情况给学生打平时成绩
15、。这样做一方面可以促进学生多动手,另一方面教师可以根据学生的作业情况作进一步的教学计划,教学计划不应该是一成不变的,得根据学生的不同层次作适当的调节。教师不能一味追求完成教学任务不断讲授新的课程内容而不管学生理解课程的情况,在某些比较重要的章节,教师应该多花心思,多费点功夫一定要让学生真正理解。(三)带着任务学习在课前告诉学生本节课的主要学习任务,并习惯性的在本次课程讲授完成之后给学生提问,问一些本次课程中反复讲授的重要知识点,比如在讲解第五章继承与多态的时候,在课前提出学习任务:1. 面向对象的基本特征有哪些?2. 子类继承父类的关键字是什么?3. 域的隐藏是如何实现的?4. 如何定义抽象类
16、和抽象方法?5. 定义接口的关键字是什么?本章讲授完成之后给学生提问:1. 覆盖与重载的区别与联系是什么?2. 实现接口应注意哪些问题?并根据学生的每次回答问题的情况酌情给学生加减分,在这种情况下,自然而然地就能促进学生好好地听讲了。教师在讲解到相关的重要知识点时,及时提醒学生要注意,这样学生会提高警惕,选择性吸收知识,进一步提高学生效率。(四)培养学生记笔记的良好习惯经过长时间的观察,发现现在的学生上课要么不带课本,要么手头上只拿着一本课本去上课,不带纸和笔。所以学生上课的时候,要么歪倒在课桌上,要么干脆趴在课桌上,当讲到重点知识时,学生根本没有反应,根本想不到要做点笔记,因此,老师在课堂上要直接提醒学生,上课要带笔,讲到重点的时候要做笔记,还有一些反复讲多遍的知识也是非常重要的知识点,学生也应该做笔记。另外,老师在做一些重点知识总结的时候,建议老师在黑板上板书,一边讲一边板书,总比光对着 PPT 讲更能吸引学生,因为学生长时间看着 PPT 那一小块空间,容易产生疲劳感,所以听课很容易走神。另外,教