《数据结构》研究性教学模式探究

2016-05-14 09:09胡志军
软件导刊 2016年7期
关键词:协同教学研究性教学数据结构

胡志军

摘要:探索了一种基于计算思维的《数据结构》研究性教学模式。从教学理念、教学内容、教学方法等方面对该课程进行研究性改革创新。实践证明,该教学模式提高了教学质量,培养了学生的计算思维能力、问题自主解决能力和协作创新能力。

关键词关键词:数据结构;研究性教学;计算思维;协同教学

DOIDOI:10.11907/rjdk.161286

中图分类号:G434文献标识码:A文章编号文章编号:16727800(2016)007020002

0引言

为培养国家经济和社会发展需要的创新型人才,高校需培养学生计算思维能力、问题自主解决能力和创新能力,激发学生的主动精神。计算思维能力的培养,研究性教学方法探究,已经成为高校教育教学改革的热点[1]。《数据结构》作为计算机课程体系中的核心专业课程,在其教学中融入计算思维能力的培养理念,开展研究性教学,可以培养学生利用计算思维方式去获取信息、分析问题、自觉推理、解决问题的能力。

1《数据结构》研究性教学

《数据结构》作为计算机专业的核心基础课,学生普遍认为其内容抽象、算法枯燥乏味,是一门难学课程,有的学生甚至学完后,也不明白数据结构的作用[2]。分析原因如下:①《数据结构》课程抽象。数据结构中涉及到的概念、模型及操作算法较为抽象,晦涩难懂;②教学模式、方法单一。黑板粉笔方式与简单翻页的多媒体辅助教学,缺乏直观效果,不能很好地展示算法的动态变化过程,学生无法理解数据结构之间的逻辑关系和存储关系;③理论与实践脱节,实践教学环节不足。目前重理论轻实践的教学,只要求掌握几种基本类型的数据结构和基本操作,无法关联计算机技术的诸多内容和发展方向,在培养学生程序设计能力、创新能力上不可避免存在不足。

针对上述问题,如何提高《数据结构》课程的教学质量,如何培养学生自主解决问题的能力、协作能力与创新能力,是本课改面临的重要问题。

1.1研究性教学改革内容

依据由简单到复杂的系统科学分类原则,将《数据结构》中的内容分为一对一的线性结构(线性表、栈、队列、串、数组和广义表)、一对多的非线性结构(树、二叉树、图)以及数据结构的应用(查找和内部排序),然后根据课程总体教学目标划分一系列单元子目标,再根据子目标细化成具体任务。比如,线性表这一章中,主要研究顺序与链式两种存储结构的运算操作,其任务可设计为制作通讯录,准备选用哪种存储结构,如何基于这种存储结构进行记录的插入、删除、查找等运算,最后整理成菜单形式,整合通讯录以上功能。

1.2研究性教学方法

1.2.1教学方式

(1)案例教学。案例教学可将各章节内容有机组合,一个案例可贯穿整个教学实践,起到导入作用[3]。案例选择要贴近学生日常生活或是学生感兴趣的内容。比如:①线性表,用学生成绩管理系统、学生通讯录导入;②栈和队列,用停车场的停车管理、食堂排队打饭导入。在导入案例时,一定要注意充分挖掘案例的趣味性、启发性,要恰到好处地从案例过渡到具体的数据结构。

(2) 问题启发。以问题为中心,在案例引入后,首先提出问题。比如,引入学生成绩管理系统案例后,提出问题:如何组织学生的姓名、学号、各科成绩等数据,快速实现查找、插入、删除等操作;在楼房建设问题中,如何施工以求工期最短等。

(3)任务(项目)开发。任务驱动法是一种以解决问题、完成任务为主的多维互动式教学理念,特别适合实践教学。它的特点是以任务为主线,教师为主导,学生为主体,通过设计任务、提出任务、分析任务、完成任务、评价任务等环节使学生成为主体,锻炼其能力,可极大地调动学生的自主学习兴趣,培养学生分析问题、解决问题的能力。

(4)分组研习。分组研习是一种以小组为单位进行自主学习、讨论,协作解决问题的教学方法。在最近三届学生的《数据结构》教学中,课题组采用分组研习的教学方法,取得了较好的教学效果。学生分组上台讲解指定内容,组长给各组员分工,组员分别完成分析教材算法、准备PPT、准备教案、准备上台讲解、给他组提问题工作,台前幕后分工明确。学生在完成各自的任务中,提高了计算思维能力、自主学习能力与解决问题的能力。

以培养计算思维能力为主线的研究性教学方法如图1所示。

1.2.2开展协同教学

研究性教学的主要目的是发挥学生的主观能动性,调动学生的学习兴趣,使学生成为学习主体[4]。在长期的教学中,师生协同是最有针对性的教学方法。协同教学是一种新的教学方式,它不仅指教师之间的协同,还包括教师与学生间的协同,学科与学科之间的协同,学生与学生之间的协同。

(1)建立课程群。将《数据结构》的前修课与后继课的授课教师均加入到课程组中,比如《高级语言程序设计》、《离散数学》、《算法设计与分析》、《数据库系统原理》等相关课程的老师。这样可以将计算机专业课程体系中的相关课程之间协调更合理,知识点的衔接更畅通,避免了课程之间知识点的重复讲授,体现了教师与教师之间、教师与课程之间的协同性。

(2)学生之间的协同性分别体现在理论教学、实践教学与考核评价体系中。①理论分组研习。如前所述,同组学生协作完成教师分配的讲课任务,将教师对全体学生答疑辅导的现状改为学生之间的互助答疑,本组学生向他组提问答疑,增加了学生之间的协作关系;②实践分组协作,指小组协作完成实验任务。根据学生的能力差异,多层次分级设计实践环节,提高学生动手能力。如,在学完线性结构时,让学生分三个层次完成通讯录管理实验。第一层次:选用链表或顺序表等一种存储结构,实现插入、删除、查找算法;第二层次:前述基础上,用菜单形式,实现头插法建链表、尾插法建链表、删除链表中结点、按值查找、按位序查找、退出等多项运算;第三层次,把以上结构体具体到“学生通讯录”问题中,仍然用菜单形式,实现通讯录的插入、删除、查找等管理功能。通过对这些实验项目的分析、设计、编程实现,学生不但体会到了线性表和队列这样的数据结构如何从现实问题中抽象出来,解决现实问题,而且体现了计算思维过程,增强了协作能力;③考核评价,引入过程性考核指标,每小组可给他组同学打分,所有分数加权处理后形成学生评价分。引入协同教学,不仅在教学上发挥了学生的主观能动性和合作奉献精神,而且在课程考核方面,突破了传统的教师给学生打分的评价体系桎梏,学生之间互评,使考核体现了公平与量化,增加了学生之间的互动协作,提高了实践能力和协作能力。

2计算思维理念培养

2006 年 3 月,周以真在 Communications of the ACM 上首次提出,计算思维可分解为:递归抽象和分解、保护、冗余、容错、纠错和恢复、推理、规划、学习和调度等。计算思维与数据结构本身有相似之处,计算思维可概括为“模型+算法”,数据结构可概括为“(逻辑|存储)结构+算法”,它们都是静态结构和动态操作的结合,都可理解成是一个抽象建模的过程,只不过计算思维的概念更宽泛,它还要考虑问题的可计算性。利用数据结构中的插入、选择、冒泡排序等排序算法,渗透讲解计算思维思想,层层抽象和分解,把排序问题转换为简单的小问题。利用数据结构中的二叉树遍历问题,渗透讲解计算思维中的“递归”思想,比如,中序遍历“左根右”,对左或右子树继续利用“左根右”思想遍历,体现递归思想。在《数据结构》中培养计算思维能力,可加强学生自学能力、质疑能力、问题解决能力和创新能力的培养。

3结语

本文以计算思维为主线,采用“案例导入,问题启发,任务驱动,分组研习”的研究性教学方法对《数据结构》课程进行教学改革。开展协同教学,多方位、多角度对该课程进行深层次的教学改革创新,培养了学生的计算思维能力、自主解决问题能力和协作创新能力。

参考文献:

[1]徐薇,王志海. 数据结构课程研究性教学理论与方法探索[J].计算机教育,2012 (1):3538.

[2]朱焕,马文静,孙玉梅.研究性教学在《数据结构》课程中的探索与实践[J].大庆社会科学,2015(3):144145.

[3]纪玉玲,刘丽杰,于成江.研究性教学方法在《数据结构》课程中的应用[J].中国电力教育,2013 (1):9293.

[4]李静.研究性学习在《数据结构》课程中的应用研究[J].软件导刊,2012,11(12):222223.

责任编辑(责任编辑:杜能钢)

猜你喜欢
协同教学研究性教学数据结构
“互联网+”时代下协同教学模式的创新方法研究
研究型大学本科生科研能力提升策略
基于研究性教学的数字电路与系统实验教学改革
水质工程学课程群研究性教学改革与实践
研究性教学理念下的普通心理学教学改革
“翻转课堂”教学模式的探讨——以《数据结构》课程教学为例
TRIZ理论在“数据结构”多媒体教学中的应用
《数据结构》教学方法创新探讨