数据结构实验教学研究与实践
2018-06-05初佃辉郑宏珍
张 华, 张 淼, 张 岩, 初佃辉, 郑宏珍, 张 策
(哈尔滨工业大学(威海) 计算机科学与技术学院, 山东 威海 264209)
近年来,不少院校和单位从实验教学体系、实验教学模式、实验教学方法、实验教学平台等方面对数据结构实验教学进行了有效探索和改革,取得了不少成果。主要有基于具体问题情境的融合式实验教学、以经典算法为主体的双边实验教学平台、基于先进工程教育理念的数据结构实验教学模式、数据结构实践教学体系研究、三层阶段递进式实验教学方案、一种注重基础训练并且有序深入的数据结构实践教学方案、一种数据结构实践教学内容设计方案、数据结构实验的分层次教学模式、以算法设计与分析为中心的数据结构实验教学方法、以创新人才培养为目标的数据结构实验教学体系、基于建构主义的数据结构实验自主探究教学模式、竞赛化的数据结构实验教学模式[1-9]。
本文在参考上述相关研究基础上,构建了层次化实验教学体系、设计了层次化实验教学内容,并研发了开放性在线实验平台。目标是加深学生对各种数据结构知识的理解,提高问题求解能力和创新思维水平。
1 实验教学体系构建
数据结构是计算机科学与技术、网络空间安全、软件工程以及人工智能等一级学科的核心专业课程,是设计和实现编译程序、操作系统、数据库系统及其他系统程序的重要基础,是非数值计算程序设计的基础[10],课程地位如图1所示。
图1 数据结构课程地位
数据结构实验教学体系以知识学习、问题求解能力提高和创新思维培养为目标;实验教学内容突出以“问题求解”为中心,并分层设计,主要包括验证型实验、设计型实验和研究型实验;依托自主研发的在线实验教学平台,灵活采用以“任务驱动”和“个别指导”为指导的实验教学方法;将ACM大赛、程序创新大赛、实际研究项目融入到实验教学考核环节。基于此构建的数据结构实验教学体系如图2所示。
(1) 实验教学目标分层。实验教学目标分为知识学习、问题求解和创新思维3个层次。知识学习是基础,强调常用数据结构和算法的实现;问题求解是核心,强调综合运用数据结构和算法的知识解决问题的能力;创新思维是灵魂,强调发现新问题或发现解决问题的新算法和数据结构。三者之间循序渐进、有机结合、融会贯通。
(2) 实验教学内容分层。实验教学内容分为验证型实验、设计型实验和研究型实验3个内容层次,依次对应实验教学的3个目标。难度由简单到复杂,注重数据结构和算法的实际运用和兴趣引导。
图2 数据结构实验教学体系
(3) 实验教学方法以任务驱动为主。通过任务驱动可以将实验教学从以基本知识学习为主转变为以问题求解和创新思维为主,使学生能够主动探究实验任务的解决方案。学生在自主完成实验任务的过程中,遇到困难可以寻求教师个别指导,为学生提供解决问题的有关线索;同时,鼓励学生之间、师生之间的讨论和交流,用来丰富、矫正和加深对当前实验问题的解决方案,具体流程如图3所示。
(4) 以在线实验教学平台为支撑。采用自主研发的在线实验平台,这样可以打破实验教学的时空限制,借助网络,学生可以随时随地进行实验,有利于增强学生参与实验的自主性,保证实验教学的质量。
(5) 累加考核,鼓励创新。实验教学的考核方式灵活多样,分级累加。主要包括线上自动评测、代码查重以及线下答辩。线下答辩主要突出对数据结构与算法的应用情况、创新思维以及参加实际项目和相关大赛的认定。评价的主要参考依据见表1。
2 实验教学内容设计
实验教学内容的设计需要兼顾学生水平、紧密联系实际和注重兴趣引导。只有好的实验内容设计,才能夯实理论基础、提高编程水平,并能综合运用数据结构和算法知识解决实际问题。因此,结合实验教学目标设计了分层次的实验教学内容,如图4所示。验证型实验、设计型实验和研究型实验由浅入深、循序渐进,做到知识的学习、能力的提高、创新思维的培养有机结合、融会贯通。在实验目标和实验层次的规范下,实验内容的数量和质量需要不断增加和提高,比如借鉴其他高校或平台上好的实验教学内容、抽取学科发展的相关子问题等。
图3 任务驱动的实验教学方法
实验类别参考比重/%参考依据验证型实验60自动评测结果查重结果报告规范程度设计型实验30问题的规模主要逻辑结构和存储结构关键算法及效率功能及界面团队协作能力报告规范程度研究型实验10参加各类赛事、项目或完成指定的研究性题目中所使用的数据结构和算法的情况创新点团队协作能力个人工作量取得的成绩报告规范程度
图4 数据结构实验教学内容设计
3 研发开放式的在线实验教学平台
针对数据结构实验教学的网络开放性不足、评判自动化水平低、师生互动渠道不灵活、实验作品(尤其是优秀作品)管理不集中且接触难的问题,设计并研发了开放的在线数据结构实验教学平台。平台架构如图5所示,实现了注册、选课、开课、发布实验内容、在线评测、代码查重、实验问答、实验文档管理、成绩管理、统计分析、题库管理、优质实验资源推荐等功能。平台贯穿了数据实验教学体系的各个环节。平台是开放的,能够很好地支持程序设计、数据结构与算法类课程的实验教学。平台是基石,实验内容的装填是灵魂,目前平台中已经积累了一定数量的验证型和设计型实验,覆盖了线性表、栈、队列、树、图、查找和排序等核心数据结构和算法。
4 应用效果分析及结论
通过对计算机科学与技术、信息安全、软件工程及数学等4个专业约420人的数据结构实验教学的试点应用,得出如表2所示的统计数据。可以看出实验的参与度、完成度和实验层次的难易程度比较适配,而且在线实验方式也深受欢迎,并普遍支持累加式的考核方式,达到了让普通的学生学得更扎实,好的学生走得更远的效果。
图5 数据结构在线实验平台架构
表2 应用效果统计 %
本文提出的实验教学体系兼顾知识学习、能力提高,又可以引领创新,通过改革考试方式鼓励创新,建立在线实验平台拓展创新空间,能够随时随地开展实验。实验内容设计由浅入深,层层深入,使学生对各种数据结构知识的理解水平随着实验的进行而提高,问题求解能力和创新思维也随着知识的贯通而形成,实验自主性得到提高。整体上,教学效果改观显著,使得学生对课程知识的把握更加系统,并能应用于实际问题的解决,学科视野得到开阔,对创新型人才培养具有实际意义。
参考文献(References)
[1] 刘端阳, 徐卫, 刘志,等. 基于PBL的数据结构课程的融合式实验教学[J]. 实验技术与管理, 2014, 31(5):225-229.
[2] 张岩, 娄久, 李秀坤,等. 数据结构经典算法实验平台的设计与开发[J]. 实验室研究与探索, 2015, 34(8):127-130.
[3] 连远锋, 张秀美, 李莉. 数据结构实验教学课程体系研究[J]. 计算机教育, 2011(13):128-131.
[4] 张同珍. 数据结构课程实验教学探索与实践[J]. 实验室研究与探索, 2011,30(9):307-309,341.
[5] 贾银江, 贺莉莉, 郑萍. 数据结构实验的分层次教学[J]. 计算机教育, 2014(4):60-62.
[6] 刘晓静, 王晓英, 张玉安,等. 以创新人才培养为目标的数据结构实验教学改革[J]. 实验技术与管理, 2014, 31(11):184-187.
[7] 丰洪才, 夏祥胜, 左翠华. "数据结构"课程实验自主探究教学模式的探索与实践[J]. 计算机教育, 2011(6):73-76.
[8] 张芩. 基于ACM竞赛模式的数据结构实验改革[J]. 计算机教育, 2014(15):28-30.
[9] 张仕, 吴闻, 郭躬德,等. 基于PCOJ的数据结构实验教学探索[J]. 计算机教育, 2015(3):30-32.
[10] 张铭, 耿国华, 陈卫卫,等. 数据结构与算法课程教学实施方案[J]. 中国大学教学, 2011(3):56-60.