1 / 7
文档名称:

面向对象程序设计语言是【抛锚式教学模式在《面向对象程序设计》教学中的应用】.doc

格式:doc   大小:25KB   页数:7页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

面向对象程序设计语言是【抛锚式教学模式在《面向对象程序设计》教学中的应用】.doc

上传人:1294838662 2022/11/21 文件大小:25 KB

下载得到文件列表

面向对象程序设计语言是【抛锚式教学模式在《面向对象程序设计》教学中的应用】.doc

文档介绍

文档介绍:该【面向对象程序设计语言是【抛锚式教学模式在《面向对象程序设计》教学中的应用】 】是由【1294838662】上传分享,文档一共【7】页,该文档可以免费在线阅读,需要了解更多关于【面向对象程序设计语言是【抛锚式教学模式在《面向对象程序设计》教学中的应用】 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。2016全新精品资料-全新公文范文-全程指导写作–独家原创1/9
面向对象程序设计语言是【抛锚式教学模式在《面向对象程序设计》教学中的应用】
摘要:抛锚式教学模式是信息化教学模式之一,其主要特点是从学生已有的知识出发,通过情景提出问题,确定教学内容和教学进程。在分析《面向对象程序设计》课程教学特点的基础上,作者对抛锚式教学模式在《面向对象程序设计》中的应用进行了教学实践探讨,发现运用抛锚式教学能够很好地将面向对象程序设计中的概念、原理与真实世界联系起来,充分利用知识之间的联系,一步步地引导学生掌握面向对象程序设计的知识。
关键词:抛锚式教学模式;面向对象程序设计;教学案例
抛锚式教学模式是基于真实或模拟情景的信息化教学模式,它通过情景产生学****需求,确定教学内容和教学进程(就像轮船被锚固定一样),通过镶嵌式教学和学生的主动学****亲身体验识别解决问题,从而达到学****的目标。
面向对象程序设计是近年来迅速发展的软件设计思想和技术,它是在继承结构化程序设计技术的优点与长处的基础上产生的一种全新的程序设计思想和方法,在软件开发中有着广泛的应用。《面向对象程序设计》是高等学校计算机及相关专业必修的一门重要课程,研究如何在教学过程中运用信息化教学模式对于提高教学质量、培养学生掌握面向对象程序设计的知识和问题解决的能力具有一定的实践意义和价值。
2016全新精品资料-全新公文范文-全程指导写作–独家原创3/9
1.《面向对象程序设计》教学的特点
把握课程的特点是开展教学的起点和选择合适教学模式的关键。面向对象程序设计是在继承传统的结构化程序设计的基础上发展而来的。因此,《面向对象程序设计》的教学重点应该包括面向对象程序设计的基本概念和结构化程序设计与面向对象程序设计的区别两个方面。
面向对象程序设计基于一种抽象的数据类型——类,和这种抽象数据类型的实例——对象[1]。对象是具有某些特性的具体事物的抽象,对象有属性和方法,分别用来表征对象的状态和行为,类是创建对象实例的模板,用来描述具有相同属性和方法的对象集合,它定义了集合中每个对象共有的属性和方法,对象是类的实例。事件是能被对象所识别的外部刺激,如单击鼠标。面向对象程序设计通过事件驱动机制处理事件,即只有在事件发生时程序才会运行,否则处于静止状态。图1表明了这几个概念之间的联系[2]:
图1面向对象程序设计中基本概念的关系
2.《面向对象程序设计》教学中的抛锚式教学

抛锚式教学模式是指在多样化的现实生活背景中(或在利用技术虚拟的情境中)运用情境化教学技术以促进学生反思,提高迁移能力和解决复杂问题能力的一种教学方式[3]。所谓的“锚”,是指在情景中创设的事例和提出的问题。抛锚式教学模式是建构主义教学模式之一,建构主义主张学****者通过感受真实的环境达到对事物的本质及其相互之间的联系的认知。抛锚式教学模式以真实的事例或问题为锚,在问题背景中产生学****需求,通过主动学****生成学****和与其他学****成员之间的交流与合作,亲历从识别目标到达成目标的全过程[4]。
2016全新精品资料-全新公文范文-全程指导写作–独家原创3/9
抛锚式教学具有与传统的课堂教学不同的特征:通过真实或者设置的情景引出用作“锚”的问题或者实例;教师不再是传统教学中知识的传播者,而是学生学****的引导者、支持者和学****伙伴;学生通过自主和合作的方式进行学****强调教学的无序性,也就是教学顺序与预先确定的教学设计不一致,无序性教学富有弹性,教学信息不确定,教学目标具有相对开放性,教学结果有弹性[5]。

以掌握面向对象程序设计的三大特性中的“继承”、“多态”及“接口”的概念教学为例,下面谈谈在面向对象程序设计教学中如何实施抛锚式教学,程序的实现使用C#语言。学****的前提是学生已经掌握面向对象的概念和“类”的概念,掌握构造类、属性和方法的知识。
“继承”、“多态”和“接口”之间既相互联系又有区别,为保持教学内容的连贯性和逻辑性,将本次教学分为2个单元,分别学****继承”、“多态”和“接口”。
单元1:“继承”和“多态”
情境1:计算机动画展示:一只“喵喵”叫的“猫”和一只“汪汪”叫的“狗”,动画显示它们都属于“动物”。
问题1:“分别为猫和狗创建2个类‘Cat’和‘Dog’,这2个类都具有表示名字的属性
2016全新精品资料-全新公文范文-全程指导写作–独家原创4/9
‘name’和表示动物叫唤的方法‘shout’。建立主程序,在其中实例化猫和狗的对象,输出这2个对象的‘name’,执行‘shout’方法,分别输出‘喵’和‘汪’。”
问题1的提出是建立在学生已经掌握了“类”和“对象”的概念基础上。建立1个“Cat”类和一个“Dog”类,它们具有功能相同的属性和方法。学生根据自己掌握的面向对象的知识和对问题的理解,可以自己独立解决问题,也可以通过与其他同学交流协作的方式完成任务。
问题2:“问题1中创建了2个类,主程序中执行了一些操作,在这2个类和主程序中,许多代码是重复或相似的,这些代码被称为冗余代码,有什么方法将代码精简,实现代码的重用?”
如前所述,学生建立的2个类中具有形同功能的属性和方法,代码冗余度大,复用率低。面向对象程序设计允许通过类的“继承”实现代码的优化和复用。在解决问题2之前要让学生掌握“继承”的概念,并掌握以“继承”的方式建立新类的操作,然后着手解决问题2提出的问题。通过分析“Cat”和“Dog”两个类的共同点,建立一个“animal”类,该类有1个“name”属性和1个“shout”方法。重新构建“Cat”类和“Dog”类,让它们继承自“animal”类。重写主程序,输出“name”、执行“shout”方法。这时学生会发现出现新的问题:“Cat”对象和“Dog”对象执行“shout”方法输出的结果是相同的。由此引出问题3。
问题3:“为什么执行重构后的程序,‘Cat’对象和‘Dog’
2016全新精品资料-全新公文范文-全程指导写作–独家原创5/9
对象执行‘shout’方法得到相同的结果?这显然是不合实际的,如何解决?”
问题3引出了面向对象程序设计的另外一个重要属性“多态”。所谓多态,在面向对象程序设计中是指的同一个消息或者操作作用于不同的对象产生不同的结果。在解决问题3之前要让学生掌握“多态”的概念,然后着手解决问题。重构“animal”类,将“shout”方法改为没有方法体的抽象方法。重构“Cat”和“Dog”类,在其中重载“shout”方法,并分别实现各自的“shout”方法。修改主程序,使用“animal”类分别实例化一个“Cat”对象和一个“Dog”对象,它们执行“shout”方法后得到不同的结果。单元2:“接口”
情景2:在情景1的基础上,计算机动画在“猫”的下方显示一只“机器猫”,“机器猫”一边“喵喵”叫,一边变魔术,变出一条鱼。接着在“狗”的下方出现一只“机器狗”,“机器狗”一边“汪汪”叫,一边变魔术,变出一根骨头。
问题4:“动画中我们看到‘机器猫’和‘机器狗’除了分别具有‘猫’和‘狗’的一般特征外,还具有普通猫和狗不具备的特征,请用程序分别输出‘机器猫’和‘机器狗’叫唤的声音‘喵’和‘汪’,并输出‘机器猫’和‘机器狗’变魔术的动作‘机器猫:变鱼’和‘机器狗:变骨头’。要求运用接口的知识解决该问题。”
“机器猫”和“机器狗”都要具有普通猫和狗的属性,它们应该分别派生于“Cat”类和“Dog”类。它们又要分别实现“变”这个动作,如果让2个派生类分别实现各自的“变”的动作,则显然又会显出代码的冗余。似乎可以像上面的“猫”和“狗”
2016全新精品资料-全新公文范文-全程指导写作–独家原创7/9
那样构造一个基类,让“机器猫”和“机器狗”继承基类。可是C#语言只允许单继承,“机器猫”和“机器狗”已经分别继承自“Cat”类和“Dog”类了,如何又能继承自其他类呢?解决问题的办法就是使用接口。接口是用来定义一种程序的协定。在面向对象程序设计中,接口主要用于行为跨越不同类的对象,使用接口可以很好地增强现有类的功能,保证在特定的环境下系统自动实现这些功能。
要解决问题4必须学****接口”的相关知识,以及如何使用“接口”的操作。学生将在教师的引导下通过教师的讲解和自主学****掌握这些知识,然后解答问题4。创建接口“IChange”,使其具有“change”方法。分别从“Cat”类和“Dog”派生出两个类“CatMachine”和“DogMachine”,并且这两个类都要实现“IChange”接口的“change”方法,分别输出“机器猫:变鱼”和“机器狗:变骨头”字符串。由于“CatMachine”类和“DogMachine”类分别继承自“Cat”类和“Dog”类,它们的实例对象都可以实现普通“Cat”类和“Dog”类的功能,又实现了“IChange”接口,具有“变”的功能,并且代码复用率高,冗余度小。

抛锚式教学密切联系了课程内容和日常生活,从学生已知的知识出发,运用形象生动的情景、实例或者问题设置好教学内容和教学进程,让学生从问题出发开展积极主动的学****面向对象程序设计的思想是建立在对现实世界对象的基础上的,运用抛锚式教学模式能够很好地将面向对象的概念和操作与真实世界联系起来,充分利用知识之间的联系一步步地引导学生掌握面向对象程序设计的知识和相关操作。
2016全新精品资料-全新公文范文-全程指导写作–独家原创7/9
参考文献:
[1][J].黄石高等专科学校学报,2000,(2):30-34.
[2][J].宁波大学学报,2002,(6):90-92.
[3][EB/OL]./,2004,7.
[4]——理论建构与实践例说[M].科学教育出版社,.
[5][J].中国***教育,2006,(6):127-128.