基于3C3R模型的数据结构课程教学模式的构建

2014-07-02 01:14殷宝媛于纪明李晓东
计算机教育 2014年8期
关键词:数据结构排序算法

殷宝媛 于纪明 李晓东

摘要:在数据结构课程中,以问题为核心的教学模式常以单一问题为引导,容易忽视知识点之间的联系。文章通过设计体现知识体系结构的开放性问题系列,以“排序”章节为例,阐述该模式如何将教学内容与现实生活相结合,创建真实情境,设计问题系列,实施“引导探究一启发推理一激发反思一深层探索一提出新问题”的教学过程。

关键词:3C3R模型;数据结构课程;教学模式;排序

0 引言

数据结构课程是计算机相关专业的专业基础课,该课程概念和算法繁多、内容抽象、章节之间结构性强,常被学生认为是一门难学、难懂、难实践的课程。传统的数据结构教学以“知识点”为核心,教师是整个教学过程的主体,由教师把教学内容灌输给学生,这种教学模式不利于学生积极性、主动性的发挥和创新能力、实践能力的培养。因此,一些学者尝试进行数据结构课程的改革,根据数据结构课程的特点,采取以问题或案例为核心的教学方式,如“问题一探究”数据结构教学模式,案例驱动数据结构教学模式等。然而在这些以问题或案例为核心的教学模式中,教师总是以单一问题引导学生去探究,容易忽视知识点之间的联系,使学生在学习过程中难以自主构建知识体系。基于此,我们试图通过设计体现知识体系结构的开放性问题系列,构建基于3C3R模型的数据结构课程教学模式。

1 3C3R模型概述

3C3R模型是美国北达科他州大学洪暐博士于2006年就问题导向教学提出的指导问题设计的模型。问题导向教学模仿了人类自然的学习过程,即在学习遇到问题时,为寻找问题的解决方案,人们从问题和问题发生的环境中学习相关技能和知识。问题导向教学是以真实情境的问题为核心,在教师的引导、启发下,学生从不同角度,运用不同方法,通过自主探究、推理、反思,解决复杂现实问题,从而主动建构知识、发展高级思维能力。

在问题导向教学中问题设计过程至关重要。3C3R模型的成分包括核心成分和过程成分。核心成分是内容、情境和联系(content,context andconnection),这3个核心成分主要用来支持领域知识的学习,如概念、规则和原理知识。过程成分是探究、推理和反思(researching,reasoningand reflecting),这3个过程成分则关注学习者的认知学习过程,用来支持学生应用所获得的领域知识来解决复杂问题,发展学生高级思维能力及学生自我导向能力。

2 基于3C3R模型的数据结构课程教学模式的构建

以3C3R模型为理论基础,提出基于3C3R模型的数据结构课程教学模式,如图1所示。其中,设计体现知识体系结构的开放性问题系列为本模型的核心,问题系列中问题之间的关系如图2所示。

2.1 基于3C3R模型的数据结构课程教学模式的具体阶段

1)将教学内容与现实生活相结合、创建情境、预设问题系列。

结合现实生活的实际问题,创建问题情境,然后设计能够体现知识体系结构的开放性问题系列。

开放性问题系列的设计遵循以下原则:首先,要把开放性问题融入到真实情境中;其次,问题系列要体现该章节知识点的体系结构,即每个问题要包含具体知识点并明确问题与问题之间联系;最后,要注意问题系列预设与生成的关系,即课前教师预设好问题系列,在教学过程中,要引导和激发学生对当前问题深层探索,生成预设的问题。

2)引导学生探究问题本质、启发学生推理、激发学生反思。

探究的主要任务是确定问题到底是什么,抓住问题的主要信息,哪些信息是已知的,哪些信息是未知的,如何把未知信息转化为已知信息。教师应引导学生向着预设的知识内容思考,防止学生偏离预定目标,并帮助其找到问题的本质。同时,教师还要引导学生把问题的目标规范,即在探究问题的过程中,所有活动都要指向问题的目标状态。

推理可以促进学生把在探究中获取的信息进行应用,并发展学习者解决问题的能力。通过逻辑推理,学生能够创造性地生成和验证假设,确认可行的解决方法或抛弃不可行的方法。

教师通过预设问题,激发学生反思,促使学生将问题解决过程中构建起来的知识进行系统地、概念化地组织和整合,从而形成自己的知识体系。另一方面,教师通过改变先前问题的参数、应用环境、数据规模,在原问题基础上和学生一起引出一系列新问题,激发学生深层次探索问题的好奇心,促使学生相应地调整其思维策略,培养其自主学习意识,通过再探究、再推理、再反思,使学生成为自我导向、自主构建知识体系的学习者。

2.2 基于3C3R模型的数据结构课程教学模式的核心——开放性问题系列

预设的开放性问题系列是基于3C3R模型的数据结构课程教学模式的精髓。一个“好”的问题系列应有令人信服的真实问题情境,能引发学生多种假设,问题与问题之间的关系有利于学生自主构建知识体系,能够调动学生的探究意识,开发学生的高级思维能力。

首先,分析各教学单元的教学目标,确定必须学习和掌握的知识“主题”,并将其与生活实践结合,构建真实情景,将这些知识主题隐含在一系列的真实情景问题中。

其次,知识的内在关系对于帮助学习者建立他们自己的知识框架,教师在设计问题时要将知识间的关系融入到问题情景中。

知识点的内在关系分为同级关系、层级关系、总结关系3种,如图2所示。同级关系是指问题所包含的知识点可以用不同的方式呈现,重点为一题多解、分析不同算法间的区别,各自优缺点。层级关系是指问题所包含的知识点是递进关系,需要学生更深层次地探索算法的改进和优化。总结关系是指问题所包含的知识点是对先前问题的总结或反思。

3 基于3C3R模型的数据结构课程教学模式的案例——以“排序”这一章为例

1)创建情境,预设问题。

教师首先要深入分析该章节的知识点,依据问题之间的3种关系,把预设问题融入到易于学生探究、推理的真实情境中。例如“排序”章节知识点为各种排序算法及算法之间的关系、算法时间复杂度、算法的稳定性。现实生活中经常需要对事物进行排序,比如士兵按身高站队、学生按成绩排名等,这些实际问题都可以按照某种属性作为关键字进行排序,而排序的方法有很多种,可以结合教材内容和实际应用设计一系列问题,引导学生探讨排序算法。endprint

例如,一种可行的问题情境:给定一张名为数据结构成绩表的Excel二维表,如图3所示,要求按学生成绩从高到低排名。

依据该情境,预设问题系列,问题系列之间的关系如图4所示(其中问题1与问题2为层级关系;问题3与问题2、问题1之间为总结关系;问题1.1、问题1.2与问题1.3之间是同级关系)。下面对问题系列进行阐述:

问题1:如果你是Excel的开发人员,请设计Excel中排序的算法。

在该教学模式的启发推理阶段,可生成3个子问题,问题1.1、问题1.2和问题1.3,即插入排序、选择排序和冒泡排序的算法思想,启发学生给出3种算法的思路;在激发反思阶段,指出3种排序算法中有哪些需要优化、改进的地方,从而生成问题1.1.1、问题1.1.2和问题1.1.3。

问题2:如果你是某银行数据库的技术人员,现要求你对数据库中有10条记录进行排序,先前设计的排序算法是否适用(思考时间复杂度更低的算法)。

完成问题1的所有子问题后,在激发反思阶段,教师通过调整问题1的数据规模,使先前学生设计的算法无法很好解决,生成问题2。

问题3:表中名为李博和赵丹的两位同学成绩相同,在排序后,你的排序算法是否出现赵丹排在李博前面(思考各种排序算法的稳定性)。

问题3是对问题1、问题2的总结与反思。

2)引导探究。

对于问题1,引导学生把问题的目标进行规范,在Excel表中“成绩”为主要信息,把“成绩“作为关键字段,进行排序。即问题抽象为给定5个可以相同整数(每个整数不超过100),进行从大到小排序,初始状态为60、75、89、92、89,目标状态为92、89、89、75、60。

3)启发推理。

推理是学生深度认知参与的过程,教师应当启发学生把先前的知识和探究问题的本质相结合。对于问题1,预定的目标为:学生推理出3种排序算法,即“选择”、“插入”、“冒泡”排序,学生的先前知识有“3个数求出最大值和最小值”、“将3个数按从小到大的顺序输出”,因此,教师可以给出“大小比较”的启示,鼓励学生相互交流,可以用自然语言描述、流程图、程序代码来表达自己的排序算法。

为获得良好的启发效果,教师可以借助形象化的教学手段,使抽象的理论具体化,便于学生理解和记忆。例如,在启发学生推理“冒泡排序算法”时,使用FLASH等软件将“冒泡算法”中较抽象的“冒泡”过程以动画形式展现,这样可以增强启发推理的直观性和趣味性。另外,教师也可以采取寓教于乐的启发手段,通过游戏的形式帮助学生推理“插入排序”算法。例如,给学生一副扑克牌,要求学生随机抓一张牌,然后有序地插入到已经有序的扑克牌中。游戏结束后,扑克牌已经排好序。这样学生很自然地推理出“插入排序”算法的过程,深刻理解了算法的本质。

在启发推理过程中,教师可以给与少量的解释或提示,允许学生、教师之间交流讨论,鼓励学生说出自己的思路,同时,教师必须对学生提出的思路和理解给出合理的评价并给出正确的引导。

4)激发反思。

对于问题1,在激发反思过程中,首先,教师可以针对学生推理阶段形成的3种排序算法思路,即问题1.1(插入排序)、问题1.2(选择排序)、问题1.3(冒泡排序)与学生讨论3种算法的之间的关系及各自的优缺点。然后,让学生回顾3种算法的具体流程,引导学生发现算法可以改进和优化的地方,激发学生反思自己算法存在的问题,引出问题1.1.1、问题1.2.1、问题1.3.1,学生再经过探究、推理,解决这3个问题后,教师通过调整问题1的数据规模和应用条件,激发学生反思,引出问题2.1、问题2.2(快速排序、归并排序的算法思路)。可见,教师预设的问题系列,在激发反思阶段是教师和学生共同动态地生成出来。

4 结语

在文章提出的基于3C3R模型的数据结构课程教学模式的教学中,教学起始于问题,终结于问题。教师通过激发学生自我反思后,学生自主提出新问题,再对新问题进行探究一推理一反思一提出新问题,教学是没有终点的螺旋,允许学生重组个人的学习经验,重新赋予知识新的意义,并且不断地挑战学习者已有的认知模式。基于3C3R模型的数据结构课程教学模式有利于学生主动建构知识,帮助学生发展高级思维,养成学生自我导向的学习能力。但该模式要想实现预期,需要教师在未来的工作中不断提高在预设问题系列的质量和对生成问题时机把握方面的水平与能力。

参考文献:

[1]邓会敏.“问题一探究”教学模式在数据结构课程中的构建与实施[J].计算机教育,2007(4):41-44.

[2]庞晓琼.案例驱动的数据结构课程设计教学改革实践[J].计算机教育,2009(1):53-55.

[3]冯锐,缪茜惠.面向问题导向学习的3C3R问题设计模型述评[J].远程教育杂志,2010(1):70-74.

[4]李冬梅,孟伟.数据结构课程的教学改革与教材建设[J].计算机教育,2012(14):38-41.

(编辑:赵廓)endprint

猜你喜欢
数据结构排序算法
数据结构线上线下混合教学模式探讨
重典型应用,明结构关系
恐怖排序
Travellng thg World Full—time for Rree
节日排序
学习算法的“三种境界”
算法框图的补全
算法初步知识盘点
数据结构与算法课程设计教学模式的探讨
高效学习数据结构