面向对象程序设计C【基于抛锚式教学策略的面向对象程序设计C++教学的研究】
摘 要 对抛锚式教学环节进行论述,对C++教学过程中的重点、难点,以抛锚式教学策略进行组织,对面向对象C++的具体知识点进行教学设计,给出具体教学实践例子。抛锚式教学最终目标是要通过这种新的教学思想来优化学习过程,达到更好的学习效果,以培养出具有创新能力的新型人才。
关键词 抛锚式教学;C++;教学设计
中图分类号:G642.0 文献标识码:B 文章编号:1671-489X(2012)24-0074-02
Research on OOP C++ Teaching based on Casting-anchor Teaching Tactics//Na Yisha, Wu Zidong
Abstract Firstly the thesis sets focus on the circle of casting-anchor teaching tactics, and the main difficult points on C++ teaching. Then the thesis gives the practical instance on how to teach C++ by using casting-anchor. The main aim of casting-anchor method is optimized learning program, to reach a higher situation, to cultivate the creative person for the society.
Key words casting-anchor teaching tactics; C++; instructional design
Author’s address Education Technology Department Education school, Tianjin University, Tianjin, China 300072
随着信息技术的不断应用,越来越多的人们可以从网络上获取信息,Web2.0时代的到来为人们的学习和生活提供了一个全新的环境.因此,教育理念也在不断发展和更新,教学方法和策略也在不断进步。建构主义理论主张以学生为本,使教师从知识的讲授者转变为学生学习的促进者,以便更好地培养学生自己解决学习问题的能力。建构主义教学模式之一,就是抛锚式教学(Anchored Instruction),这种教学要求建立在有感染力的真实事件或真实问题的基础上。确定这类真实事件或问题被形象地比喻为“抛锚”,因为一旦这类事件或问题被确定了,整个教学内容和教学进程也就被确定了。
1 抛锚式教学
早在1929年,抛锚式教学的思维雏形就出现在有关的教学文献中。自从1984年起,美国Vanderbilt大学认知和技术小组为了更好地培养学生运用知识解决问题的能力,先后开展了惰性知识项目、LOGO项目和动态评估项目的研究,并在此基础上总结了抛锚式教学策略。所谓抛锚式教学,是指在多样化的现实生活背景中运用情景化教学技术以促进学生反思,提高迁移能力和解决复杂问题能力的一种教学方式。一般抛锚式教学策略由下面几个环节组成。
1)创设情境——使学习能在和现实情况基本一致或相类似的情境中发生。
2)确定问题——在上述情境下,选择出与当前学习主题密切相关的真实性事件或问题作为学习的中心内容。选出的事件或问题就是“锚”,这一环节的作用就是“抛锚”。
3)自主学习——不是由教师直接告诉学生应当如何去解决面临的问题,而是由教师向学生提供解决该问题的有关线索,并特别注意发展学生的自主学习能力。
4)协作学习——讨论、交流,通过不同观点的交锋,补充、修正、加深每个学生对当前问题的理解。
5)效果评价——抛锚式教学的学习过程就是解决问题的过程,由该过程可以直接反映出学生的学习效果,因此对这种教学效果的评价不需要进行独立于教学过程的专门测验,只需在学习过程中随时观察并记录学生的表现即可。
C++教学中有几点关键的知识点,对掌握C++语言编写程序起到举足轻重的作用,例如类和对象关系的建立、继承概念的建立、虚函数概念的建立等。下面就对这些知识点以抛锚式教学策略进行教学设计,以详细论述。
2 抛锚式“类和对象”教学环节的组成
C++教学中类和对象概念的建立,是整个C++的核心,因此,需要教师在教学过程中给予足够重视。
2.1 创设情境
首先可以叫学生体会现实的客观世界是不是一个面向对象的世界,指导学生做两个动作:1)拿出自己的铅笔盒,取出一只水笔;2)将所有笔都拆开,分成笔帽区、笔杆区、笔芯区,然后再取出一只笔。学生在取笔的时候,肯定会觉得动作1很简单方便,而动作2很复杂低效。
2.2 确定问题
给学生提出这样的问题:为什么动作1会如此简单方便?我们生活的客观世界就是面向对象的客观世界,因此面向对象的程序设计语言更加符合人类的逻辑思维习惯。同时给学生画出图1所示程序结构图,以区别面向对象和面向过程。
2.3 自主学习
这一阶段是教师为学生提供解决问题的思路,发展学生自主学习的阶段。教师在这一阶段可以从维护性和移植性两方面引导学生比较面向对象和面向过程,同时提出类和对象的概念。
2.4 协作学习
展开小组讨论,协同学习,提出同类对象的特点,学生以小组为单位进行讨论,教师最后给予归纳和总结。笔者在这一阶段教学中给出问题,让学生编制矩型类,并在main函数中加以应用,从而进一步熟悉类和对象的定义格式。
2.5 效果评价
这一阶段,教师对之前布置的问题进行检测,随机选中5名学生,让他们将自己的矩型类在大屏幕上演示。教师当场分析其正确和错误的地方,最后给出正确的程序。
