“数据结构”课程的教学探讨

2016-02-08 08:42王占凤程靖方
巢湖学院学报 2016年6期
关键词:项目编号数据结构算法

王占凤程 靖方 周

(1 巢湖学院,安徽 巢湖 238000)

(2 安徽农业大学,安徽 合肥 230039)

“数据结构”课程的教学探讨

王占凤1程 靖2方 周1

(1 巢湖学院,安徽 巢湖 238000)

(2 安徽农业大学,安徽 合肥 230039)

数据结构是关于数据存储、数据组织方式、数据关系等方面的计算机专业核心课程,文章从数据结构课程教学角度探讨教学中所存在的问题,并对数据结构教学内容和方法进行归纳,提出解决思路。

数据结构;教学内容;教学方法

1 引言

当今计算机所研究的对象已经从单一的数值,向字符、图像、表格、视频等具有特定逻辑关系的非数值型数据转变。这一情况直接改变了数据结构研究对象,即研究对象将从单一的数值型数据转变成复杂的非数值型数据。由于数据结构教学中普遍存在研究对象的抽象化、复杂化理论知识,使得学生入门难,思维建立难。为此,如何提升“数据结构”教学质量,引导学生熟练完成各种算法构建和程序实现是课程教师的主要任务。本文结合数据结构教学情况进行了探讨。

2 教学中存在的问题

在计算机专业众多课程中,数据结构一直处于核心地位,但其抽象的知识结构,复杂的前驱课程,使得数据结构成为课程设置中既难教又难学的一门专业基础课程。目前该课程在教学中主要存在以下问题:

2.1 抽象复杂的课程内容

数据结构课程的抽象性主要体现在抽象的数据逻辑结构;抽象的算法与可执行程序的转换;抽象的伪代码描述算法思想等方面[1]。同时,抽象的理论知识还要求任课教师在有限的课时内完成教学任务,客观上从教和学两方面均增加了难度。

2.2 难以入门的课程实验

多数高校培养方案是先设置程序设计前驱课程[2],普遍采用面向过程的C语言。而当今社会应用多为面向对象的语言,这种设置方案与社会需求的偏差导致学生产生疑虑和抵触情绪,使得原本抽象的学习内容和课程实验,在教学初期就进一步增加了难度,学生难以入门。

2.3 难以理解的课程设计

高校数据结构的实验大纲中都明确学生在掌握理论知识的基础上,利用程序设计语言解决基本的实际问题,以实验课教学的形式上机实现小型设计实例。既能加深学生理解数据结构理论知识,又能促进学生熟练运用程序设计语言。而实际的教学难点是多数学生在未建立计算机程序设计思维的情况下便进入“数据结构”的学习。尤其在实验课中尤为明显,导致学生很容易失去信心。

2.4 单调乏味的教学模式

目前,数据结构课程主要是以理论教学为主,实验课程为辅的传统教学模式。一方面,理论课主要讲授各种逻辑结构的算法分析与设计,较少采用案例教学、启发式教学和任务驱动型教学法,缺乏互动式教学模式。很难建立起学生对理论知识学习的兴趣。另一方面,实验课程主要实现基础知识的验证性实验,缺乏与实际问题相联系,即使在实验之后,学生会仍然迷茫学习数据结构的意义之所在。

2.5 畏惧排斥的学习情绪

抽象的理论知识和复杂的编程实验导致多数学生产生一定的畏惧排斥情绪,如何激发学生的学习兴趣,建立主动学习的氛围,成为该课程教学的主要目标。根据教学经验,学生的畏惧排斥心理主要源于前驱课程的薄弱,没有掌握良好的编程能力和抽象数据分析能力,以至于加大了教师消除学生畏难情绪的难度,严重影响“数据结构”的学习效果。

2.6 课程考核的局限性

多数高校数据结构课程考核仅局限于期末的闭卷理论考试,忽略了考察学生的实践能力。尽管算法分析设计题在试卷中占有较大比重,也仅限于考察学生的算法思维能力,能否调试运行也都无法定性讨论。特别是,这种考核方式也误导了学生的学习重心,重理论知识,轻编程实验能力,无法全面、准确衡量学生的知识水平。

上述问题的形成既有学生自身学习的内在原因,也有课程教学、引导的外因。本文将从教学实践中研究“数据结构”的教学方法和经验总结,探讨新的教学思路。

3 教学过程中需要探讨的问题

3.1 教学内容的调整

数据结构课程教学内容难点多、关联性强,如何在有限的课时内对课程合理编排,并提升教学效果,为此,必须对教学内容精心细化,学练结合。

3.1.1 重在基础,突出重难点

根据数据结构课程特点,授课教师应重在基础,突出重难点。从实际教学情况出发,对教学内容做合理提炼,能使学生紧扣重点,触类旁通。本课程的教学内容主要分布在以下模块,如表1所示,其中给出对应知识点的算法分析和设计。

表1 数据结构常用算法教学知识点的分布

3.1.2 多元化的语言描述

目前,多数社会应用软件开发使用面向对象程序设计语言,而高校教学为引导学生打牢专业基础,多采用面向过程式设计语言。为拓宽学生视野,增加学生学习兴趣,在教学过程适当使用对象式语言编译算法。但必须向学生明确,建立算法思维是主要目标,语言种类只是方法。

3.1.3 因材施教

高校专业课程对教学方法具有导向作用,完善的教学大纲和培养方案,应根据关联课程开设情况和学生前期课程掌握情况为基准,在教学过程中应增加示范教学。授课过程适当采用动态调整的教学思路,进行因材施教,将使学生对抽象的算法进行更深刻的认识,从而达到更好的教学效果。

3.2 实践环节的设计

数据结构是一门理论和实践并重的综合性课程[3],只有加强实践编程教学,才能加深对抽象理论的理解。因此,实践教学成为数据结构课程的必要环节,实验方案合理的安排,有利于学生的理解和掌握。同时,还应根据不同的学生素质和不同的培养目标进行设计不同的实验方案,才能达到理想教学的效果。

3.2.1 实验内容的设计

数据结构实验主要目的是通过实践来培养学生分析问题、算法设计、实践验证等能力。帮助学生独立于数据结构教科书,结合实际应用要求,通过详细的实例分析和循序渐进式描述来启发学生。实验内容以顺序安排教学课程为基础,在后续试验中逐步引用前述实验内容,不仅能全面、直观的向学生呈现学习成果,还能加深前期学习内容的理解和运用。例如,一元多项式的运算,就可以很好的联系学生对加减乘进行实现,又练习链表的存储和链表的合并等相关知识。

3.2.2 实验课的合理安排

实验时间合理的安排是实验效果的有力保障,主要涉及课时量和时间节点两大因素,在条件受限的情况下,一周至少确保安排两节至四节实验课。授课教师在确保试验内容的情况下,应详细记录学生的常见错误,并及时更正学生不良编程习惯。

3.2.3 实验课教学方法的改进

为了让实验教学达到预期目标,应从细化整个试验规程入手,尤其强调试验准备期的重要性:授课教师应提前发放实验资料,督促学生利用课余时间吃透试验内容,所用知识点和操作难点;在试验课中,教师必须抽出适当时间以互动式教学,指导学生正确使用基础算法,避免学生思路不清,错用、乱用各项知识;在实验完成后,老师一定要检查学生的完成情况,特别是要避免只看结果,忽略内容的常见考核方法,强调试验报告实时提交的原则,仔细批阅实验报告内容,找出共性问题,再反馈教学。

3.3 教学方法的探讨

“数据结构”抽象性和理论性较强,多数学生短时间内既不能深入理解理论知识,更难形成算法思维,学起来枯燥、无味。为此,需要灵活运用多种教学方法,以激发他们的学习兴趣和积极性,培养其分析、解决实际问题的能力。

3.3.1 多媒体辅助教学

“数据结构”课程涉及到形式语言与自动机理论,主要包括一些经典的语法、语义分析算法。这些理论和算法抽象复杂,不易理解。为此,需要借助多种辅助教学手段,如CAI课件、CAI教学系统和教学网站等。这样可以把抽象的理论形象化,把知识讲解化静为动,寓教于乐,培养和激发学生的学习兴趣。

3.3.2 师生互动式教学

教学是由“教”与“学”两方面构成的,师生互动才能“教”“学”相长,提高教学效果[4]。在课堂上,应采用“启发式”“讨论式”“提问式”等多种教学模式,以拓展学生思维,引导其积极思考;课后,适当利用网络平台,以多样的形式及时获取学生对教学活动反馈建议,以便及时发现问题,及时调整教学进程。作为补充,授课教师可周期性的组织研讨会,一方面是答疑,另一方面逐步介绍编译领域的新问题、新动向,不断提高学生学习积极性。

3.4 理论与实验教材的建设

“数据结构”经典教材比比皆是,适合我院学生实践能力的实验教材却不多,根据实验课程内容的设计,有必要编写“数据结构”课程实验教材。

3.5 慕课的兴起

网络化教学已经是目前较为流行的一种良好的教学手段。根据慕课搭建的网络教学平台,可以实现网络化学习的各个环节。慕课是针对目前中国高校而定制搭建的网络学习平台,可以很好的实施多教学模式,实现碎片化学习,真正使用互联网互动学习。数据结构课程可以利用慕课网络教学平台来丰富学生学习的内容,同时增强学生学习的兴趣。

4 结束语

数据结构在计算机专业及其多学科交叉专业中的地位是不可撼动的。通过数据结构课程的学习,可使得学生获得对实际问题的分析和设计的初步能力,为后续算法分析与设计这门课程起到铺垫作用。结合多年的实践教学经验,在此分析了“数据结构”课程教学中提出的六个问题,期望在今后的教学中能达到较好的教学效果。

[1]严蔚敏,吴伟民.数据结构(C语言版)[M].北京:清华大学出版社,2008:3-5.

[2]张敬芝.数据结构课程教学改革研究[J].长春师范学院学报,2005,(3):8-10.

[3]苏仕华,魏韦巍,王敬生,等.数据结构课程设计[M].北京:机械工业出版社,2009:2-5.

[4]吴其林.“编译原理”课程的教学探讨[J].电脑知识与技术,2012,(2):408-410.

A BRIEF DISCUSSION ON THE TEACHING OF DATA STRUCTURE

WANG Zhan-Feng1CHENG Jing2FANG Zhou1
(1 Chaohu College,Chaohu Anhui 238000)
(2 Anhui Agricultural University,Hefei Anhui 230039)

Data structure is the core course of computer major on data storage,data organization and data relationships.The paper discusses the problems existing in the teaching from the perspective of data structure course teaching and summarizes the teaching contents and methods of data structure,with the corresponding solutions put forward.

Data Structure;Teaching content;Teaching method

G642.0

A

1672-2868(2016)06-0111-04

责任编辑、校对:李 晓

2016-10-12

安徽省高校校级教学研究项目(项目编号:ch13kcjgxm24);国家自然科学基金项目(项目编号:11401056);安徽省高等学校省级教学研究项目(项目编号:2015jyxm325);安徽省校企合作实践教育基地项目(项目编号:2015sjjd021);安徽省高校省级教学研究项目(项目编号:2014jyxm331);安徽省省级特色专业(项目编号:2013tszy020);巢湖学院人才培养模式创新实验区(项目编号:ch12syq02)

王占凤(1984-),女,安徽六安人。巢湖学院信息工程学院,讲师。研究方向:数据挖掘和信息安全。

猜你喜欢
项目编号数据结构算法
数据结构线上线下混合教学模式探讨
更正启事
基于MapReduce的改进Eclat算法
Travellng thg World Full—time for Rree
进位加法的两种算法
How has Art Deco affected Chinese architecture
“翻转课堂”教学模式的探讨——以《数据结构》课程教学为例
一种改进的整周模糊度去相关算法
高职高专数据结构教学改革探讨
TheUtilizationandApplicationofParaphraseinBasicCollege