面向工程教育认证的“数据结构”实践课程强 化建设

来源:互联网 编辑: 张倩 手机版

Advances in Education教育进展, 2019, 9(1), 38-42

Published Online January 2019 in Hans. http://www.hanspub.org/journal/ae

https://doi.org/10.12677/ae.2019.91009

Construction of Practical Course of

“Data Structure” for Engineering

Education Certification

Xiangyang Feng, Mei Wang, Qiubo Huang

College of Computer Science and Technology, Donghua University, Shanghai

Received: Dec. 30th, 2018; accepted: Jan. 8th, 2019; published: Jan. 15th, 2019

Abstract

This paper analyzed the supporting effect of the practical session of data structure course on the graduation requirements of engineering education certification, proposed an online practice mode of ACM-like model. It also constructed a data structure practice platform based on ACM/ICPC online evaluation technology and a data structure-oriented practice topic database. The practice process is illustrated by the case.

Keywords

Engineering Education Certification, Graduation Requirements, Data Structure, Practical Session, Practice Platform

面向工程教育认证的“数据结构”实践课程强

化建设

冯向阳,王梅,黄秋波

东华大学,计算机科学与技术学院,上海

收稿日期:2018年12月30日;录用日期:2019年1月8日;发布日期:2019年1月15日

摘要

分析数据结构课程实践环节对工程教育认证毕业要求的支撑作用,提出类ACM模式的在线实践方式,构

冯向阳等

建基于ACM/ICPC在线评测技术的数据结构实践平台以及面向数据结构的实践题目库,并以案例说明实践过程。

关键词

工程教育认证,毕业要求,数据结构,实践环节,实践平台

Copyright ? 2019 by authors and Hans Publishers Inc.

This work is licensed under the Creative Commons Attribution International License (CC BY).

http://creativecommons.org/licenses/by/4.0/

1. 引言

工程教育认证是国际通行的工程教育质量保证制度,也是实现工程教育国际互认和工程师资格国际互认的重要基础[1]。2016年6月2日,我国成为《华盛顿协议》的正式成员,标志着我国工程教育认证的结果将得到其他成员认可,通过认证专业的毕业生在相关国家申请工程师执业资格时,也将享有与本国毕业生同等待遇。因此,国内各大高校均积极申报工程专业认证。据中国工程教育专业认证协会统计,截止2017年底,全国共有198所高校的846个工科专业通过认证。上述工作的开展,不仅极大的提高了我国毕业生的国际竞争力、专业认证的先进理念,更有力地推动了我国工程教育专业的教学改革。

以成果为导向、以学生为中心以及持续改进的教学机制是我国工程教育认证主要倡导的基本理念。工程教育认证标准对工程类本科毕业生提出了12条毕业要求,包括工程知识、问题分析、研究、使用现代工具、工程与社会、环境和可持续发展、职业规范、个人和团队、沟通、项目管理以及终身学习等[2]。在实际的教学环节中,如何建设课程内容、改进教学过程,培养学生的抽象思维能力,提高计算机应用能力是计算机工程教育教学所需考虑的重要问题。

“数据结构”作为计算机学科实践性较强的专业基础必修课,其教学目标是要求学生掌握各种常用数据结构的定义、特点以及基于这些数据结构的基本算法,具备一定的数据抽象能力,学会分析算法复杂度、比较算法性能和优化算法,提高应用计算机技术解决实际问题的能力。由此可见,通过该课程教学目标的实现,将对学生达到工程认证毕业要求,如具备解决复杂工程问题的所具有的扎实的工程知识、问题分析能力、深度研究能力以及终身自主学习习惯等起到重要的支撑作用。

虽然工程知识和基础理论可通过课堂教学传授获得,但是如何分析实际问题,通过数据抽象建立数学模型,选择合适的数据结构转换为计算机能够处理的问题形式等抽象思维过程很难在传统的课堂教学模式中培养出来。学生只有通过针对性的系统化实践训练,方能真正培养和提高抽象思维能力,理解和掌握课程的内容,培养主动和深入学习的习惯,提高分析和解决问题的能力,以满足专业认证对学生素质和能力的要求。

2. 数据结构实践教学实践的问题

数据结构理论知识点多,涉及各种常用数据结构的定义、特点以及基于这些基本数据结构的基本算法等。由于数据结构主要是基于抽象数据类型(Abstract Data Type, ADT)进行描述和实现[3],要求学生具有一定的逻辑推导和抽象思维能力[4]。传统的教学模式主要通过教师的课堂讲授,使用伪代码来描述数据结构及其算法实现,教学内容比较抽象。学生被动地接收理论知识,普遍感觉课程内容过于抽象,对抽象数据类型的理解比较肤浅,不知道如何利用ADT进行相关算法的设计,无法满足工程认证教育的基

冯向阳等

本要求。

作为实践性较强的专业基础必修课程,实践教学环节是数据结构教学的重要组成部分。面向工程教育认证,课程的实践教学应注重培养学生的抽象思维能力。基于抽象数据类型,通过选择合适的数据结构,建立相应的数学模型,提高算法设计能力和动手实践能力。

由于课堂教学任务量大,造成实践课时严重不足,在课后学生也很少有渠道获得系统练习的机会。

而有限的实践教学过于注重基本理论的验证性实验,实验题目比较陈旧,多是围绕消化课堂内容而设计的一些碎片式的题目,缺乏系统化的实践题目设计,尤其缺乏对数据结构的核心内容,即抽象数据类型(Abstract Data Type, ADT)的系统性训练。对于学生而言,由于没有针对性的实践题目,几乎所有的课堂讲授的基本数据结构的ADT依然停留在伪代码的抽象阶段,没有实现将算法从伪代码到实际代码的真正转换。由于算法设计能力并未从实践环节中得到实质性的锻炼和提高,学生普遍对实践教学的积极性不高,缺乏学习能动性,实践教学效果不好。这种状况显然不利于学生分析和解决问题能力的培养。

而要真正领悟和掌握抽象思维能力,不仅需要从理论上掌握基本的知识点,更需要通过实践环节对学生的抽象思维能力进行系统的训练,提高算法设计能力,掌握各种数据结构和算法的意义和精髓,将具体的数据结构和相关算法应用到具体的项目中去[5]。为了提高教学质量,满足工程认证教育的要求,亟需通过实践课程建设,特别是在实践教学环境探索新的教学模式,以真正实现以成果为导向,以学生为中心。

3. 实践课程建设方案

在实践课程建设方面,将“类ACM模式”引入“数据结构”的实践教学中。众所周知,ACM国际大学生程序设计竞赛(简称ACM/ICPC)是由国际计算机界历史最悠久、最具权威性的计算机组织ACM (Association for Computer Machinery)学会主办,是世界上公认的规模最大、水平最高、最为公平的国际大学生程序设计竞赛,其目的在于让大学生运用计算机知识来充分展示自己在压力情况下,分析和解决问题的能力。国内很多高校已经尝试将ACM/ICPC训练模式引入数据结构的实践教学,用以刺激学生的挑战欲望,鼓励学生多动手、多动脑、多实践,进而提高学生学习的主观能动性,达到提高教学质量的最终目的。

ACM是以竞赛为目的,针对的是少数具有特别突出的算法设计能力的学生;数据结构的实践课程是以教学为目的,针对的是普通的计算机专业的本科生。由于二者的目的和针对对象的不同,不能简单地照搬ACM的训练模式,必须遵循本科教学以及工程认证教育的规律,进行数据结构的实践课程建设。

1) 基于ACM/ICPC在线评测技术的数据结构实训平台:学院已有的PCOJ平台针对ACM训练和竞

赛设计,没有班级管理、课程管理等功能,不适合本科实践教学使用。为此,自主开发了用于数据结构实践教学的实践平台(Online Judge, OJ)。该平台的用户分为3种角色:管理员、教师、学生。管理员的功能包括教师注册、题目维护等;教师的功能包括学生批量导入、训练试题库与标准答案维护、学生提交代码查看及批改等功能;学生的功能包括题目浏览、代码提交等功能。为了防止少数学生的懒惰行为,平台提供对提交程序的查重功能。在规定时间内,学生可以多次提交代码进行在线测评。系统也会及时反馈所提交的算法是否正确。教师也可以将不合格的代码退回,要求学生重做。由于实践教学在网络上进行,不受时间和空间的限制,无形之中解决了实践课程教学课时不足的问题。

2) 面向数据结构的实践题目库:虽然ACM竞赛题库中有大量应用数据结构知识点的题目,但由于

起点较高,并不适合于大多数初次接触数据结构的本科学生。因此,基于数据结构教学大纲,适应工程认证教育的要求,设计了系统化的数据结构实践题目。这些题目均以ACM训练题目的形式添加到平台的实训题目库中。目前,试题库已包含了100余道题目,7个专题试题集系统化的实践内容包括:基本

冯向阳等

数据结构(线性表、链表、栈、队列、二叉树、最优树、图)的完整ADT设计、建立在ADT基础上的数据结构应用算法题目以及查找和内部排序方面的算法设计题目等。

3) 面向对象的数据结构描述:由于每种基本的数据结构都有相应的存储结构,如二叉树的存储结构为二叉链表,建立对应的抽象数据类型(ADT)。由于二叉树的ADT具有自身的属性和基本操作,这实际上和面向对象语言中类的特点是一致的。同时,C++语言中的模板类可以用来描述ADT中元素类型不确定的因素。因此,面向对象的程序设计语言(如C++语言)更适用于描述数据结构。大部分学生虽然选修过C++的相关课程,但普遍缺乏实战训练,对模板类和指针的掌握比较薄弱,更不说将其应用于数据结构的描述上。因此,在OJ上部署的所有实践题目,均要求学生使用C++语言,基于模板类进行基本数据结构对应的模板类和应用算法的设计和实现。

相对于传统的实践教学,该模式具有以下几方面的优势:1) 实践教学在网络上进行,不受时间和空间的限制。教师可以通过在线评测系统由浅入深的布置系统的实验内容,为帮助学生掌握扎实的数据结构工程知识,为进一步应用数据结构进行抽象分析提供了可能。学生可以根据自己的情况,选择合适的时间完成实验题目。学生完成编程后,通过提交程序代码可以立刻得到评测结果。学生根据评测结果查阅资料、分析与解决问题,学生的自主学习能力得到进一步锻炼。2) 在数据结构课程学习目标达成中,最大的困难点是学生不善于对现实世界中问题所涉及到的数据进行分析,通过数据结构来抽象表达需要求解问题中的客观事物,不易掌握数据之间的关系,缺乏系统解决问题的方法。将ACM模式应用于数据结构的实验教学中,学生通过完成量身定做的系统化的数据结构实验题目,建立一组数据对象及数据关系的定义,在其上完成基本操作的实现,即实现各种数据结构完整的抽象数据类型,对学生的抽象思维能力和应用实践能力起到良好的训练和提升。3) 有利于创造学生之间良好的学术交流氛围。在完成题目的过程中,学生和学生、学生和老师之间会自主地进行算法和程序的交流讨论,有利于创造良好的学习交流氛围,提升学生的交流沟通能力。

4. 课程实践案例

以二叉树为例,实践平台的实践题目数据库中共设计了33道实训题目,其中19题为建立完善的二叉树抽象数据类型,14题为二叉树抽象数据类型的应用。如表1所示,上述题目可对应于四个阶段:阶段1,建立二叉树的二叉链表存储结构;阶段2:在二叉树的二叉链表存储结构之上,完成各种遍历操作,包括前序、中序、后序的递归遍历算法、非递归算法以及层次算法,完成后将其加入到二叉树的ADT基本操作集中。阶段3:在存储结构及各种遍历算法的基础上,实现ADT的其它基本操作,包括统计节点个数,查找节点、删除节点,查找父节点等,完成后将其加入到二叉树的ADT基本操作集中。阶段4:通过完成的二叉树抽象数据类型,完成简单的应用算法设计。

Table 1. Binary-tree practice topics (Part)

表1. 二叉树实践题目安排(部分)

阶段实践内容

阶段1 存储结构建立,1) 以二叉链表形式

阶段2 各种遍历操作实现,2) 递归遍历、3) 非递归遍历;4) 层次遍历

阶段3 其他基本操作实现,5) 查找元素值为x的结点的位置、6) 查找双亲结点、7) 查找孩子结点、8) 查找兄弟结点、9) 结点赋值、10) 统计结点个数、11) 查找结点路径、12) 获取树的层次、13) 判断二叉树形态、14) 判断二叉树是否相同、15) 按树状打印二叉树、16) 计算子树高度、17) 插入子树、18) 删除子树、19) 二叉树的销毁

阶段4 二叉树ADT应用,20) 统计叶子结点数21) 左右子树互换表22) 表达式树与中缀式相互转换、23) 二叉排序树校验24) 线索二叉树遍历25) 最优树建立

冯向阳等

对于实践平台上的每一道题目,其题目信息主要包含问题描述、基本操作参考函数原型、输入说明、输出说明、输入范例以及输出范例,为学生提供了规范化的说明及良好的注释。表2给出了二叉树的层次遍历算法题目实例。

Table 2. Binary-tree layer traverse topic instance

表2. 二叉树层次遍历算法题目实例

阶段实践内容

问题描述完成二叉树的层次遍历算法

基本操作1) visit函数(提供打印输出data域的代码实例)

2) LayerOrderTraverse(bool (*visit)(BinaryTreeNode *T)) const; (程序主体)

输入说明第一行:表示无孩子或指针为空的特殊分隔符

第二行:二叉树的先序序列(结点元素之间以空格分隔)

输出说明第一行:二叉树层次遍历结果

输入实例#

A B # C D # # E # # F # G # H # #

输出实例 A B F C G D E H

教师在实践平台上布置完题目后,学生根据课堂教学内容,完成实践平台上相应的题目;老师登录实践平台查看学生的完成进度与完成质量;安排课内实验课,根据同学的完成情况进行针对性的问题解答。此时,由于学生已经完成相应的内容,同时老师已经对学生的完成情况进行了解,因此教师和学生在课内实践的互动中,更有针对性,效率更高。在实验内容的设置上,根据内容深浅,由浅到深逐层深入,一道实践题目对应ADT的基本操作,随着实践进度的推进,逐渐完善,由学生自己最终完成完整的ADT。在此基础上,再通过具体的应用,体会如何使用ADT抽象数据类型解决实际问题,提高学生运用抽象分析能力和理论知识解决实际问题的能力,同时为下一步的数据结构课程设计打下了坚定的基础。

5. 结语

以工程认证毕业要求为主导,针对数据结构课程目标,通过建设系统化的数据结构实训平台和实训题库,利用面向对象的方法和手段设计有效的数据结构,进行数据抽象、设计抽象数据类型,注重算法设计能力的提高和解题思维能力的训练,使学生解决复杂工程问题的能力得以提高。

基金项目

2017年度上海市教委本科重点课程建设项目。

参考文献

[1]席景科, 王志晓. 面向工程教育专业认证的《数据库应用》课程教学改革[J]. 教育教学论坛, 2018, 336(24):

116-117.

[2]工程教育认证标准(2015版) [S]. 中国工程教育专业认证协会.

[3]刘志, 赵明珠, 刘瑞阳. 面向编程能力的数据结构课程教学方法研究[J]. 计算机教育, 2015(8): 66-69.

[4]刘华敏. CDIO在《数据结构》课程教改模式中的应用[J]. 广东技术师范学院学报(自然科学), 2016(2): 130-132.

[5]张小钢. 数据结构课程实践教学改进探讨[J]. 湖南科技学院学报, 2016, 37(4): 134-136.

数据结构课程设计报告模板

数据结构课程设计报告模板_工学_高等教育_教育专区。山东建筑大学 数据结构设计...电子文献 [11] 王明亮.中国学术期刊标准化数据库系统工程的 [EB/OL] ,http:...[本文更多相关]

面向工程教育认证的“数据结构”实践课程强 化建设相关搜索
最新推荐
热门推荐
<上页热点Q热点106 114下页下页社会娱乐体育军事汽车财经科技育儿历史美食数码时尚宠物收藏家居心理文化三农健康科学游戏动漫教育职场旅游电影国际 知识100106 114 52 107 115 55 120 57 100z48 100z100 100z106 100z114 100z52 100z107 100z115 100z55 100z120 100z57 106z48 106z100 106z106 106z114 106z52 106z107 106z115 106z55 106z120 106z57 114z48 114z100 114z106 114z114 114z52 114z107 114z115 114z55 114z120 114z57 52z48 52z100 52z106 52z114 52z52 52z107 52z115 52z55 52z120 52z57 107z48 107z100 107z106 107z114 107z52 107z107 107z115 107z55 107z120 107z57 115z48 115z100 115z106 115z114 115z52 115z107 115z115 115z55 115z120 115z57 55z48 55z100 55z106 55z114 55z52 55z107 55z115 55z55 55z120 55z57 120z48 120z100 120z106 120z114 120z52 120z107 120z115 120z55 120z120 120z57 57z48 57z100 57z106 57z114 57z52 57z107 57z115suiji 106 114 52 107 115 55 120 57 100g48 100g100 100g106 100g114 100g52 100g107 100g115 100g55 100g120 100g57 106g48 106g100 106g106 106g114 106g52 106g107 106g115 106g55 106g120 106g57 114g48 114g100 114g106 114g114 114g52 114g107 114g115 114g55 114g120 114g57 52g48 52g100 52g106 52g114 52g52 52g107 52g115 52g55 52g120 52g57 107g48 107g100 107g106 107g114 107g52 107g107 107g115 107g55 107g120 107g57 115g48 115g100 115g106 115g114 115g52 115g107 115g115 115g55 115g120 115g57 55g48 55g100 55g106 55g114 55g52 55g107 55g115 55g55 55g120 55g57 120g48 120g100 120g106 120g114 120g52 120g107 120g115 120g55 120g120 120g57 57g48 57g100 57g106 57g114 57g52 57g107 57g115 57g55 57g120 57g57 100g48g48 100g48g100... 1000000new106 new114 new52 new107 new115 new55 new120 new57 new100g48 new100g100 new100g106 new100g114 new100g52 new100g107 new100g115 new100g55 new100g120 new100g57 new106g48 new106g100 new106g106 new106g114 new106g52 new106g107 new106g115 new106g55 new106g120 new106g57 new114g48 new114g100 new114g106 new114g114 new114g52 new114g107 new114g115 new114g55 new114g120 new114g57 new52g48 new52g100 new52g106 new52g114 new52g52 new52g107 new52g115 new52g55 new52g120 new52g57 new107g48 new107g100 new107g106 new107g114 new107g52 new107g107 new107g115 new107g55 new107g120 new107g57 new115g48 new115g100 new115g106 new115g114 new115g52 new115g107 new115g115 new115g55 new115g120 new115g57 new55g48 new55g100 new55g106 new55g114 new55g52 new55g107 new55g115 new55g55 new55g120 new55g57 new120g48 new120g100 new120g106 new120g114 new120g52 new120g107 new120g115 new120g55 new120g120 new120g57 new57g48 new57g100 new57g106 new57g114 new57g52 new57g107 new57g115 new57g55 new57g120 new57g57 new100g48g48 new100g48g100 下页>... new100g48g48g48g48g48g48g48top106 top114 top52 top107 top115 top55 top120 top57 top100g48 top100g100 top100g106 top100g114 top100g52 top100g107 top100g115 top100g55 top100g120 top100g57 top106g48 top106g100 top106g106 top106g114 top106g52 top106g107 top106g115 top106g55 top106g120 top106g57 top114g48 top114g100 top114g106 top114g114 top114g52 top114g107 top114g115 top114g55 top114g120 top114g57 top52g48 top52g100 top52g106 top52g114 top52g52 top52g107 top52g115 top52g55 top52g120 top52g57 top107g48 top107g100 top107g106 top107g114 top107g52 top107g107 top107g115 top107g55 top107g120 top107g57 top115g48 top115g100 top115g106 top115g114 top115g52 top115g107 top115g115 top115g55 top115g120 top115g57 top55g48 top55g100 top55g106 top55g114 top55g52 top55g107 top55g115 top55g55 top55g120 top55g57 top120g48 top120g100 top120g106 top120g114 top120g52 top120g107 top120g115 top120g55 top120g120 top120g57 top57g48 top57g100 top57g106 top57g114 top57g52 top57g107 top57g115 top57g55 top57g120 top57g57 top100g48g48 top100g48g100幼儿教育小学教育初中教育高中教育高等教育教学研究外语学习资格考试/认证成人教育职业教育IT/计算机经管营销医药卫生自然科学农林牧渔人文社科工程科技PPT模板PPT制作技巧求职/职场计划/解决方案总结/汇报党团工作工作范文表格/模板法律文书饮食游戏体育/运动音乐旅游购物娱乐时尚美容化妆家具家电社会民生影视/动漫保健养生随笔摄影摄像幽默滑稽人文社科法律资料军事/政治广告/传媒设计/艺术教育学/心理学社会学文化/宗教哲学/历史文学研究经管营销人力资源管理财务管理生产/经营管理企业管理公共/行政管理销售/营销金融/投资经济/市场工程科技信息与通信电子/电路建筑/土木城乡/园林规划环境/食品科学电力/水利交通运输能源/化工机械/仪表冶金/矿山/地质纺织/轻工业材料科学兵器/核科学IT/计算机互联网电脑基础知识软件及应用硬件及网络自然科学数学物理化学生物学天文/地理医药卫生临床医学基础医学预防医学中医中药药学农林牧渔农学林学畜牧兽医水产渔业求职/职场简历封面/模板求职/面试职业规划自我管理与提升计划/解决方案学习计划工作计划解决方案商业计划营销/活动策划总结/汇报学习总结实习总结工作总结/汇报党团工作入党/转正申请思想汇报/心得体会党团建设工作范文制度/规范演讲/主持行政公文表格/模板合同协议书信模板 表格类模板饮食游戏体育/运动音乐旅游购物娱乐时尚美容化妆影视/动漫保健养生随笔幽默滑稽幼儿教育幼儿读物少儿英语唐诗宋词育儿理论经验育儿知识家庭教育小学教育小升初学科竞赛其它课程 初中教育中考科学学科竞赛其它课程高中教育学科竞赛其它课程职业教育中职中专职高对口职业技术培训 其他成人教育成人考试电大自考专升本远程、网络教育高等教育理学工学经济学管理学文学哲学历史学法学教育学农业医学军事艺术研究生入学考试院校资料其它