APP下载

基于OBE 的数据结构教学改革实践

2019-10-23王海艳黄海平

计算机教育 2019年10期
关键词:链表数据结构知识点

朱 洁,王海艳,黄海平

(南京邮电大学 计算机学院,江苏 南京 210046)

0 引 言

工程教育是我国高等教育体系的重要组成部分。自我国成为《华盛顿协议》成员国后,高标准通过工程教育专业认证正逐渐成为国内各大高校建设一流“新工科”专业的重要指标。基于学习产出的教育模式(Outcomes-Based Education,OBE)是工程教育的核心理念,也是工程教育专业认证贯穿始终的重要标准。OBE 以“实现学生特定学习产出的教育过程”推动了传统内容驱动、学科导向或投入导向的教育模式改革[1]。为适应OBE 理念并满足工程教育认证标准,很多高校积极开展了计算机基础应用的理论教学改革,但是仅仅依靠课堂教学方法改革来促进学生理解计算机思维并提升解决复杂工程问题的能力,成效是非常有限的,因此,基于OBE 理念梳理具体计算机课程的教学难点与重点,引入优质在线教学资源,并借助丰富多样的翻转课堂形式重构教学环节,加强过程性教学和形成性评价,成为目前公认较为成功的教学改革方案之一[2]。

1 基于OBE的数据结构课程大纲修订

为了将培养方案的制(修)订与专业认证有机结合,应在深刻理解专业培养目标和毕业要求的基础上,根据课程的具体知识结构及其与先后修课程知识体系的关联,修订基于OBE 的课程教学大纲。参与基于OBE 的课程大纲修订,对于促进教师深刻理解“以学生为中心的教与学”的OBE 核心内涵,可以起到非常积极的作用。

1.1 课程目标对毕业要求的支撑

数据结构对学生能力培养的要求是在掌握数据结构基本内容的基础上,具有面向实际问题选择合理的存储结构、进行算法设计和程序实现的能力,同时能对算法的时间和空间复杂度进行分析,具有综合的编程能力、计算机专业素质和一定的解决复杂工程问题的能力。基于该能力培养要求,课程教学目标设计如下。

课程目标1:掌握数据结构的基本概念,熟悉合理组织数据的基本方法,培养学生运用计算思维分析计算机领域相关工程问题的能力,为本专业后续课程学习及进一步的软件开发打下良好的理论基础。

该课程目标支撑毕业要求“工程知识”:掌握计算机软硬件相关工程基础知识,能将其用于分析计算机领域的相关工程问题。

课程目标2:能够运用计算思维分析问题和解决问题,针对具体问题,分析数据元素的组成和逻辑关系,设计灵活高效的数据存储结构,实现所需的运算,针对计算机领域复杂工程问题设计可行的研究方案。

该课程目标支撑毕业要求“设计/开发解决方案”:能够根据用户需求,选取适当的研究方法和技术手段,确定复杂工程问题的解决方案。

课程目标3:能综合运用数据结构的基本理论和设计方法,针对计算机领域复杂工程问题自主设计数据结构,并能对研究方案的可行性进行论证。

该课程目标支撑毕业要求“研究”:能基于专业理论,针对计算机领域复杂工程问题设计可行的研究方案。

1.2 课程重点、难点与解决方案

为了能够有针对性地设计后续的在线视频课程教学内容,在修订大纲这一环节,就需要明确课程的重点和难点。数据结构作为一个理论性较强的课程,其重点在于理解各种抽象数据结构所表达的数据间的关系以及对各种数据结构的灵活应用,而难点是如何针对实际应用问题,选择合适的数据结构,设计并实现有效的算法。针对课程重点和难点,具体解决方案包括以下几方面。

(1)在教学过程中,以基础为主,理解各类逻辑结构的内涵。

(2)重视并强化上机实践教学环节,通过编程实践加强学生对各类数据结构存储表示与运算的掌握,并帮助学生进一步地理解逻辑结构、存储结构与运算结构之间的关系。

(3)有针对性地建设在线课程教学资源内容,为学生提供更多种类的自学途径和学习资源,并安排教师定期维护课程论坛,解答学生问题。

(4)通过建设课程QQ 群或微信群,与学生进行实时在线答疑;网络资源与在线互动可以作为课堂教学的有效补充。

(5)编制与课程配套的课件、复习要点、例题分析、习题与思考,以组合方式提供给学生,使学生能发挥学习的自主性、启发性以及研究性,引导学生深入思考和研究。

1.3 教学方法与持续改进

数据结构课程包含课堂教学环节、实验教学环节和课外教学环节。课堂教学主要采用理论授课、习题讲解分析、课内交流讨论、翻转课堂等教学模式;实验教学环节主要采用布置实验题并在机房上机完成实验的方式;课外通过在线课程网站、课程资源共享网站提供教学资源供学生自学,以使学生达成课程目标。

本课程在每轮授课过程中,根据学生作业、课堂测验、课堂研讨等过程性评价结果以及学生平时反馈、教学督导、同行等人员的听课反馈情况,及时对本轮教学过程中的不足之处进行改进。课程结束后,对课程教学目标达成情况进行分析,根据分析结果,同时结合毕业生、校友、社会第三方的问卷调查、座谈会、调查报告等形式的反馈,在本课程后面轮次的教学中改进提高。

2 数据结构在线资源建设

作为一种新的教育形态,“互联网+”为现代教育提供了新的环境和手段,极大加快了教育信息化的进程[3]。为响应国家中长期教育改革和发展纲要,以基于OBE 的教学大纲为指导,课程在线资源建设过程如下。

2.1 在线教学内容设计

根据教学大纲中明确的知识模块,进行在线教学内容设计。

明确在线课程知识点结构,全面、系统涵盖教学内容,并突出重点和难点。在线资源应该能够提供学生自学所需的所有教学资源。建设在线资源的目标之一是能够全面对外开放,使选修学生基本上能够通过自学达到课程目标,而不仅仅使本校学生补充课堂教学内容。所有理解起来有一定难度的概念(或者根据教学经验,学生难以快速消化的知识),无论粒度多小,都要单独设计视频、课件、练习和讨论,以保证学生有重点、有针对性地强化知识痛点。

以数据结构第4 章“数组”为例,在进行教学知识点结构设计时,根据上述设计思想,一共设计了9 个知识点,见表1。

2.2 教学视频制作

明确知识点结构并细化重点、难点后,进入教学视频制作环节。

首先需要针对每一个小知识点,设计录制视频所需课件。为录制视频所制作的课件,与课堂教学课件有着明显区别,体现在:文字部分应更加简洁;内容呈现尽可能生动,以动画为主;考虑视频独立性,应尽可能增加一些知识点简单回顾环节,以满足学生自学需求。此外,该课程教学中存在大量算法代码讲解内容,在制作视频课件时需要对大段程序进行功能分解和关键步骤讲解,为了避免视频内容过于枯燥,应该尽量以流程图的方式进行内容呈现。为了保持每个视频内容的连贯性和独立性,课件内容结构应该保持统一:①前一个知识点的简单回顾;②本节知识点在章节中的位置和作用;③知识点讲解;④具体案例分析或习题解析;⑤本节知识点的难点与重点;⑥下一个知识点简介。

表1 数组的知识结构

其次,根据课件内容,撰写录制脚本。每个知识点录制时间以10 min 为上限,按照1 min 200 字的念稿速度,脚本字数不超过2 000 字。如果撰写脚本过程中发现字数超过2 000 字,说明知识点细分不够,需要将该知识点进行进一步的拆分。在撰写脚本的过程中,注意语言尽量口语化,避免大量书面语和公式。在脚本上可以标注课件上动画的位置、间隔时间等,以方便视频制作公司进行同步。

在录制视频时,呈现在教师面前的是放大的脚本,教师录制视频的过程主要是念稿。为了避免画面中教师念稿痕迹严重,需要在录制之前熟读脚本,录制时眼神最好定在脚本上的一点,避免明显的眼球左右移动,此外,根据讲述内容,设计一定的手势也是很有必要的。

2.3 配套资源建设

除了视频资源之外,一个完整的在线课程还需要全套多元化的辅助资源,帮助学生达到学习目标。例如,针对每一个视频,设计一定数量的弹题,辅助学生强化知识;对每一个知识点,设计练习题和讨论;对每一章设计测试题库和作业。这些资源可以帮助教师及时发现教学中的问题,了解学生的学习情况,并产生形成性评价。

以中国大学MOOC 的南京邮电大学数据结构在线开放课程为例,为了保证在线资源的丰富性,针对每个知识点的所有考核题型,设计了自动习题生成系统,可以批量生成大量习题,以保证练习强度和满足学生自学需求。

例如,“数组”章节中的难点是特殊矩阵的地址计算题,设计几乎覆盖该知识点所有考核要点的填空题题干:

“设有W阶X矩阵A,其中矩阵元素用a(i,j)表示,将A按照Y优先顺序存储Z三角元素的方式存储至一维数组B,则数组B[M]中存储的矩阵元素是a(___,___)。”

在随机生成具体题目时,令W为5~10 的随机数、X为“对称”或“三角”、Y为“行”或“列”、Z为“上”或“下”,M是取值为0至(1+W)×W/2 的一个随机整数。

例如,随机生成题目:“设有7 阶对称矩阵A,其中矩阵元素用a(i,j)表示,将A按照行优先顺序存储下三角元素的方式存储至一维数组B,则数B[11]中存储的矩阵元素是a(___,___)。”

2.4 在线课程维护

数据结构在线课程在中国大学MOOC 上线,南京邮电大学校内SPOC 课程已经运行2 学期。在线课程开课阶段也需要投入较大精力进行维护,这样才能让选课学生拥有一个好的学习体验。采取任课教师轮值承担在线课程维护任务的方法,除了根据教学计划定期发布教学内容(视频、课件、测试、作业等)之外,还需要及时回复学生在论坛上提出的问题,根据学生回复给予点赞或补充说明;定期向任课教师反馈学生学习情况,分析测试题错误情况和作业情况,以辅助任课教师在课堂上实施有针对性的教学。

3 翻转课堂教学实施

根据文献[4-5]中提出的经典翻转课堂实施结构,数据结构翻转课堂教学由50%学时的自学和50%学时的见面课组成。学生通过观看在线课程、完成测验和作业来完成自学任务,教师通过学生在线课程完成情况进行有针对性的课题教学内容设计,布置小组课外活动或作业,并对学生进行形成性评价。

3.1 课堂教学内容设计

课堂教学内容要区别于在线教学视频内容,应该是有针对性的重点、难点的讲解,其定位应该是基于学生已经按要求完成自学任务为前提的进一步知识巩固与丰富。课堂教学环节主要包括如下几方面。

(1)基础知识巩固。该环节主要设置在课程前期阶段,数据结构是计算机专业学生大二学习的课程,学生大概率初次接触翻转课堂,因此可以设置一个短暂的适应过程。在这一阶段,在学生还未具备数据结构逻辑思维能力时,可适当放慢节奏,并督促学生按时完成自学任务。

(2)重点、难点讲解。教师根据以往教学经验、学生完成在线测验和作业情况,将得分率较低的考核点及对应的知识点进行重点解析。

(3)师生讨论互质。可以要求学生在上课前向老师提出指定数量的问题,由教师从中挑选质量高的问题作为讨论题,在课堂上进行探讨;也可以在重点、难点讲解完毕后,和学生进行现场互质互问,以达到活跃课堂气氛,促进思考的效果。

(4)课堂练习。利用自动习题生成系统组卷,在课堂上发给学生进行现场练习,教师可以给予现场指导,如学习“二叉平衡树的插入与删除”“B 树的插入与删除”“哈夫曼树的构造”“最小代价生成树”等操作性很强的知识难点时,通过一定强度的练习,可以帮助学生很好地掌握这些知识。

(5)小组活动。为了活跃课堂气氛,可以设计一定的小组活动环节,让每名学生都能够参与活动,促进交流和学习。

3.2 课外小组活动设计

根据教学内容,可设计3 个课外小组活动作业,给每个小组布置演练内容,在课堂验收并打分。

(1)各类链表操作演练:排练8 种链表(不带表头单向非循环链表、带表头单向非循环链表、不带表头双向非循环链表、带表头双向非循环链表、不带表头单向循环链表、带表头单向循环链表、不带表头双向循环链表、带表头双向循环链表)的插入、删除操作过程,要求每位学生都参与操作过程中,扮演一个重要角色,每组可以有一个总指挥进行全局操作;要求考虑插入、删除中的特殊情况。

(2)堆栈与队列操作演练:小组每位学生扮演不同的操作算子或变量,通过人工演示的方式,展示堆栈、循环队列和表达式计算的操作过程。

(3)排序算法过程演练:要求学生按照各自的题目排练排序算法的实施过程,每个组员都要承担算法算子角色,如快速排序的时候需要一名学生扮演i标识、一位学生扮演j标识、一名学生扮演分割点等。

3.3 基于形成性评价的考核

实施翻转课堂教学的班级,学生成绩应该以形成性评价为主。通过形成性评价,教师可以随时了解学生在学习上的进展情况,获得教学过程中的连续反馈,并以此为随时调整教学计划、改进教学方法提供参考。

以本课程实施翻转课堂教学班级的考核方式为例,总评成绩由平时成绩(50%)和期末成绩(50%)组成。平时成绩以形成性评价为主,包含在线作业(30%)、在线测验(30%)、课堂参与情况(20%)和课内实验情况(20%),其中,课堂参与情况需综合考虑学生参与在线课程学习情况(如视频观看比例、参与论坛讨论情况等)和翻转课堂见面课的表现情况(小组活动情况、讨论参与情况等)。

4 结 语

南京邮电大学计算机科学与技术专业从2014 年起开始筹备申请工程教育专业认证,并于2018 年成功通过认证。为达到工程教育专业认证标准,作为核心课程之一的数据结构教学课程组从2014 年起开展了基于OBE 的课程建设改革,期间经历了新大纲修订、新教材编写、在线课程制作、翻转课堂实施等环节,积累了一定的改革经验。

翻转课堂教学模式是对传统教学模式的颠覆。实现翻转课堂的目标是为了能够贯彻OBE的教育理念,让学生达到课程目标和与之相对应的毕业要求,能够初步具备解决复杂工程问题的能力,为后续算法类课程打下坚实的基础。从传统课堂到实现翻转课堂的过程并不是一蹴而就的,南京邮电大学计算机科学与技术专业经过了长达4 年的探索,改革才得以实施,目前所取得的成效符合预期。下一阶段教学改革重心将落在课程实践环节,引入Online Judge 系统进行实验验收,以产生学生实践环节的形成性评价。

猜你喜欢

链表数据结构知识点
自适应业务场景的数据库冷热数据识别算法
一张图知识点
一张图知识点
第四页 知识点 歼轰-7A
数据结构线上线下混合教学模式探讨
重典型应用,明结构关系
如何用链表实现一元多项式相加
跟麦咭学编程
关于G20 的知识点
C语言中指针链表的学习探讨