基于工程认证的“数据结构”课程教学改革实践
2023-01-05滑亚慧
滑亚慧,石 锋,王 建
(西安航空学院 计算机学院,陕西 西安 710077)
引言
工程教育专业认证是国际通行的工程教育质量保障制度,也是实现工程教育国际互认和工程师资格国际互认的重要基础[1]。随着我国高等教育的大众化,以及社会对高等教育质量的关注日益增强,越来越多的高校通过开展工程教育认证提高和保障教学质量,以适应国际化发展趋势。工程教育专业认证的核心理念是:以学生为中心,以成果为导向,持续改进[2]。以学生为中心要求教育目标围绕学生的培养,教学设计聚焦学生的能力培养;以成果导向的教育说明了学校定位、培养目标、毕业要求、课程体系、教学活动等教学相关资源之间由下向上、逐层支撑的过程;持续改进要求建立常态性评价机制并不断改进,持续改进的效果通过学生的表现来体现。
工程教育认证更加注重课程教学产出,以及课程目标对毕业要求的支撑度,要求相关课程在教学过程中实施面向产出的课程评价机制与改进措施。在此背景下,如何在课程教学过程中设定合理的教学目标来支撑毕业要求,并实施面向产出的教学评价和持续改进,有效形成教学闭环,提升教学质量和人才培养质量成为工程认证中教学模式改革的重点。面向新时代科技和产业发展,适应工程教育认证标准的专业建设和改革是提升我国工程教育质量的必然途径[3]。
本文根据工程教育认证要求,以“数据结构”课程为例,针对学生课程学习效果和工程能力要求,对基于毕业要求和培养目标的课程大纲修订和课程教学改革实施情况进行探讨。
一、“数据结构”课程教学现状
“数据结构”课程是软件工程、计算机科学与技术、物联网工程、信息与计算科学等专业的重要核心课程,也是连接基础课程与专业课程之间的重要桥梁[4]。先修课程包括计算机导论、离散数学、高级语言程序设计等。虽然在课程开设之前,学生已经学习完相关基础性前期课程,但是在课程实际实施过程中仍存在诸多困难。由于课程概念多,抽象性强,部分学生基础较弱,对课程中频繁涉及的结构体、指针等基本数据类型的理解和应用不够深入,导致学生在学习数据结构课程时存在一定的困难。
“数据结构”课程主要研究数据的存储、组织和处理,正确地设计算法及如何对算法进行分析和评价[5]。通过该课程的学习,使学生能够针对实际问题,分析数据之间的关系,设计合理的存储结构和算法,为后续课程学习打下良好的基础。作为一门非常重要的专业必修核心课程,其教学效果对后续课程的学习及最终毕业目标的达成有重要影响;因此,针对当前“数据结构”课程存在的问题,对课程的教学设置和实施策略进行改革尤为重要。
(一)理论教学为主,实践学时不足
“数据结构”是一门理论性很强的课程,要求学生具备一定的抽象思维能力和理解力[6]。此外,课程中涉及的知识点较多,包括顺序表和链表、栈和队列、数组和矩阵、串、树和二叉树、图等多种数据类型在不同存储结构下的基本算法和经典算法,以及各类查找与排序算法。在传统教学中,教师往往会面面俱到,对各种存储结构下数据的插入、删除、查找等基础算法进行详细讲解,导致没有足够的学时开展算法应用方面的教学,课程深度不够,重点不突出;学生对讲授的一系列算法被动接受,缺少主动思考和练习,进而导致学习态度消极,失去学习的兴趣和动力。因此,教师应更加关注教学效果,而非教学内容的完成度。在课堂中应留有一定的时间让学生进行自主思考和练习,从而激发学生的积极性就显得尤为重要。
(二)教学模式单一,课程枯燥
鉴于“数据结构”课程的特性,目前绝大多数高校仍采用传统的教学方式,以教师课件演示和理论讲授为主,学生的参与度不高,形式单一。学生缺乏参与感,容易影响关注力,最终导致教学效果较差。教师根据授课计划决定每节课讲授的内容,而不是根据学生的实际掌握情况,难以做到“以学生为中心,以成果为导向”的工程教育认证要求。
因此,需要更多关注学生能力的培养,以学生为中心开展教学活动。对传统单一的课堂讲授知识的教学模式进行改进,才能达到工程教育专业认证产出导向教育模式的要求。
(三)缺少实际工程实践培养
“数据结构”课程的目标是要求学生能够选择适当的数据类型解决实际生活和工程中的问题[7]。因此需要通过大量的实践练习,将理论知识转化为解决实际问题的方案和方法。大多数情况下,“数据结构”课程被划分为理论课和实验课。实验课时与理论课时严重不匹配,并且二者有一定的时间间隔,导致学生不能对所学知识进行及时巩固和深化理解。
实验数量以验证性实验为主,设计性实验数量严重不足,不能从真正意义上锻炼学生解决实际问题的能力,因此应增加有一定质量的设计性实验,使学生将课堂所学知识应用到具体问题的解决中。从真正意义上培养学生解决复杂工程和实际工程问题的能力,完成从理论传授到能力培养的转变。除一般性的课内实验之外,还需要通过综合性项目和课外实践环节为学生提供更多的实践训练。
二、基于工程认证的“数据结构”大纲修订
在培养方案的制订与专业认证有机结合的基础上,应深刻理解专业培养目标和毕业要求的关联,修订基于OBE的课程教学大纲。基于OBE的课程大纲修订,对于深刻理解以成果为导向的教学核心内涵起到了积极的作用。在大纲修订中引入课程思政内容,引导学生将所学到的知识和技能转化为内在德行和素养,激发其为国家学习、为民族学习的热情和动力,帮助其在创造社会价值过程中明确自身价值和社会定位。
课程目标1:能够运用数据结构的基本概念和基本理论,分析计算机加工的数据结构的特性,为应用涉及的数据选择适当的逻辑结构和存储结构。引导学生从唯物辩证法的基本范畴之现象与本质的基本概念和相互之间的辩证关系,加深对这一类理论知识的理解与应用,同时利用辩证思想思考和指导实际生活中的具体问题。
该课程目标支撑毕业要求“工程知识”:能够将数学、自然科学、工程基础和软件工程专业知识用于解决软件工程领域中复杂工程问题。
课程目标2:能运用算法时空分析的方法,判断解决实际问题的算法的优劣,提出算法改进方案,让学生体验取舍考虑过程中如何设计最优的类型和方案,从而加强学生对运用唯物辩证法基本规律思考实际问题的能力。
该课程目标支撑毕业要求“问题分析”:能够应用数学、自然科学和软件工程专业的基本原理,识别、表达并通过文献研究分析软件工程领域中复杂工程问题,以获得有效结论。
课程目标3:能够运用各类数据结构中元素的增加、修改、删除、查找等基本操作的算法,结合实际问题的特点,设计实现算法,引导学生从唯物辩证法的角度把握各种数据结构所具备的客观规律,从而提高对数据结构中各种概念及其相关关系的把握和理解。
该课程目标支撑毕业要求“设计/开发解决方案”:能够针对软件工程领域中复杂工程问题设计解决方案,开发满足特定需求的软件系统,并能够在设计环节中体现创新意识,考虑社会、健康、安全、法律、文化及环境等因素。
课程目标4:能应用查找算法和排序,理解不同算法的应用场景,熟练解决查找和排序相关的实际问题,引导学生认识实践是检验真理的唯一标准,理论对实践具有依赖关系,同时理论又反过来指导实践。
该课程目标支撑毕业要求“工程与社会”:能够基于软件工程相关背景知识进行合理分析,评价软件工程实践和复杂工程问题解决方案对社会、健康、安全、法律及文化的影响,并理解应承担的责任。
三、基于EduCoder实践教学平台的数据结构教学改革
数据结构具有理论逻辑性强、知识点庞杂、概念抽象及实践性强等特点[5]。传统的课程教学模式单一,缺少师生互动交流,学生听课效果不理想;上机实践学时不足,学生在课下不能自觉进行实践练习,导致相应知识不能得到及时掌握和吸收。除此之外,教学内容过于繁多,部分内容难度偏大,不利于培养学生解决实际问题的应用能力。针对传统教学中存在的问题,提出“精讲多练、理实一体”的教学策略和教学方法,将教学与实践活动结合起来,建立理论学习与实践训练的衔接,对学生的学习情况进行实时管理和评估反馈。
(一)课程实施方案
教师在深入钻研教材、充分了解学生的基础上,确定课堂讲授的内容。抓住教材中的重点和难点内容,以及具有代表性的知识进行讲解。对于课堂上没有涉及的内容,通过给予学生适当的引导,在“练”“考”等环节自主学习和编程实践来完成。采取精讲多练、理论实践相结合的教学模式。收集、整理、制作了较丰富的教学资源,包括教学视频、习题、实训作业、实训项目等用于学生课内外的实践和练习。
在教学过程中充分利用信息化教学平台和工具:超星学习通和EduCoder实践教学平台。分别用来发布理论教学内容和编程实验任务。部分验证性实验内容由教师带领学生在课堂完成,教师可以通过平台监控学生实验过程,帮助学生发现程序中存在的问题并进行辅导。而部分设计性实验内容,通过EduCoder实践教学平台以实训作业形式发布给学生,由学生在课后自行完成。
通过这种形式的教学模式改革,学生能够边学边练,对所学知识进行及时的强化和检验。发布课件、视频、习题、测试等多种形式的教学资源,借助超星学习通平台帮助学生开展预习、复习等自主学习。结合EduCoder实践教学平台的使用,将普通教室变成实验室,在开展理论教学的同时,带领学生完成实践任务。
(二)课程考核评价
考核形式多样化,围绕课程目标要求,考核形式包括过程性测评、阶段性测评和期末测评。过程性测评来源于超星学习通平台和EduCoder平台中学生理论和实践作业成绩,各占比10%。阶段性测评采用在线考试形式,可实施2~3次,占比20%。期末测评包括笔试考核和实践考核:笔试考核主要考查学生理论知识掌握情况,为选择、填空、判断和简答等形式试题构成的试卷,占比35%;实践考核由3道程序设计题目组成,主要考查学生算法设计能力和编程实现能力,占比25%。
(三)课程改革成效
通过最近一次的问卷调查,42.7%的学生表示课程学习状态良好,约46.8%的学生表示学习略有困难,但可以克服;而表示课程很难的同学占10.5%。这表明课程有一定的挑战度,但对于大多数学生来说,课程的难度属于“跳一跳可以够得着”。学生总体反馈学习状况良好。组织学生参加“蓝桥杯”“ACM”等程序设计类竞赛,获得了多项省级以上奖项,帮助学生巩固了课堂知识,提高了学生专业学习的积极性、创造性和团队合作精神。在课程改革过程中,团队教师积极探索教学方式革新,创作慕课资源和习题库,提高了团队教师的整体素质和教学水平,在学生评教和督导评学中均获得了较高的评价。
结语
本文针对工程教育专业认证的目标和要求,分析、总结当前“数据结构”课程教学中存在的问题,如教学方式单一、工程实践不足、考核评价不合理等。由此对“数据结构”课程大纲、教学内容组织形式和教学方法进行改革,使教学方式从“以教师为中心”向“以学生为中心”转变,为学生提供全面学习的机会。充分利用网络实践平台,将理论教学和实践练习融为一体,同时将理论内容进行精讲,启发学生进行思考和触类旁通,使学生边学边练,进一步提高学习能力。同时建立多元化课程考核评价方法,以成果为导向,着重从学生的素质培养和能力达成度方面进行考核,最终达到工程教育专业认证毕业要求指标点相关的课程目标。