1. 引言
“数字媒体技术专业”是2012年才出现在《普通高等学校本科专业目录》中,属于计算机类专业。2020年,教育部才将数字媒体技术专业设置为工学门类专业,属计算机类专业,授予工学学士学位。数字媒体技术专业是一个非常年轻的专业,要求学生掌握数字媒体技术专业的几轮知识、核心知识已经在游戏设计、交互技术开发、影视特效制作相关领域开展技术研发、应用及内容制作相关知识。数字媒体技术专业是属于计算机类的,因此,“数据结构”课程被设置为专业核心课程,是必修课程。传统的“数据结构”课程的教学重点是培养学生的数据抽象能力和进行复杂程序设计的能力,重理论且轻实践,内容生涩难懂且枯燥 [1]。为提升学校的教学质量和学生的学习成效,本文结合实际的课程授课经验,从课程内容、教学方式、实践教学和考核方式等方面进行了一些探讨。
2. 课程教学内容改革的研究
“数据结构”课程体系庞大,知识点繁杂且抽象,与数学练习较为紧密,对学生的逻辑思维要求较高。经调查,发现大部分高校教师在进行该门课教学时,基本是以单个知识点进行实例讲解,内容单一且实例应用性较低 [2]。课程内容从始至终都是重点难点且相互联系,学生在课程的学习过程中,感觉概念抽象理论化不易理解,算法抽象难懂,在学完课程后,没有掌握数据结构所解决问题的实质,知识点零散,在遇到实际问题时,很难活学活用。同时教师也普遍面临既要教好,又要教完的尴尬局面。前导课程类的程序设计类课程掌握不好,直接影响到数据结构课程的教学效果,不仅对数据结构中涉及的程序理解不清,也缺乏实际动手能力,使得学生在数据结构课程实践过程中会碰到重重困难。学生若对前导程序设计类的知识掌握不好,就将感到数据结构内容繁多且难于理解,从而丧失学习兴趣和信心。针对以上问题提出几点改革:
1) 引导学生对课程知识点进行梳理与整合。
数据结构课程教学内容包含基本数据结构(线性表、栈、队列、串、数组和广义表)、复杂数据结构(树、二叉树、图和动态存储管理)以及数据结构的应用(查找和内部排序),面对多而繁杂的内容,如何合理有效地组织教学内容,是课程教学改革面临的首要问题 [3]。尽管数据结构的知识点比较多,但整体的知识主线比较清晰,每种数据结构都围绕三个内容进行讨论——数据的逻辑结构、存储结构和相关操作算法。学生在学习的过程中对知识的理解是片面的、零散的,不能将相关的知识串联起来。这就要求在教学内容的梳理中抓住知识主线,整合和更新知识体系脉络,对教学内容进行有机组合和裁剪,突出重点、难点,使学生形成一个完整的知识体系,不断地提高学习的学习兴趣。
应先构建核心知识点,在次基础上进行扩展知识点。在整个课程体系中,后阶段的项目开发和理论教学都需要核心知识点的支撑,课堂教学中,每一个独立的知识点或算法对应一个具体的案例,教师可以使用每个具体的案例,由浅入深讲解和演示案例中所体现的知识点或算法内容。“数据结构”课程的知识体系图如图1所示。学生在顺利完成核心知识点的理解和实践后,可以根据实际情况拓展延伸学生的能力,在项目的框架下,扩展新的知识点,培养学生的实践和创新能力。

Figure 1. “Data structure” knowledge architecture diagram
图1. “数据结构”知识体系图
3. 教学方式改革的研究
传统的“数据结构”教学方法是在多媒体教室中,主要采取“以教师为中心”的讲授法,全程由教师主导,进行知识传授,学生只能被动接受知识,这种教学方式下,学生的学习积极性低,缺乏学习兴趣。在数据结构的理论和实践教学中,应该既重视讲授理论知识、培养分析问题与解决问题的方法和能力,同时也要重视学生算法的实践能力。在课堂的教授过程中,灵活使用“案例法教学”、“问题式教学”、“分层式教学”、“以竞促学”、“跟踪法”等方法 [2]。
“知之者不如好之者,好知者不如乐知者”,使用具有一定挑战性和趣味性的案例进行教学,可以有效提高学生的学习兴趣,教学案例的设计应该逐步提高、前后连贯、紧密联系实际问题,在实际教学过程,将案例进行分析,逐层分解,完成示范性教学,让学生在整个学习过程中,由兴趣出发去理解抽象难懂的算法,让学生真正明白,所有的算法来源于实际生活,又用之于实际生活,从而消除学生的畏难心理,培养学生对问题的分析能力和解决问题的能力。
在案例教学过程中,充分发挥教师的引导作用,提高学生的自主能动性,按照如下图2所示的场景分析,场景设计,数据结构以及算法的引入,总结与延伸四个步骤,与学生共同就教学中使用的案例共同探讨和促进,图2所示的方法充分融入到了课程教学的案例内容中。

Figure 2. The process diagram of case teaching method
图2. 案例教学法过程图
案例教学法示例:栈与队列的案例教学情境:“玻璃杯与乒乓球”游戏。
这个案例在课堂教学中可以使用真实的玻璃杯和乒乓球,乒乓球的直径与玻璃杯口的直径一致,直观的在课堂上给学生进行演示,使学生更有兴趣,更清楚的理解和认识栈与队列的思想。
a) 使用有杯底玻璃杯进行演示,连续向空的玻璃杯中放入多个乒乓球,让学生看到这种“先进后出”的特点。
b) 引入数据结构中的“栈”,讲解栈的相关概念;
提出“栈”的第二个典型操作:进栈,讲解进栈的过程。对应向有底玻璃杯里,放入乒乓球的过程。
提出“栈”的第三个典型操作:出栈,讲解出栈的过程。对应从有底玻璃杯里,取出乒乓球的过程,如果要取出乒乓球,最先取出的是最上面的乒乓球。
c) 鼓励学生对“玻璃杯与乒乓球”案例和栈的知识点进行交流、归纳和总结,理解栈的思想,思考栈的优点。教师总结栈的相关知识内容,提出使用栈的实际应用的场景,如当场景中出现“先进后出”的特点,可以优先考虑栈这种数据结构。
d) 教师总结使用栈进行数据操作过程中,必须满足“先进后出”的特点,栈是一种操作受限的线性表,引出与之相反的,满足“后进先出”特点的新的数据结构“队列”,完成了知识的总结和延伸过程。
教师可以在下一次课里,继续使用相同的“玻璃杯与乒乓球”案例,这个案例里,玻璃杯是一个没有杯底的玻璃杯,对“队列”进行讲解。
根据以上步骤,教师全面的向学生传授栈与队列章节的内容,并因为使用同一个案例,可以使得学生充分理解栈和队列的区别,这种比较和总结过程,有效提高学生的学习效果。
除此之外,还可以结合游戏实例来讲解数据结构的知识,我们可以通过讲解使用“数据结构”中的链表来实现坦克大战游戏的发弹功能 [4]。链表的特点是长度不固定且插入删除操作快捷,坦克大战游戏中坦克发射的炸弹时间是随机的且炸弹个数无法确定,我们就可以用链表来存储坦克的炸弹。教师给出案例并提出问题,然后让学生思考实现过程 [5]。这样提高的学生的积极性,同时趣味性的案例提高了学生的学习兴趣。
教师应该突破传统的“数据结构”中的案例,多采用实际生活中的实例和游戏实例来提高学生的学习兴趣。
4. 实践教学环节改革的研究
基于课堂教学的基础,在实验环节,安排小的案例让学生独立完成,学会模仿及独立完成场景分析,场景设计,数据结构以及算法的引入,总结与延伸四个步骤,进一步的强化课程理论的知识,提高动手能力,为进入企业后在面对企业项目时,如何分析问题,解决问题打下坚实的基础。实验教学内容的设计如表1所示。

Table 1. The content of experimental teaching
表1. 实验教学内容
实训环节,是对前面已学的知识和案例进行综合性组合的过程,充分以企业的需求为导向,以培养学生扎实的专业理论知识及分析和解决实际应用问题的实践能力为目标,全方位考察学生的专业理论知识,训练学生思考能力,分析能力和实践动手能力。实训教学内容的设计如表2所示。

Table 2. The content of training teaching
表2. 实训教学内容
5. 考核方式改革的研究
传统的数据结构考核以期末笔试成绩为主,平时成绩为辅,而平时成绩一般由作业和实验等成绩组成。笔试主要考核学生理论基础知识的掌握情况,而学生能否将专业知识学以致用却不能通过考核来评价。纸质作业只有少数同学认真完成,大部分同学都是应付了事,达不到巩固知识的目的。提交的电子版实验报告只是将实验内容和程序截图粘贴在报告文件中,雷同率高,不能充分反映学生实际的动手编程能力。数字媒体技术专业更注重的是计算机知识的应用,淡出的卷面考试无法考查学生对知识的应用能力,因此我们可以增大实验和平时成绩的比例,甚至可以将考试改为考查。在课程结束前给出考查题目,列出多个实际问题,然后让学生选择若干问题写出解决问题的思路和所需的知识点,并给出程序代码,通过查看学生的解题思路了解的知识运用能力。这样既可以提高学生的解决问题能力,也提高了学生的交流能力。如果是小班上课,班上只有30人,将全班同学分为5组,给出5个大题目,比如运动会分数统计、飞机订票系统、通讯录的制作、银行业务模拟、成绩管理系统,让学生分为6组去完成这些大题目,每组同学要写出代码,并制作出PPT,让每组同学现场讲解解题思路,同时我会准备六个问题,现场提问,再让大家去写报告,学生的期末成绩 = 小组成绩*0.3 + 回答问题*0.3 + 报告*0.4。通过现场回答问题和报告能区分出学生的知识水平,而小组作业可以让大家相互学习,学习能力强的可以带动学习能力差的,构建一个和谐的学习氛围。
6. 结论
本文通过分析数字媒体技术专业的专业要求和“数据结构”课程的传统教学方法的缺点,结合实际的课程授课经验,以培养学生扎实的专业理论知识及分析和解决实际应用问题的实践能力为目标,从课程内容、教学方式、实践教学环节和考核方式等方面探讨了“数据结构”课程的教学改革的研究,提出了应用以课程知识网状化、课程教学案例化、案例趣味化的教学方式,以及转变考核方式为主要内容的,体系化建设数据结构课程,全方位提高面向企业需求的应用技术型人才的培养质量。
基金项目
《基于应用技术型人才培养模式的数据结构课程教学研究与改革》(项目编号:201405);《数字媒体技术专业复合应用型人才培养模式的研究与实践》(项目编号:201706)。