宋婉娟,杨 鹤,曹茂峰
(湖北第二师范学院 a.计算机学院;b.湖北省教育云服务工程技术研究中心,武汉 430205)
成果导向教育(Outcome Based Education,简称OBE)[1]作为工程认证的重要理念,不仅对认证工作起着导向作用,同时也对应用型本科专业建设提出了新要求。专业建设的核心要素是课程设置,高校将数据结构课程作为计算机相关学科专业的基础核心课程,在学科知识体系中占据重要位置。我校计算机科学与技术专业开设了数据结构课程,基于我校的应用型本科办学定位和工程认证的科学体系,数据结构课程旨在培养解决复杂工程问题的计算机方向的应用型人才。
新工科建设计划[2]和工程认证标准对数据结构课程的教学模式提出了挑战,有如下问题亟待解决:(1)教学方式传统陈旧,教学中没有融入前沿的教学理念,学生解决复杂问题时不能灵活运用;(2)课程建设时照搬精品课程,没有重视实践环节,本校本专业特点无法得到体现;(3)信息化教学技术利用不充分,教学手段不够多元化,教学过程枯燥,教学效果较差;(4)缺乏人才培养的数据跟踪和反馈,无法持续有效改进教学模式和教学过程。
针对上述问题,结合OBE思想和双在线教学平台(超星学习通和Educoder实践平台)对数据结构课程进行教学改革,设计满足工程认证标准、适应新工科建设要求的教学模式,给予多元化的评价方式,建立科学的反馈机制促进课程的持续改进。课程建设要依据毕业要求重构课程体系,对照工程认证标准调整课程结构;强化实践导向,优化课程内容;注重培养效果,实施课程教学;聚焦目标达成,科学开展课程评价。实践证明,课程体系的有效重构、实践教学的加强和科学的评价机制以及持续改进是提升课程与教学质量的根本保障。
秉承科学设计、科学实施和科学评价的原则,基于OBE理念,聚焦产出成果和毕业要求,以实践为导向,结合在线教学平台,以计算机科学与技术毕业要求为基点进行反向设计并基于毕业要求和课程目标达成评价情况以迭代优化的方式重构课数据结构课程体系与教学模式。具体的课程体系建设流程和教学模式如图1所示。
图1 课程体系重构流程图
数据结构课程是一门实践性较强的课程,是计算机程序设计的重要理论和实践基础,开设在大二上学期。基于数据结构课程特点和本校应用型高校的建设宗旨对毕业要求指标点进行拆解对应,数据结构课程与计算机科学与技术专业工程认证的毕业要求相关的指标点如表1 所示。
表1 数据结构课程毕业要求指标点
依据工程认证培养学生解决复杂工程问题的能力要求,基于课程目标对毕业要求的支撑原则,我院重新制定了可行、可评和可达成的课程目标。具体内容是:学生能较好地掌握常用的数据结构,理解数据结构内在的逻辑关系、数据与关系在计算机中的存储表示以及基于数据结构上的运算和执行算法;培养学生具备解决实际应用问题的基本能力,具备发现问题、分析问题、解决问题的能力以及创新精神,为学生后继专业课如算法设计与分析、人工智能的学习打下坚实的基础。课程目标和毕业要求支撑情况如表2所示,M代表中等程度支撑,H代表较高程度支撑。
表2 课程目标与毕业要求支撑关系
具体的课程目标如下:(1)掌握数据结构的基本概念,掌握线性表、栈和队列、串、数组、广义表、树、图等常见的数据结构,了解这些常见的数据结构解决实际工程问题的基本方法。(2)从数据的逻辑结构出发,掌握线性表、树和图等常见数据结构的适用场景,以及基于这些数据结构的插入、删除等基本操作方法。能够通过分析实际问题,抽象出数据的逻辑结构,选择一种或多种合适的数据结构对数据进行抽象表达,并设计有效的算法解决实际问题。(3)能够理解课程基本原理并熟练应用,能够创造性地应用各种数据结构和算法,设计性能优、效率高、可读性强、易维护的程序,掌握经典的查找和排序算法,并能对算法进行分析和评价。(4)具备从实际的工程案例中发现问题、提出问题和分析问题的能力,能对算法的时间复杂度和空间复杂度进行评估,找出最优的算法。
修订后的课程目标以毕业要求为导向,不再强调知识点的机械记忆,而是强调常用数据结构的基本原理的理解和综合运用,更加侧重培养学生利用学科基本原理和常用数据结构解决实际复杂工程问题的能力。
我院所构建的教学模式是基于3P模型的混合式教学模式[3]-[4],该教学模式强化实践过程,与企业导师合作进行实验授课,采用Educoder实践平台将学生实践任务过程化,将课程内容融入在线教学平台并建立科学的评价反馈机制,迭代优化课程结构和教学内容。数据结构课程包含课堂教学、实验教学和课外教学三个五一节,线上教学平台始终贯穿了这三个教学环节,课外环节和课程任务的提交、考核主要依赖于线上教学平台展开。
课堂教学(48个学时)在教室授课,采用理论授课、习题讲解分析、课内小组交流讨论、翻转课堂等教学方式。实施时主要分为两种形式,一种主要采用教师授课为主,师生-生生讨论交流为辅,另一种主要采用翻转课堂的形式,以学生讨论为主,教师点评讲解为辅。
实验教学(16个学时)采用学生在机房上机完成实验任务,教师面对面辅导的方式,单元课程结束、期中和期末等阶段性节点,进行实验讲评和一对一答辩,2学时的课程邀请企业导师讲解综合性实验项目。
课外通过两个在线教学平台(超星学习通和Eudcoder 实践教学平台)提供教学资源供学生预习、完成课后任务和复习并开展教学活动便于师生在线讨论交流,以使学生达成课程目标。
3P 教学模型倡导以学生为中心,以成果为导向(Outcomes Based Education,OBE)的教育理念,它将教学按时间节点分成前提(Presage)、过程(Process)和结果(Product)3 个教学阶段。结合超星学习通教学平台和Educoder实践教学平台进行混合式教学,基于3P教学模型将数据课程学习分为课前、课中和课后三个阶段,具体的教学设计如图2所示。学习通平台发布课前的预习任务和学习资料,课中发布签到、分组讨论、问卷、随堂测试等课堂活动;Educoder实践教学平台主要用于课后实验任务的发布和检测。Educoder实践教学平台除了具备普通教学平台具备的对学习任务的管理功能之外,最重要的是提供了云端的编程环境并支持可定制的运行环境,可以实时检测学生编写的代码是否符合要求,因此课程的实验任务全部在Educoder实践教学平台完成,平台依据标准答案可自动判分。
图2 混合式教学设计
翻转课堂[5]-[6]近年来在课程教学中应用非常广泛,一定程度上调动了学生的积极性和参与性,但是在实际教学中翻转课堂存在着应用瓶颈,如翻转课堂的效果高度依赖于学生的课前准备和教师评价,翻转课堂不适用贯穿整个教学过程,只适用于部分章节。基于此现状和数据结构课程的特点,我们进行了适应性翻转课堂设计。
数据结构课程内容有很强的逻辑性和规律性,依据数据结构的课程内容,将每种数据结构的学习分为了两个层次。以线性结构为例,线性表、栈、队列、数组和串都属于线性结构,整个授课和学习模式都比较类似:首先介绍线性的逻辑结构,然后分别介绍顺序存储和链式存储的实现,最后进行综合应用实践。因此,针对线性结构,教师首先讲解线性表内容详细,余下的栈、队列、数组和串这些线性结构的基本原理和线性表类似,难度相对降低,可以采用翻转课堂的方式以学生为主进行讨论式学习。查找和排序章节综合应用案例丰富,教师讲解基础的查找排序算法后,后续部分可采用学生充分讨论,教师补充点评总结的教学方式。基于学生的实际情况和数据结构课程的难度和特点采用上述适应性翻转式授课方式教学,让学生既有章可循,也能充分引导学生主动探索、思考,避免了课堂完全翻转的学生不适应、讨论学习效率低下的问题。具体的翻转课堂内容设计如表3所示。
表3 翻转课堂设计
实验教学是数据结构课程非常重要的一环,理论知识的学习目的是更好地完成编程实验任务。计算机程序使用数据结构,本质上是为了支持算法逻辑,而不是应用层数据的组织[7],因此实验教学应该作为数据结构课程的导向,重视并强化上机实践教学环节,实验任务的完成情况相比于理论课表现更能反应学生数据结构课程的学习效果。同时,通过编程实践加强学生对各类数据结构存储表示与运算的掌握,帮助学生进一步理解逻辑结构、存储结构与运算结构之间的关系。
实验内容的设计和实验考核方式决定了实践教学的效果。数据结构课程实验内容的设计基于数据结构的五种基础模块(线性表、栈、队列、树和图结构)展开,分为基本运算和综合应用两个层次,课堂详细讲解基本运算在理论,因此实验教学主要以这五种基础模块的综合应用为主,综合应用全部为设计性实验,查找和排序的内容融合进这些综合应用中,这样既考查了学生对基本数据结构原理的理解水平,也培养了学生解决复杂问题的能力。在实验教学中,教师需要及时辅导,进行一对一答辩掌握学生实验任务的完成情况,并根据学习情况组织学生或者教师本人进行实验讲评,充分、有效地落实实验任务。
为了充分调动学生主动学习的积极性,强化实践过程,考核评价包括过程性考核和总结性考核两部分,两者所占权重各为50%。鉴于既往学生在实验环节存在落实不到位、抄袭严重的问题,针对实验的考核方式除了采用Educoder实践平台以外,增加了一对一实验答辩环节,并加大了实验环节的考核比例。过程性考核包括学习通平台和Educoder 实践平台的综合得分(占30%)和实验答辩得分(占20%),总结性考核由教务处期末统一组织,一般以纸质试卷的形式考试,占总成绩的50%。在线教学平台可以实时、完整记录学生的学习过程并动态呈现学生的学习效果,引导学生重视线上学习过程,为总结性线下考核奠定坚实基础。
持续改进是工程认证标准的考查重点之一,科学的评价机制是持续改进的基础,通过课程目标的达成情况分析可以得到综合的反馈信息,有利于课程体系和课程结构的反复迭代优化和持续改进,图3所示为课程目标达成情况评价机制。
图3 课程目标达成情况评价机制
对21级计算机科学与技术专业85名学生的综合成绩进行课程达成度计算,得到了课程目标1、课程目标2、课程目标3和课程目标4的达成评价值分布图,如图4、图5、图6和图7所示。数据分析可知,课程的总体达成度为0.733,课程分目标达成度如下所述:
图4 课程目标1达成评价值分布图
图5 课程目标2达成评价值分布图
图6 课程目标3达成评价值分布图
图7 课程目标4达成评价值分布图
课程目标1达成度为0.820,及格值为0.6,教学期望值为0.7,有4位同学未达到期望值;
课程目标2达成度为0.843,及格值为0.6,教学期望值为0.7,有7位同学未达到期望值;
课程目标3达成度为0.710,及格值为0.6,教学期望值为0.5,有25位同学未达到期望值;
课程目标4达成度为0.562,及格值为0.6,教学期望值为0.5,有37位同学未达到期望值。
达成度分析说明学生充分理解数据结构的基本概念和基本运算,掌握了常见的数据结构解决工程问题的基本方法;通过分析实际问题,抽象出数据的逻辑结构,并设计有效的算法解决实际问题的能力良好;熟练应用基本数据结构和算法,设计并从多维度分析算法和程序的能力较好;面对复杂工程案例时的抽象问题、解决问题的能力还有待加强,这种综合应用能力在后续实践课程数据结构实训中会单独加强训练。
教学的效果一般用课程的期末考试成绩来衡量,但是这种评价方式过于单一,因此从学生满意度、学生专业持续能力和考试成绩三个维度来评价教学效果,也是图3中直接评价中关键的一个环节。本教学模式在2021级计科1班(42人次)和2021级计科2班(43人次)两个班实施。
针对传统课堂出现的问题和所研究的新教学模式的教学目的,设计了如图8所示的四个问题对学生进行满意度调查,最后一列为四个问题回答“是”的百分比。
数据结构课程的后续课程为算法设计与分析,数据结构课程也是计算机学科竞赛的关键课程,因此数据结构课程的学习效果也可以通过学科竞赛和后续课程的学习来反映。采用新的教学模式学习的学生参加学科竞赛的参与率和获奖率都明显升,相比2020级计科学生为传统教学模式授课,2021级学生的竞赛参与率提高了15.38%,获奖率提高了4.34%。与此同时,关联后续课程算法设计与分析的考试成绩也得到了明显提升,平均分由75.34分提升到了82.55分。
混合式教学模式的过程性考核由任课教师给分,总结性考试由教务处组织,统一命题、阅卷。因此,只将数据结构课程的总结性考试的成绩进行对比。2018、2019和2020级计科学生为传统教学模式授课,2021级计科学生为改革后的教学模式授课。四个年级的均分分别为75.31、78.92、77.67和82.02,可以看出,教改后的2021级学生的均分明显提高。
从以上三个维度进行混合式教学模式的评价统计,可知学生对混合式教学模式的接受程度很高,尤其对实践能力的培养得到了学生们的认可,对学科竞赛和后续关联专业课程都有显著的推动作用,考试成绩明显提升。
基于多元化的评价和反馈数据,数据结构课程还可以从以下方面继续改进:(1)继续多方位地加强实践教学,针对课程目标3和4进行改进提升;(2)进行分层教学,可以有效抑制在学习难度较大的内容时出现的两级分化状况;(3)充分分析学生性格特点和专业掌握能力,提高翻转课堂的活跃程度和效率。
我校计算机学院计算机科学与技术专业的工程认证申请已经通过,正处于进校考察的准备期,提出的教学模式得到了充分实践,重构之后的课程目标、教学大纲以及教学设计得以贯彻实施,实践结果一定程度上验证了新教学模式的效果。线上线下结合的混合式教学模式解决了传统课堂的诸多问题,充分激发学生兴趣,由“被动学”变为“主动学”,培养了学生解决实际工程问题的能力,培养的计算机专业应用型人才更适应企业需求。