APP下载

数据结构课程实践教学改革探索与实践

2021-11-01徐新爱朱恩芳

实验室研究与探索 2021年9期
关键词:数据结构超星导图

徐新爱, 朱恩芳

(南昌师范学院数学与信息科学学院,南昌 330032)

0 引 言

新工科教育背景下,各行各业对计算机专业人才的需求越来越高,注重并加大计算机专业知识与技能在工科人才教育中的作用,注重人才的能力培养和综合实践素质的提高,是时代赋予工科教育的新使命与挑战。数据结构课程是数学、计算机硬件、计算机软件三者之间的一门核心课程,是计算机专业提高软件设计水平的一门关键课程[1-2]。国内学界诸多对数据结构课程的改革进行了有益的探索,取得了一定的教学改革实践成果。但同时,也清楚地意识到,当下计算机本科专业学生在数据结构等专业课程教学过程中,由于课程概念多、算法灵活和抽象性强,造成学生在学习过程中对概念理解不透彻、形象化不够以及编程训练不足,难以学以致用等问题。

随着大数据、云计算、互联网+等新技术的飞速发展与广泛应用,如何借助已有移动学习云平台,发挥移动学习平台的优势,针对性整合现有教学资源和开发有效教学资源,提高教学效果,培养具有实践能力和创新能力的应用型人才,是当下教师面临的的重要课题。

1 数据结构课程简介

1.1 课程定位

数据结构课程是计算机专业人才培养的关键重要基础课程之一。在计算机专业人才培养方案中,数据结构课程开课时间为大一第2 个学期,前修计算机相关的课程有计算机科学导论、高级语言程序设计,为后续数据库原理、编译原理、操作系统、算法设计与分析等一系列课程的学习打下基础,在计算机专业人才培养方案中承担着重要角色。

该课程教学目标是培养学生如何将问题处理对象选择合适的数据结构进行表示,然后转化为计算机进行处理,最终编写实现解决问题的算法,从思想、思路到算法的过程,不断提高学生分析和解决复杂问题的能力,理论与实践并重。

1.2 课程内容

数据结构课程理论性强,所涉及的内容抽象、概念多、算法多,章节基本内容共10 章,主要介绍线性和非线性数据结构,线性结构包括线性表和特殊的线性表——栈和队列等,非线性结构包括树和图,除此之外还有查找和排序两种基本操作以及一种解决问题的基本思维方式——递归,简称为“2 +2 +1”,它们之间的关系如图1 所示。

图1 数据结构课程内容结构

这些内容中,共涉及到数据结构、线性表、栈和队列、串、数组和广义表、树、图、查找、排序和递归共10大概念,大概念中又由若干个子概念构成,了解了8 种具体数据结构的抽象数据类型定义后,讨论每种数据结构在不同存储结构下的基本运算算法。以树为例,其基本概念、基本算法如表1 所示,共1 个大概念11个子概念,4 种基本算法,14 个子算法。

表1 树的基本概念和基本算法

1.3 课程实验

数据结构课程实践性很强,要求学生运用基本运算算法去解决实际问题,因此,学生需要通过大量的训练达到具备解决复杂问题的能力。在课程课时分配上,数据结构课程总课时为80,其中实验课时为32,占比40%。在实际课程教学过程中,实验训练往往是学生真正将所学知识转化为技能与能力的关键环节。

课程上机实验训练,要求学生能够在数据结构的逻辑特性和物理表示、数据结构的选择和应用、算法设计及其实现等方面全面掌握并深化课程基本内容的理解,同时在程序设计方法以及上机操作等基本技能方面进行系统和严格的训练,让学生在理解数据结构的基本算法的基础上,用程序设计语言实现算法,并能够运用数据结构的基本算法解决实际问题,培养学生的数据抽象能力和复杂编程能力。具体课程实验训练的基本要求有:

(1)完成线性表的顺序存储结构和链式存储结构的基本操作的实现,并能设计实现线性的应用程序,提高编程能力。

(2)完成栈和队列的顺序存储结构和链式存储结构的基本操作的实现。

(3)完成二叉树和树的存储、遍历等基本操作的实现。

(4)完成图的存储、遍历等基本操作。

(5)掌握各种查找和排序的算法,设计一个综合应用程序,为后续课程的应用打下基础。

2 数据结构课程教学困境

2.1 课程间关联与衔接性弱

在计算机专业课程前后的关联与衔接上,可能存在一定脱节,课程教学孤立,诸如高级语言程序设计教学侧重语法知识,后续指针、结构体及其应用等介绍不多,而这些内容却是数据结构课程中要用到的主要知识。这样造成学习前后衔接不够,基础不扎实,学生学习起来压力大,缺失兴趣,深度和广度达不到基本要求。

2.2 学生综合能力训练不足

以往的训练模式常常以验证性实验为主,课程实验类型单一,陷阱实验与设计性、综合性实验占比极少,实验类型同一化严重,学生综合能力训练不足,难以把解决问题的思路转化为具体算法实现,无法打破思路到代码之间的屏障,使得学生的数据思维能力难以提高,实践能力不能达到精准化提高。

2.3 课程综合考核单一

数据结构课程的考核以期末考试为主,单一评价决定学生学习状况,忽视课程考核的过程性、激励性与反馈性,这不符合“以产出为导向、以学生为中心、持续改进”的OBE 理念,故易产生学习消极、动力不足、过程懈怠等问题,教学不能达成可持续的、有成效的产出。

2.4 教学资源过于碎片化

信息网络时代下的学习,资源获取是当前学习的重要手段,当前许多教学资源往往来源于碎片化的网络资源,然而,课程教学的知识往往具有知识结构体系,割裂的碎片化教学资源不利于学生综合架构课程知识体系,容易造成教学内容形神俱散,不利于系统性、高阶性的学习。

2.5 课程开设时间不合理

数据结构课程开课时间是在大一第2 学期,前期学过计算机相关的课程有计算机科学导论和高级语言程序设计,这样就存在前期知识储备不够,用计算机解决问题的计算思维和数据思维还未完全形成习惯,因此,学生学习起来压力大。

因此,为了帮助学生不但学好理论知识,也培养和提高学生的程序设计实践能力,针对数据结构课程教学存在的困境,借助超星学习通平台,设计了一系列激发学生兴趣的实践训练方式,提出“厚基础、强实践、促成果”的相互支撑的实践教学改革探索与实践。

3 超星学习通

超星学习通平台简称为“一台三端”,是以云平台——泛雅作为系统核心层,连通教室端(智慧课堂)、移动端(学习通)和管理端(智慧教务)3 个终端去实现智慧环境下教学新生态的构建,这3 端分别对应课堂教与学、学生自主学习和教务管理,涵盖了课前、课中、课后、日常教学全过程[3]。如图2 所示,超星学习通提供庞大的超星电子学习资源,实现了动态资源建设、智能化交互和学习过程即时分析,可以满足广大师生日益增长的对多层次、全方位、实时交互信息的需求[4]。

图2 “一台三端”超星学习通平台

使用超星学习通开展实践教学有以下优势:

(1)平台能系统地记录学生的学习时长、学习次数、在线测验、实验报告等过程性数据,便于任课教师完善教学资源、在线指导和综合评定学生学习的效果等[5]。

(2)线上课程采用知识点的形式呈现,教师可对知识点章节设置不同的开放模式,如全部开放、部分开放或者闯关式等。学生学习完一个知识点后,需要完成教师设置的知识点小测验,通过及格线后继续往下学。

(3)教师通过线上学习数据,清楚学生的学习进度,对于学生在学习过程中遇到的问题一目了然,对排名靠后的学生及时发出预警提醒。

(4)便于学生课外自主学习,学生能够实现个性化学习,根据个人的时间和能力调整自己的学习进度,查漏补缺。

4 数据结构课程开展“厚基础、强实践、促成果”的实践教学改革

4.1 厚基础:费曼学习法与思维导图强强联手,打造理论基础学习的高阶性

数据结构课程是专业的核心课程之一,不但是后续众多课程的前导课程,更是后续本科学生深造和从事与本专业相关职业的重要基础,理论不仅要够用,还要够实,才能走得更远。根据该课程的特点,在理论教学过程中,采取了一系列科学有效的方法,跟进学生的学习情况。

(1)以学习金字塔为理论基础,引入费曼学习法。1999 年,美国威斯康辛大学的ConstanceA.Steinkuehler和SharonJ.Derry在研究报告中对教学和科技方面的学习成效提出了一系列的评价方法,使人们对学习成效的研究转向定性和定量评价相结合阶段[6]。

“学习金字塔(Cone of Learning)”是由美国学者埃德加·戴尔(Edgar Dale)1946 年率先提出的,它用数字形式形象显示了采用不同的学习方式,学习者在两周以后还能记住内容(平均学习保持率)的多少(见图3)[7]。具体说来,用耳朵听讲授,知识保留5%;用眼去阅读,知识保留10%;视听结合,知识保留20%;用演示的办法,知识保留30%;分组讨论法,知识保留50%;练习操作实践,知识保留75%;向别人讲授相互教,快速使用,知识保留90%。由此可以看出,不同的学习方法达到的学习效果不同,研究表明在两周之后,学生对知识的保持率,从5% ~90%不等[8]。

根据学习金字塔理论如图所示,凡是听讲、阅读、视听和演示都属于被动学习,在大多以老师为中心的课堂教学中,学生基本上是这几种方式接受知识为主,除此之外,学生学习任务重,课外所花在该门课程的时间不太多,遗忘率将大大提高。数据结构课程中基本概念、基本算法较多且是后续理解算法设计的基础,为了能让学生熟练掌握基本概念和算法思想。在教学过程中,引入了费曼学习法,如图4 所示[9]。从图4 中看出,费曼学习法的基本过程包括学习、复述、纠错反馈、讲授。在这个过程中核心是讲授,组织自己的语言把知识教授给他人,将教与学的角色进行互换,主动思考是什么、做什么和为什么。这与学习金字塔理论完全吻合,能够使学生的耳、眼、脑、口、手多种器官综合使用,促进学生的深度学习,达到牢记基本概念、牢记基本思想的目的。

图4 费曼学习法的基本过程

应用“费曼学习法”于数据结构课程学习过程中,分为3 个阶段:①学生选择一个章节中的知识点,根据知识点进行教学设计并制作多媒体课件,该过程对应着梳理所学知识,锻炼归纳总结的能力;②学生自行选择录屏软件,对知识点进行讲授并把讲解过程录下来制作成微视频,该过程对应着如何按照自己所设计的思路以通俗易懂的方式表达出来,锻炼语言表达能力;③把作品上传到学习通平台,学生和老师进行互评,进行教与学交流,该过程对应着根据反馈不断改进和完善,锻炼学生发现问题和解决问题的能力。

通过引入这种学习法进行“厚基础”的实践,学生从被动听转化为主动讲,在这个转变过程中,激发学生的思考:如何去胜任一个“老师”的角色。在这种角色转换的过程中,学生不仅对课程的知识点有了进一步的理解和加强,还能够对如何进行教学准备、如何表达,是否把这个问题讲清楚了、是否能够让听者听懂等问题有所体验,从而提高发现问题、解决问题、语言表达等诸多能力,而这些能力也是学生综合素质的重要组成部分。

(2)以建构主义为理论依据,引入思维导图(Mind map)法。建构主义理论是由瑞士哲学家、心理学家皮亚杰(Piaget)[10]于1966 年提出。建构主义学习观认为,学习者并不是被动的信息接受者,而是主动地进行信息的建构,而且这种建构不能由其他人代替[11]。每个学习者都以自己独有的方式去理解知识,学习不是一个复试的过程,而是个体对知识和信息进行思考和处理的结构[12]。

根据建构主义学习法,为了能让学生主动去构建起章节知识体系以及课程知识体系,实现从碎片化到系统化、从点到面的过程,同时,掌握数据结构课程学习的“数据”思维和思路,发现不同章节知识的内在联系。在课堂教学前后,引入了思维导图教学法。思维导图[13]又叫心智图,是借助“图”的形式直观呈现人类大脑的发射性思维过程。英国心理学家奥苏贝尔[14]指出:知识结构的存在有助于理解和记忆以及问题解决;美国心理学家布鲁纳[15]认为,联系已有知识来学习新知识有助于理解记忆和形成知识迁移能力。

通过思维导图,充分培养学生挖掘知识之间的关联性、逻辑性,培养学生运用数据结构解决问题的思维模式。制作思维导图的软件有Xmind、Novamind、Mindmanager等,这些软件操作简单,教师不会专门去进行讲解,就需要学生自己去进行学习,解决在制作过程中遇到的问题,从而培养学生自主学习的能力。

课前,学生运用思维导图软件画出预习本章知识点的框架图;课后,对思维导图中的知识点判断有哪些已完全掌握用“已完成”“已确认”标志标出,未完全掌握用“待定”“进行中”标志标出,然后继续完善思维导图并标记自己还有待加强的知识点。以学习图这一章知识点“最小生成树”为例,某同学的理论课前、课后的思维导图如图5 所示。

图5 某同学的理论课“最小生成树”思维导图

4.2 强实践:多元化的实践形式,螺旋式提升实验的挑战度

(1)基础知识学习实践。借助超星学习通平台,数据结构课程全部资料已上线。为了巩固所学基本概念和基本算法思想及思路,共设置了128 个任务点,任务点数分布如图6 所示。

图6 数据结构课程各章任务点数分布图

任务点包括视频和作业,作业有每节内容学习结束后的小节测验以及每章学习结束后的章测验。以顺序表为例,共设置了4 个任务点,如图7 所示。除此之外,在观看视频的过程中设置了闯关点,正确方可继续学习,视频防拖拽和窗口切换。

图7 顺序表学习的任务点

(2)实验项目训练实践。数据结构课程兼理论性与实践性,终级目标是运用课程所学知识去解决实际问题,编写优质的算法。同时,实验教学内容的设计需要兼顾学生水平、紧密联系实际和注重兴趣引导[16]。因此,在实践教学中为了提高学生兴趣,实践教学资源采取循序渐进的螺旋式实践模式,将测试题和项目划分成不同类型及不同等级,共设置了3 种级别:验证性、设计性和综合性实验。其中验证性实验的主要目标是学习基本算法,基本算法是后两个实践环节的前提,设计性实验是培养应用基本算法解决具体某个问题的能力,综合性实验是引导学生用基本算法去解决某个实际场景下综合问题的能力。以单链表的实践为 例,这3 个方面实验题目设计如表2 所示。

表2 单链表的实践类型题

借助超星学习通平台,验证性实验学生直接贴出代码及运行结果,综合性实验要求学生按照数据结构思维写出完整的实验报告,实验报告包含数据组织、算法设计、主函数设计和运行结果及实验心得。

(3)考核过程实时分析。使用超星学习通后,过程性考核与终结性考核比例由过去的4∶6改变为5∶5,即过程性考核和期末考试各占50%。其中过程性考核全部在学习通上完成,过程性考核综合成绩包括观看视频、章节测试、作业情况、互动情况、考试等,教师根据课程要求自行设置,各部分权重分别为课程视频10%,章节测验20%,章节学习次数10%,作业20%,考试20%,课堂互动20%。同时,教师根据实时分析结果,及时向学生发出分模块加强的针对性提醒,实现精准化帮扶指导。

4.3 促成果:多样化的成果,激发学生的创新性

(1)微视频。在课程教学中,使用费曼学习法,每周布置一次录微视频的活动。这些作品也将作为学生学习成果的一部分,在超星学习通中进行专门发布,供学生后续学习使用。并根据实际情况,开展1 ~2 次阶段性“课程学习汇报微视频”录制活动。学生参与热情很高,完成质量也很高,平均分为96.5。

(2)思维导图。在课程的教学中,使用思维导图法,章节内容预习和复习学生自制思维导图,梳理知识之间的逻辑关系,理清学习基本思路,也是一个将知识的习得经历由厚到薄、由薄到厚的过程,学生之间的思维导图互相补助,存同求异。

(3)学习笔记。为了了解学生上课的状态,要求学生作课堂学习笔记。笔记形式不限,可以是提纲、思考或者问题,每次上完课后要求学生1 h 内在学习通平台晒出笔记,按照晒笔记的速度与质量分别设置3个等级,教师给予加5、3 和1 分的评价,这个评价会自动纳入平时的考核中,同时选出3 份优秀笔记在下节课前进行展示。

(4)实验作品。数据结构课程是实践性很强的课程,要求将理论知识转化为解决问题的能力。因此要求学生多练多做,熟练分析问题中的数据特征,确定数据的逻辑结构和存储结构,写出算法并进行算法性能分析。根据不同实验类型,实验作品使用不同提交方式:复杂的问题学生递交实验报告,简单问题学生递交代码和运行结果截图。

5 数据结构实践教学改革成效

基于超星学习通,数据结构课程开展“强基础、重实践、促成果”的实践教学改革实践,从平时学习过程、期末考试、课程实训成绩以及问卷调查和学习能力多角度进行分析教学改革实践所取得的成果与成效。

(1)平时过程。通过学习通平台,一方面不断完善教学资源,在数据结构课程结束后,教师共发布教学视频58 个,题目数将近700 道,所有课程资源已陆续上线;另一方面,教师与学生的交流无时空限制,根据学生的学习规律和学习需要及时与学生进行互动。教师共发帖数97 个,学生通过学习通平台学习浏览量达39 713 次,学生回复帖数1 661 个,98%的同学参与讨论、测试,教师发出17 次教学预警提醒。

(2)期末考试。期末考试结束后,在试题难度无显著性差异的情况下,将未采用超星学习通改革教学的2018 级本科生与2019 级学生的成绩进行对比,发现2019 级的学生成绩有显著提高,综合分析题方面表现更为突出。2019 级和2018 级计算机科学与技术专业班级的期末成绩分析如表3 所示(总分100 分,综合分析题50 分)。

表3 2019 级和2018 级计算机科学与技术专业班级的期末成绩分析表

由表3 可见,2019 级学生考试的平均成绩比2018级提高了9 分;而综合分析题的平均成绩比2018 级提高了5.40 分。两组学生成绩呈显著性差异,分析结果表明,教学改革有助于提高学生对知识的综合应用能力。

(3)课程实训。数据结构课程结束后,安排了专门课程实训。课程实训的目的是学生运用已学数据结构知识和数据结构思维去解决综合性问题的能力。通过对比两个班级的实验报告书的规范性、分析问题的思路、数据的组织和目标达成度,发现2019 级的教学改革班级较2018 级学生有较大的提高,尤其是实验报告总结的质量有显著优势。最终成绩对照分析如表4所示。

表4 2019 级和2018 级计算机科学与技术专业班级的课程实训成绩分析表

(4)问卷调查。课程结束后,本研究针对教学改革的实施效果和存在的问题,通过麦克思质量教学评价平台对2019 级的53 名学生进行了网络问卷调查,回收有效问卷53 份,有效率为100%。问卷数据统计结果主要如下:97%的学生对于使用学习通的方式表示满意;92.5%的学生对于教学改革的所采用的方法表示满意。上述问卷数据统计结果表明,教学改革基本达到了预期的效果。

(5)综合能力。从学生的多媒体课件、微视频、实验报告、思维导图、互动交流等方面来看,学生的主动学习能力、语言表达能力、解决问题能力都有了显著的提高。

6 结 语

高级语言程序设计教学目标是培养学生具有初步的编程能力,数据结构则是培养学生具有基本算法设计的方法,后续的算法设计与分析课程则是算法设计方法学的教学。这3 门课程就好比语文学习过程中的识字、写小作文、写大文章。本研究利用“超星学习通”开展了强基础、重实践、促成果的教学改革,为学生构建了新的学习方法,形成了属于学生自已专有的成果资源库,学生的学习由点到面,由碎片化到系统化,由数据类型到数据结构的思维转变,不断引导学生在主动学习过程中,发现问题、思考问题、解决问题。实践证明,学生满意度较高,教学成效显著,有一定的推广价值。

·名人名言·

创新是引领发展的第一动力,科技是战胜困难的有力武器。面对突如其来的新冠肺炎疫情,全国科技工作者迎难而上、攻坚克难,在临床救治、疫苗研发、物质保障、大数据应用等方面夜以继日攻关,为疫情防控斗争提供了科技支撑。希望全国科技工作者弘扬优良传统,坚定创新自信,着力攻克关键核心技术,促进产学研深度融合,勇于攀登科技高峰,为把我国建设成为世界科技强国作出新的更大的贡献。

——2020 年5 月29 日,习近平给袁隆平、钟南山、叶培建等25 位科技工作者代表的回信

猜你喜欢

数据结构超星导图
超星数据库录入证
数据结构线上线下混合教学模式探讨
借思维导图算24点
角的再认识思维导图
Rotation of dust vortex in a metal saw structure in dusty plasma
为什么会有“数据结构”?
《上海预防医学》杂志全文手机阅读体验
超星二号维修基地
党的十九大报告思维导图
第6章 一次函数