翟佳佳 朱晶晶
摘要:该文针对目前数据结构课程设计存在的问题,提出相关解决措施,使学生能够理解和学习如何分析和解决问题,教师应将提高自主学习能力为目标,进行课程设计创新。实践证明,案例驱动教学法可以弥补传统教学法的不足,拓宽学生的思维,提高学生自主学习效率,达到数据结构课程设计的教学目的。
关键词:案例驱动;数据结构;课程设计;教学改革
中图分类号:G642 文献标识码:A
文章编号:1009-3044(2021)26-0209-02
开放科学(资源服务)标识码(OSID):
案例驱动的数据结构实践是至关重要的,只有有效实行该教学过程,才能够提高学生的程序设计能力,使学生可以有效解决相关问题,同时提高自身的实践创新能力。案例驱动的数据结构课程设计教学改革在实际教学中收获颇丰,是具有较高教学效率的教学改革。
1 课程设计的教学目标及定位
课程设计相关的教育目标是:(1)学生通过课程设计深刻理解教材中学习的基本知识和基本理论,并结合各种数据结构,计算机表现形式,基本任务和基本操作的特点,进行相对复杂的计算,提升算法分析和评估能力;(2)使学生具有分析抽象数据的能力,并从复杂的实际应用问题中提取正确的数学模型;(3)通过加强编码方面的指导,使学生可以提高他们的编程技能,正确编写程序,并写出高质量的程序;(4)带领学生在分析、设计、编码、调试等模块加强学习,教育学生掌握软件所需的实际技能以及分析和解决问题的能力;(5)培養学生在需求分析、大纲设计、详细设计、编码实现、测试维护等方面的能力,初步培训学生关于软件工作标准和科学学习方式的能力;(6)培养学生团队合作精神和编写规范性数据的能力。
2 传统课程中发现的问题
(1)缺乏操纵整体工作的能力。学生在电子计算机模型上的工作能力较差,对软件开发的知识欠缺,因此他们缺乏操纵整体工作的能力。通常,软件开发课程是在算法设计课程之后建立的。在学习设计方案的算法设计课程之前,大多数学生没有分析和编写大中型程序过程的经历。
(2)基本数据结构被机械复制。数据结构教科书都是最原始的数据结构。基本上,没有扩展和修改,直接在课程设计中使用它来解决实际问题有所欠缺。
(3)存在复制他人的课程设计现象。由于完成课程设计所花费的时间有限,因此一些学生寻求解决办法,通过互联网、书籍等解决无法自行完成的问题,无疑是通过查找资料,汲取其他人的解决问题思路来解决自己的课程设计问题。
3 案例驱动的数据结构课程设计教学改革的特点
案例驱动的数据结构课程设计教学改革是将案例教育的概念引入算法设计学科设计文化教育。在对经典案例的基本原理和处理过程介绍的基础上,再加上多媒体系统,使老师与学生进行交流和互动,提高学生分析和处理抽象问题的能力,塑造学生的设计计划和自主创新的专业技能,并填补和改善当前算法设计课程中缺乏实践活动的能力。该方法具有以下特点:
(1)了解软件开发的概念。案例驱动的数据结构设计是软件开发概念的实际过程,使学生在解释的全过程中有效了解软件开发的全过程,掌握设计观念。
(2)提高自主学习能力。教师对经典案例包含的算法设计进行详细的分析。在应用不同的算法来处理相同问题时可能会导致特性和功能上出现差异,学生可以在与老师的交流讨论中提高对各种数据结构的理解,帮助学生设计出更适合解决课程设计问题甚至多种解决方案的数据结构。
(3)养成良好的编程习惯。教师在指导学生写代码的同时,代码案例应该具有标准化的定义,清晰的过程,强大的可读性和参考值,在此条件下鼓励学生养成良好的编程习惯。老师根据多媒体方法展示编码编译程序和调试的全过程,使学生对编程的自然环境有更具体的了解,并能够灵活地应用诸如跟踪和断点之类的调试方法,开发过程将更加有效。
4 典型数据结构课程设计案例分析
“活期储蓄账户管理”是一个典型的数据结构课程设计主题。下面以描述过程为例,概述案例驱动的数据结构课程设计教学的过程。本次课程设计中需要实现的功能有:(1)使用交互式工作方法 ;(2)实现创建新用户;(3)实现取消储蓄账户;(4)存入银行具体账户;(5)提款。在特定账户上实现的功能有:(1)排序并显示所有账户信息;(2)查询账户余额;(3)查询交易记录;(4)将所有账户和交易信息保存到文件中,程序运行时从文件中读入。在课程设计中研究的知识点包括:数据结构的选择和构建,使用与特定数据结构相对应的算法来实现特定功能,将结构化数据读取和写入文件以及灵活使用编程语言。
首先,务必对主题进行粗略的分析,分析出主题包括两个级别的信息。一方面,基本存款账户信息内容可以设计为包括诸如账号、名称、账户余额等字段名称。另一方面,交易明细信息内容可以设计为包括诸如账户的字段名称。数据结构中有顺序存储结构、链式存储结构和树形结构,每种类型的存储结构都有其优缺点。顺序存储的总体设计较简单,插入和删除账户必须移动记录,很难连续存储单个账户的交易详细信息。当枚举类型并从顺序良好的序列表中查找记录时,可以应用某些优化算法(例如二分法)来提高事务管理记录的效率。总体来说,顺序存储适用性和总体效率相对较低。链式存储结构设计略复杂,容量不设上限,账户插入删除较方便,链式结构中存储的事务管理记录是连续的,因此枚举类型很方便,但是效率很低。查找记录时,它将解析所有链接列表。从此案例分析,链式存储结构适用性和总体高效率高于平均水平。树形存储结构是最复杂的,并且没有容量限制。插入和删除优化算法也相对复杂。独特的树结构(二进制排列树等)的应用可以提高检索效率。实际上,数据库管理系统(DBMS)大多以树形结构实现。综上分析可得出结论,在实现难度方面,顺序存储是最简单的,链式存储居中,树形存储是最困难的。因此,一般情况下,可要求学生使用链式存储来完成学习,并且适当鼓励技能较强的学生使用树形存储来实现。