APP下载

“数据结构”课程面向实践的信息化平台建设

2022-05-23祝建华许贵平

电气电子教学学报 2022年2期
关键词:数据结构实训算法

袁 凌 祝建华 许贵平

(华中科技大学 计算机学院, 武汉 430074)

“数据结构”课程是计算机技术类各专业的专业核心必修课程,该课程是一门理论性较强比较难理解但又必须面向实践和应用的课程。我校“数据结构”课程组于2018年在“爱课程”平台上建设了“数据结构”MOOC(慕课)课程,迄今为止运行8期,线上选课人数超过10万人次,教学效果良好,并于2019年获得“国家在线精品课程”称号。

本课程组运用MOOC在线课程还尝试了SPOCs线上线下混合教学模式的演示[1-2],改变以教师为中心的传统理论教学模式。由于线上线下混合教学模式的有效运用,本课程组所建设的“数据结构”课程于2020年获得“国家一流课程(线上线下混合)”的褒奖。但目前的线上线下混合教学主要以理论教学为主,学生一直对如何实践颇感困惑,即很难将理论算法和抽象概念转化为可具体实现的代码。为了解决这一难题,应在讲授典型数据结构概念、算法的基础上,加强上机操作训练等实践教学环节,提高学生组织数据结构及编写应用程序解决实际工程问题的能力,架起从理论走向解决实际问题的桥梁[3]。值得重视的是:“数据结构”实践教学不仅是培养学生算法设计和实现能力的主要教学环节,更是培养学生计算思维、工程能力的有效途经[4]。

1 课程现状分析及存在的问题

“数据结构”是计算机科学与技术专业的一门综合性的重要专业必修课,主要讲授从现实中总结出的数据的逻辑结构、数据在计算机中的存储结构及在数据结构上能进行的各种处理运算方法。该课程的教学目标是让学生根据实际问题设计出数据的逻辑结构,选用合适存储结构,设计算法并编写出解决应用问题的程序,从而培养学生的实践能力和工程能力。然而由于“数据结构”这门课程具有相当的抽象性和动态性,目前只靠以理论教学为主的线上线下教学模式达到的教学效果不太理想。“数据结构”课程教学的现状和存在的问题主要有:

(1)在线实践课程非常少,并且课程资源短缺,主要是“课件+视频+讨论版+知识点客观题练习”的基本形式,远远不能满足对学生工程能力的培养要求;

(2)信息技术与实践教学没有深度融合,信息技术在实践教学过程中的广泛应用不够深入,如层次化的实训项目训练等引入到实践教学的研究比较少;

(3)基于信息化的混合式实践教学研究比较少,缺乏有效的过程管理和科学的评价手段。

“数据结构”课程面向实践的信息化建设以系统工程能力培养为目标,根据课程特点,设计层次化的实训项目,通过分层次实践教学体系,构建“数据结构”课程信息化平台,对学生进行全过程的工程能力培养,如图1所示。课程建设为秉承“以学生为本,强化知识与技能、注重过程与方法、提高素质与能力、突出实践与创新”的教学理念,构建“知识点应用分析、算法设计实践、数据结构工程实践”三个层次的实训项目,并辅助设计有效的过程管理和科学的评价手段,从而有效地培养学生的工程实践能力。

图1 “数据结构”课程体系信息化平台

2 课程信息化建设内容

“数据结构”课程信息化建设的主要思路是:

(1)教学实践同步化。建设“教-学-做-考”一体的同步教学互动,构建适应同步化实践教学的闯关式实训项目。依托信息化平台,重新进行教学设计,将课程的理论教学与知识点应用、算法设计实践、数据结构工程实践、考察融为一体,在“数据结构”课程中开展同步教学,并研究基于工作过程系统化的教学设计,提高学生的学习兴趣和教学质量;

(2)将信息技术融入实践教学。将问题导向、合作学习等教学方法引入到“数据结构”课程教学中,将信息技术与实践教学深度融合。以课内为主向课内外结合转变,强调课外自助餐式的学习;以结果考核为主向结果和过程结合转变,强调理论、实践、应用相结合;重新设计课程的实训教学流程,实训项目的设计以解决问题为目标,引导学生进行实践操作,进一步深入理解理论知识及其应用场景,以培养学生分析问题和解决问题的系统工程能力。

根据这个思路系统构建了“数据结构”课程面向实践的信息化平台。其中,实训项目的构建主要分为三个层次:第一层次是根据理论课重要知识点构建的关键知识点应用分析;第二层次是根据知识点应用分析引导的算法设计实践项目;第三层次是以典型数据结构为导向,构建系统式闯关型的工程实训项目。

2.1 关键知识点应用分析实训项目

这个层次的实训项目根据“数据结构”理论课的关键知识点进行设置,全方位增强学生对关键知识点的理解和分析能力,激发学生学习兴趣和求知欲望。表1即是关键知识点应用分析实训项目的设置。

表1 关键知识点应用分析实训项目

以“图”这个知识点为例说明信息化平台的设置:学生通过平台设置的简答题对“图”这个数据结构进行实训练习,平台给出相应的评阅结果和分数。学生经过这个层次的实训,能深刻理解“图”的重要存储结构:邻接矩阵、逆邻接矩阵,以及出度、入度、强连通分量等重要知识点,为掌握图的最小生成树、拓扑排序、关键路径以及最短路径等重要算法打下良好基础。学生可以根据理论课的教学进度实时进行训练,夯实基础,从而为培养算法设计思维和工程实践能力做好准备工作。

2.2 算法设计实践实训项目

这个层次的实训项目根据上一层次的知识点进行引导,设置具有一定难度的算法设计题目,充分训练学生的编程素养,以及分析和处理实际问题的能力。表2即是算法设计实践实训项目的设置。

表2 算法设计实践实训项目

以实训项目“函数值计算”为例进行说明,如何在信息化平台设置任务、涉及的相关知识点和编程要求,如图2所示。学生开始实训后,可在左边清楚地看到此项目的任务描述、所用到的相关知识、编程要求和测试说明。“计算函数值”这个算法主要针对某个相对复杂函数求解并存入相应的数组中,此算法为后期更复杂算法打下基础,并培养学生的基本编程素养。右边即是系统给出的编程环境,学生根据项目要求编写程序并进行调试。为方便验证学生程序的正确性,特在后台根据项目的特性设置对应的测试集,如果通过测试集的测试,此项目就达到要求。并且运用后台分析学生所提交算法的时间复杂度和空间复杂度来衡量学生所完成算法的质量。

图2 算法设计实践实训项目信息化平台截图

2.3 数据结构工程实践项目

这个层次的实训项目以典型数据结构为导向,构建系统式闯关型的工程实训项目。通过工程训练,充分训练学生的系统工程能力。如表3即是数据结构工程实践项目:

表3 数据结构工程实践项目

以“顺序表操作”为例进行说明,如何在信息化平台设置16道关卡。如图3所示,为了训练围绕“顺序表”这个结构的相关算法设计,设置了16个关卡,包括基础的元素增删查改,以及更复杂的多表管理与读写。学生在平台中进行每个关卡的实训时,后台都会记录完成的时间、评测的次数、获取的经验值,以及最后的得分。

图3 数据结构工程实践实训项目信息化平台截图

对每一个关卡的通关,以第一关“线性表的创建”为例,平台会设置说明此关卡的任务描述和所用到的相关知识,并在编程要求中详细说明了此关卡需完成的主要功能,特别解释了带表头结点和不带表头结点时线性表创建的不同设置,为后面线性表系统应用打下基础。学生针对关卡要求进行程序设计,通过平台的编译和调试,如果通过了相关测试集的测试,即可验证学生编写程序的正确性和有效性。还可根据学生的提交次数和通过次数,反映学生在编程方面投入的时间和努力,从而进行综合的评估。

3 科学的过程化管理和评价手段

1)以学生为中心的追踪式过程管理

“数据结构”信息化平台实施课堂班级管理,对每个课堂、每个学生完成情况进行实时的跟踪,各个教师可以同时看到全年级各班的学生作业完成情况,也便于同行教师互相交流,共同提高教学水平,提升教学效果。如图4所示,针对不同的理论课堂分班情况,给出学生的作业状态、实训耗时、完成关卡、以及当前成绩。

2)对学生进行层次化个性化管理

严格要求学生根据教学进度按时完成相关实训项目,同时也给学习进度慢的学生提供机会,作业采用允许补交的方式,鼓励学生不要放弃。任课教师可根据学生完成情况及时调整实训项目的开始时间和截至时间,对不能及时完成的后进学生开启补交模式,并设置一定的迟交扣分,做到公平公开。

图4 学生管理信息化平台截图

3)有效的个性化学生学习效果评价措施

(1) 学生的成绩进行实时统计,进行有效追踪。在平台所有登录学生中根据实训作业的成绩和时间等指标进行计算,定期选出明星学员,并给出前五名的排名,激发学生的竞争意识,你追我敢,形成良好的学习氛围;

(2) 对单个学生工作效率进行评估,做到个性化管理。平台可以展示每一个学生的整体工作效率(log(实训总得分/实训总耗时)),并专门指示当前的工作效率,便于教师与学生进行监督和自查,并用中位值来表示课堂所有学生的工作效率,从而提醒学生提高工作效率,也方便教师进行全方位的考察和评价;

(3) 对学生综合能力进行有效评估,从而进行科学评价。平台可以展示每一个学生的整体能力值(实训获得经验值/实训评测次数),并专门指示当前的能力值,便于教师与学生进行监督和自查,也能让教师进行全方位的考察和评价。

4 实施效果

通过信息化平台所设置的各种有效实训、考察、评价措施,2020年计算机学院2019级计算机专业技术、物联网等相关专业近400名学生均在理论和实践上得到充分锻炼,学生反馈“此信息化平台的设置能快速引导我们进入“数据结构”这门专业核心课程的学习,收获很大!”。

下面分别就2019年、2020年“数据结构”理论考试和课成绩进行对比,分析采用信息化平台后学生在成绩上的提高。

1)“数据结构”理论考试情况对比

将2019年、2020年数据结构理论考试中的及格率、优秀率、算法题得分比例进行了对比,如图5所示。可以发现,在这三项指标上,2020年的考核成绩都有提高,其中及格率达到92%,优秀率达到8%,算法题得分比例达到80%。学生普遍反映遇到算法设计的题目不再出现无从下手的情况,可见信息化平台中针对算法思维和工程能力的培养卓有成效。

图5 “数据结构”理论课成绩对比图

2)“数据结构”实验课程考核情况

“数据结构”除理论课程外,还专门开设了“数据结构”实验课,在采用信息化平台的情况下,2020年考核中优秀率比以往有较大提高,可以达到13%,良好率也达到82%。将2019年、2020年“数据结构”课程设计考核中的优秀率和良好率的得分比例进行了对比,如图6所示。学生在实验考核中所写的程序功能完备,形式规范,实验报告详实并包括多个测试案例,充分体现了学生的工程实践能力。很多学生在实验报告中反映“通过信息化平台培训了规范的编程方法以及编程素养。”很好地训练了学生的系统工程能力。

图6 “数据结构”课程设计成绩对比图

5 结语

“数据结构”课程是培养学生系统工程能力的基础课程,理论性和实践性都很强。课程的学习需要理论教学的结果来指导实践教学的过程,更需要实践教学的过程来强化理论教学的效果。课程组所构建的教学信息化平台,在以往以理论为主的基于MOOC的线上线下混合教学模式中,有效补充了以实践为核心的多层次实训项目。通过设置算法设计实训项目,培养了学生良好的算法思维;通过系统、科学地设置系统实训,充分锻炼了学生的编程能力,培养了学生动手解决实际问题的能力;并通过科学的过程管理评价手段,提升了项目设置的综合性和趣味性,激发学生的学习兴趣,实现了“加强学生实践和动手能力的培养,以提升学生解决实际工程能力”的工程专业人才培养目标。

平台以此为基础,拟将所有题目进行知识点分类和难度划分,便于不同层次的高校以及不同能力水平的学生自主选择题目。也可按照专题的形式整理不同的题目,随着题库的不断扩充,全面涵盖计算机专业的基础课程和章节。平台可以增加统计学生做题平均时长、程序得分等情况,便于使用平台的相关高校教师精准掌握学生的学习情况,更好地为教学服务。

猜你喜欢

数据结构实训算法
赛教融合下高职大数据专业实训平台自主建设探索
哪种算法简便
试论一体化的多功能机床电气控制实训台研制
数据结构线上线下混合教学模式探讨
重典型应用,明结构关系
Travellng thg World Full—time for Rree
液压课程开放式虚实结合实训教学体系的构建研究
提升中职机械专业钳工实训教学有效性的几点尝试
算法框图的补全
算法初步知识盘点