论文部分内容阅读
摘 要:算法與数据结构课程是计算机类专业重要的专业基础课,针对学生学习积极性不高、对知识掌握深度不够等问题,文章提出新时期贯穿教学过程的灵魂理念:选择与设计,并对该教学理念在逻辑结构、存储结构、算法设计以及实验设计等环节的实施进行了阐述,该教学理念旨在训练学生更深入透彻地掌握该课程的知识体系,强化学以致用,在实践教学中取得较好的成效。
关键词:选择;设计;算法与数据结构;教学设计;教学改革
中图分类号:G642 文献标志码:A 文章编号:2096-000X(2021)29-0108-04
Abstract: Algorithm and Data Structure is an important professional basic course for computer majors. Aiming at the problems of students' low enthusiasm for learning and insufficient depth of knowledge, the soul idea of teaching & learning in the new era selection and design is proposed and analyzed in this paper. This soul idea is elaborated on the implementation of logical structure, storage structure, algorithm design and experimental design. This soul idea aims to train students to master the knowledge system of the course more thoroughly and strengthen their applications. And it achieved good results in the practical teaching.
Keywords: selection; design; algorithm and data structure; teaching design; teaching reform
一、新时期课程教学面临的主要问题
算法与数据结构课程是计算机类专业重要的专业基础课,也是大部分工科类学科的考研课程,一直以来都受到师生的广泛重视。然而,新时期新的要求,教学模式的改革、转型过程中,其教与学面临着很多问题。
(一)理论知识理解与实践深度不够
传统的教学模式以及考研的重要性,尤其是对一些普通高校学生来说,考研是较好的出路,导致在该课程教学中很多师生侧重于应试,因此学生对理论知识的理解以及应用的深度往往不够,未能较好地建立课程的知识体系[1-3],而新时期学生质量的评价标准正在发生重大变革,卷面成绩的比重正在逐步降低。因此,我们的教学目标理应更侧重应用能力的培养。
(二)大数据时代学习观念的转变
人类进入大数据时代以来,传统的工作、学习、生活习惯都遭遇了巨大冲击,这也是我们面临的重大机遇与挑战。面对丰富多样、格式迥异的各类学习资源,如何引导学生甄别、选择合适自己的材料,培养新时期高效的学习习惯,是我们面临的关键问题之一[4-5]。
(三)科研能力培养与课程思政要求
近年来本科生毕业后升学深造的比例逐年上升,美国工程教育认证毕业要求也把科研能力的培养作为重要评价指标点之一[6]。
2020年3月,教育部下发了《高等学校课程思政建设指导纲要》,明确指出了各学科课程思政建设的目标要求和内容重点、提出要科学设计课程思政教学体系、结合专业特点分类推进课程思政建设[7-8]。
因此,在本科教学阶段,初步培养学生科学研究习惯与能力,并在教学过程中贯穿思政思想是趋势和要求。
(四)课堂课时在压缩
在近两轮的培养方案修订中,一个明显的变化是课时在压缩,要求把时间归还给学生实践环节。算法与数据结构课程学时也由原来的64课时压缩为56课时(其中包括8课时的课内实验),再加为期一周的课程设计实践环节。而新工科时期,原知识体系、前沿资料、思政要求等教学内容未曾减少,反而有所增加,要求我们改变传统的教学模式和习惯,引入行之有效的教学方法和理念[9-10]。
在算法与数据结构课程知识体系中,需要融会贯通,深入理解其内涵,每个知识点、每个教与学环节,都深刻反映着选择与设计,对成熟的进行选择,不成熟的改进设计,这样才能面向实际应用,加深对知识的掌握。因此,针对前文面临的问题,本文提出新时期以强化“选择-设计”为灵魂的教/学新理念,强化学生为中心,学以致用。
二、贯穿整个课程教学的灵魂理念
算法与数据结构课程知识体系存在2条线索:
一是按逻辑结构:线性结构->树形结构->图形结构的顺序循序渐进、由易到难,侧重知识细节,局部掌握,目前该课程的教与学大多按这种模式。
二是按解决实际问题的过程:逻辑结构->存储结构->算法设计->实验设计的顺序,侧重知识体系的全局掌握,是对局部知识的深入掌握。
在以上知识体系的线索中,存在贯穿整个教学过程中的环节:选择与设计(如图1所示),结合其前置环节的评价。本节按第2条线索的顺序依次进行阐述。
(一)逻辑结构选择与设计
逻辑结构反映数据与数据之间的关联关系,数据结构基本逻辑结构有线性结构、树形结构、图形结构和集合四种。而实际问题中数据之间的关系往往比较复杂,因此,教/学中需要通过分析、凝练、抽象等过程,来选择设计合适的逻辑结构。在教/学设计中,该过程大体分为以下几个环节(如图2所示): (1)根据实际问题中的具体操作作为对数据对象的要求,分析、抽象从而选择并确定数据元素。这里的数据元素不仅表示传统基本类型的数据,也包含有构造型(嵌套型)的数据元素,典型的案例是广义表。
(2)分析数据元素与数据元素之间的关联关系,结合拟采用的存储方式,选择归属于相应的逻辑结构。
(3)除集合外,三类逻辑结构之间存在着泛化和例化关系,因此在确定逻辑结构的同时,通过设计的方式,使其具备逻辑结构的可扩展性。
(4)采用符号化的语言对逻辑结构进行形式化描述,在此基础上根据实际操作需求,进一步确定抽象数据类型ADT。
(二)存储结构选择与设计
存储结构是数据在磁盘中的存储方式,或者是数据结构在计算机中的表示。数据结构中也有四种基本的存储结构:顺序存储、链式存储、索引存储和散列存储。选择理想的存储结构是关键环节。
在教/学设计中,存储结构的选择与设计大体分为以下几个环节,其中核心是选择与设计,而选择的依据与评估是关键。
(1)根据实际问题涉及数据的特征以及设计的逻辑结构、各种操作的具体需要,初步选择相应的存储结构。
(2)根据算法的具体优化要求,对存储结构的优劣进行评估,对相应的存储结构进行组合设计,比如树的存储结构双亲数组,是顺序存储结构与链式存储结构的组合设计。
(三)算法设计
算法与數据结构课程主要的研究内容是数据组织与处理,逻辑结构和存储结构的设计任务是数据组织,而后者是由算法完成的。算法设计在计算机类专业课程体系里有计算方法、算法分析等进算法进阶类课程,因此在本课程教学中,除要掌握相应知识点外,还需要训练算法设计、算法评价、算法改进的思维模式,具体过程如图3所示。
(1)根据实际问题中软硬件需求,选择合适的算法设计方法,比如综合评估硬件配置、算法复杂性、可读性、效率需求等因素,对于二叉树的遍历,可以采用递归算法,也可以采用非递归算法。
(2)理论分析算法过程以及数据特征,对算法各方面性能进行评价,调研相关文献,综合分析后给出改进方案。
(3)改进算法。
(4)实验设计
“选择-设计”理念的关键环节是评价,而评价分两个层面,首先是前面各个环节中的理论分析评价,其次就是实验。实验环节主要完成两个任务:实验方案设计和实验分析。
实验方案设计包括实验环境选择、开发工具选择、实验数据集选择、评价标准选择等。
实验分析包括实验结果分析、各种参数的选择与分析等,而分析的结果作为改进实验方案设计的依据,从而形成本环节改进的闭环。实验环节的结果又作为前三个环节改进的依据,成为大闭环。
三、线上/线下混合式教学模式
在教/学过程中,强化训练“选择-设计”理念从而学以致用,提高学生对相关知识的理解深度,需要花费额外课时,这与新时期课时压缩,将时间还给学生自主学习环节的大环境是矛盾的,因此选择线上/线下混合式教学模式是很好的选择。
线上/线下混合式教学模式的核心在于线上与线下教学资源的准确分配,不同的高校、专业和个人由于能力差异以及自主学习主动性差异,线上与线下教学资源的分配有所区别,因此把握学生的学习状态是该教学模式实施中关键环节,而“选择-设计”理念的训练过程可以为其提供重要依据(见图4)。
四、教学实践与讨论
(一)近年来实施效果评估
近年来,在课程的教学实践中逐步推行“选择与设计”的理念,取得了初步的成效,学生对知识体系有了明显深入的理解,图5是我校近几年计算机专业的考试成绩分布情况,学生成绩呈现较好的正态分布,分布的峰值也逐步由75-80分提高到了80-85分,除了试题难度上可能存在的差异外,可以看出学生对课程的学习积极性、主动性及成绩上均有所提高。
图6是我校近年来计算机专业学生课余时间参与实践环节的统计情况。从学生对教师科研项目的参与度和参与申报大学生创新创业项目的情况来看,学生参与的积极性也有了提高,为将来深造奠定了坚实的基础。
(二)一分为二的哲学思想
“选择与设计”灵魂理念的关键是评价,而评价的方法和依据有很多种,甚至有可能冲突。在选择顺序存储结构或链式存储结构时,需要根据数据特征、数据操作特征等具体情况进行选择,换一批数据或换一个实际问题,选择和设计的结果可能不一样。因此,在评价的过程中,可以较好地强化训练学生的具体问题具体分析、一分为二的分析能力。
(三)科学研究能力的训练
在“选择与设计”的教学理念中,不管是选择、设计还是评价,利用教材或教学大纲中的方法是远远不够的,尤其是大数据时代提供了丰富的文献资源,因此在教学实施过程中,可以有效地训练学生调研文献、阅读文献、选择评价方法、设计算法、改进和优化算法等严谨的科研态度和科研能力,这对工程教育认证中科研能力培养的毕业要求具有较好的支撑作用。
五、结束语
文章提出普通高校在算法与数据结构课程教学过程中深入强化“选择与设计”的灵魂理念,配合新时期线上/线下混合式教学方式,对学生强化知识体系的掌握具有较好的支撑作用。
参考文献:
[1]葛云生.《数据结构》课程教学改革与探索[J].高教论坛,2010(1):75-77.
[2]董丽薇.“数据结构”课程教学方法的改进[J].沈阳师范大学学报(自然科学版),2012,30(2):307-309.
[3]王德兴,胡学钢,张玉红,等.数据结构课程设计的改革与创新探讨[J].合肥工业大学学报(社会科学版),2008(5):94-97.
[4]王海玲.大数据时代下信科专业离散数学教学改革[J].计算机教育,2020(7):66-69.
[5]黄栋,王昌栋.结合大数据时代背景的《数据结构》教学改革研究[J].现代计算机(专业版),2018(3):61-64.
[6]中国工程教育专业认证协会.工程教育认证自评报告指导书(2020版)[Z].2020.
[7]习近平:把思想政治工作贯穿教育教学全过程[EB/OL].http://www.xinhuanet.com/politics/2016-12/08/c_1120082577.htm.
[8]教育部.关于印发《高等学校课程思政建设指导纲要》的通知[Z].教育部,2020.
[9]中央深改委审议通过《深化新时代教育评价改革总体方案》[Z].2020.
[10]任雪萍.基于线上线下融合的数据结构教学改革[J].计算机教育,2019(7):5-9.
基金项目:山西省高等学校教学改革创新项目“新时期《算法与数据结构》等专业基础课程教学法研究”(编号:J2020213)、“工程认证背景下的《数据挖掘》课程教学法研究”(编号:J2019129);山西省精品资源共享课“《算法与数据结构》”(编号:K2020148);太原科技大学教学改革创新重点项目“《算法与数据结构》等软件类专业基础课程体系教学改革”(编号:201908)
作者简介:杨海峰(1980-),男,汉族,山西太原人,博士,教授,研究方向:大数据挖掘方法及应用。
通信作者:蔡江辉(1978-),男,汉族,山西太原人,博士,教授,研究方向:数据挖掘与机器学习。
关键词:选择;设计;算法与数据结构;教学设计;教学改革
中图分类号:G642 文献标志码:A 文章编号:2096-000X(2021)29-0108-04
Abstract: Algorithm and Data Structure is an important professional basic course for computer majors. Aiming at the problems of students' low enthusiasm for learning and insufficient depth of knowledge, the soul idea of teaching & learning in the new era selection and design is proposed and analyzed in this paper. This soul idea is elaborated on the implementation of logical structure, storage structure, algorithm design and experimental design. This soul idea aims to train students to master the knowledge system of the course more thoroughly and strengthen their applications. And it achieved good results in the practical teaching.
Keywords: selection; design; algorithm and data structure; teaching design; teaching reform
一、新时期课程教学面临的主要问题
算法与数据结构课程是计算机类专业重要的专业基础课,也是大部分工科类学科的考研课程,一直以来都受到师生的广泛重视。然而,新时期新的要求,教学模式的改革、转型过程中,其教与学面临着很多问题。
(一)理论知识理解与实践深度不够
传统的教学模式以及考研的重要性,尤其是对一些普通高校学生来说,考研是较好的出路,导致在该课程教学中很多师生侧重于应试,因此学生对理论知识的理解以及应用的深度往往不够,未能较好地建立课程的知识体系[1-3],而新时期学生质量的评价标准正在发生重大变革,卷面成绩的比重正在逐步降低。因此,我们的教学目标理应更侧重应用能力的培养。
(二)大数据时代学习观念的转变
人类进入大数据时代以来,传统的工作、学习、生活习惯都遭遇了巨大冲击,这也是我们面临的重大机遇与挑战。面对丰富多样、格式迥异的各类学习资源,如何引导学生甄别、选择合适自己的材料,培养新时期高效的学习习惯,是我们面临的关键问题之一[4-5]。
(三)科研能力培养与课程思政要求
近年来本科生毕业后升学深造的比例逐年上升,美国工程教育认证毕业要求也把科研能力的培养作为重要评价指标点之一[6]。
2020年3月,教育部下发了《高等学校课程思政建设指导纲要》,明确指出了各学科课程思政建设的目标要求和内容重点、提出要科学设计课程思政教学体系、结合专业特点分类推进课程思政建设[7-8]。
因此,在本科教学阶段,初步培养学生科学研究习惯与能力,并在教学过程中贯穿思政思想是趋势和要求。
(四)课堂课时在压缩
在近两轮的培养方案修订中,一个明显的变化是课时在压缩,要求把时间归还给学生实践环节。算法与数据结构课程学时也由原来的64课时压缩为56课时(其中包括8课时的课内实验),再加为期一周的课程设计实践环节。而新工科时期,原知识体系、前沿资料、思政要求等教学内容未曾减少,反而有所增加,要求我们改变传统的教学模式和习惯,引入行之有效的教学方法和理念[9-10]。
在算法与数据结构课程知识体系中,需要融会贯通,深入理解其内涵,每个知识点、每个教与学环节,都深刻反映着选择与设计,对成熟的进行选择,不成熟的改进设计,这样才能面向实际应用,加深对知识的掌握。因此,针对前文面临的问题,本文提出新时期以强化“选择-设计”为灵魂的教/学新理念,强化学生为中心,学以致用。
二、贯穿整个课程教学的灵魂理念
算法与数据结构课程知识体系存在2条线索:
一是按逻辑结构:线性结构->树形结构->图形结构的顺序循序渐进、由易到难,侧重知识细节,局部掌握,目前该课程的教与学大多按这种模式。
二是按解决实际问题的过程:逻辑结构->存储结构->算法设计->实验设计的顺序,侧重知识体系的全局掌握,是对局部知识的深入掌握。
在以上知识体系的线索中,存在贯穿整个教学过程中的环节:选择与设计(如图1所示),结合其前置环节的评价。本节按第2条线索的顺序依次进行阐述。
(一)逻辑结构选择与设计
逻辑结构反映数据与数据之间的关联关系,数据结构基本逻辑结构有线性结构、树形结构、图形结构和集合四种。而实际问题中数据之间的关系往往比较复杂,因此,教/学中需要通过分析、凝练、抽象等过程,来选择设计合适的逻辑结构。在教/学设计中,该过程大体分为以下几个环节(如图2所示): (1)根据实际问题中的具体操作作为对数据对象的要求,分析、抽象从而选择并确定数据元素。这里的数据元素不仅表示传统基本类型的数据,也包含有构造型(嵌套型)的数据元素,典型的案例是广义表。
(2)分析数据元素与数据元素之间的关联关系,结合拟采用的存储方式,选择归属于相应的逻辑结构。
(3)除集合外,三类逻辑结构之间存在着泛化和例化关系,因此在确定逻辑结构的同时,通过设计的方式,使其具备逻辑结构的可扩展性。
(4)采用符号化的语言对逻辑结构进行形式化描述,在此基础上根据实际操作需求,进一步确定抽象数据类型ADT。
(二)存储结构选择与设计
存储结构是数据在磁盘中的存储方式,或者是数据结构在计算机中的表示。数据结构中也有四种基本的存储结构:顺序存储、链式存储、索引存储和散列存储。选择理想的存储结构是关键环节。
在教/学设计中,存储结构的选择与设计大体分为以下几个环节,其中核心是选择与设计,而选择的依据与评估是关键。
(1)根据实际问题涉及数据的特征以及设计的逻辑结构、各种操作的具体需要,初步选择相应的存储结构。
(2)根据算法的具体优化要求,对存储结构的优劣进行评估,对相应的存储结构进行组合设计,比如树的存储结构双亲数组,是顺序存储结构与链式存储结构的组合设计。
(三)算法设计
算法与數据结构课程主要的研究内容是数据组织与处理,逻辑结构和存储结构的设计任务是数据组织,而后者是由算法完成的。算法设计在计算机类专业课程体系里有计算方法、算法分析等进算法进阶类课程,因此在本课程教学中,除要掌握相应知识点外,还需要训练算法设计、算法评价、算法改进的思维模式,具体过程如图3所示。
(1)根据实际问题中软硬件需求,选择合适的算法设计方法,比如综合评估硬件配置、算法复杂性、可读性、效率需求等因素,对于二叉树的遍历,可以采用递归算法,也可以采用非递归算法。
(2)理论分析算法过程以及数据特征,对算法各方面性能进行评价,调研相关文献,综合分析后给出改进方案。
(3)改进算法。
(4)实验设计
“选择-设计”理念的关键环节是评价,而评价分两个层面,首先是前面各个环节中的理论分析评价,其次就是实验。实验环节主要完成两个任务:实验方案设计和实验分析。
实验方案设计包括实验环境选择、开发工具选择、实验数据集选择、评价标准选择等。
实验分析包括实验结果分析、各种参数的选择与分析等,而分析的结果作为改进实验方案设计的依据,从而形成本环节改进的闭环。实验环节的结果又作为前三个环节改进的依据,成为大闭环。
三、线上/线下混合式教学模式
在教/学过程中,强化训练“选择-设计”理念从而学以致用,提高学生对相关知识的理解深度,需要花费额外课时,这与新时期课时压缩,将时间还给学生自主学习环节的大环境是矛盾的,因此选择线上/线下混合式教学模式是很好的选择。
线上/线下混合式教学模式的核心在于线上与线下教学资源的准确分配,不同的高校、专业和个人由于能力差异以及自主学习主动性差异,线上与线下教学资源的分配有所区别,因此把握学生的学习状态是该教学模式实施中关键环节,而“选择-设计”理念的训练过程可以为其提供重要依据(见图4)。
四、教学实践与讨论
(一)近年来实施效果评估
近年来,在课程的教学实践中逐步推行“选择与设计”的理念,取得了初步的成效,学生对知识体系有了明显深入的理解,图5是我校近几年计算机专业的考试成绩分布情况,学生成绩呈现较好的正态分布,分布的峰值也逐步由75-80分提高到了80-85分,除了试题难度上可能存在的差异外,可以看出学生对课程的学习积极性、主动性及成绩上均有所提高。
图6是我校近年来计算机专业学生课余时间参与实践环节的统计情况。从学生对教师科研项目的参与度和参与申报大学生创新创业项目的情况来看,学生参与的积极性也有了提高,为将来深造奠定了坚实的基础。
(二)一分为二的哲学思想
“选择与设计”灵魂理念的关键是评价,而评价的方法和依据有很多种,甚至有可能冲突。在选择顺序存储结构或链式存储结构时,需要根据数据特征、数据操作特征等具体情况进行选择,换一批数据或换一个实际问题,选择和设计的结果可能不一样。因此,在评价的过程中,可以较好地强化训练学生的具体问题具体分析、一分为二的分析能力。
(三)科学研究能力的训练
在“选择与设计”的教学理念中,不管是选择、设计还是评价,利用教材或教学大纲中的方法是远远不够的,尤其是大数据时代提供了丰富的文献资源,因此在教学实施过程中,可以有效地训练学生调研文献、阅读文献、选择评价方法、设计算法、改进和优化算法等严谨的科研态度和科研能力,这对工程教育认证中科研能力培养的毕业要求具有较好的支撑作用。
五、结束语
文章提出普通高校在算法与数据结构课程教学过程中深入强化“选择与设计”的灵魂理念,配合新时期线上/线下混合式教学方式,对学生强化知识体系的掌握具有较好的支撑作用。
参考文献:
[1]葛云生.《数据结构》课程教学改革与探索[J].高教论坛,2010(1):75-77.
[2]董丽薇.“数据结构”课程教学方法的改进[J].沈阳师范大学学报(自然科学版),2012,30(2):307-309.
[3]王德兴,胡学钢,张玉红,等.数据结构课程设计的改革与创新探讨[J].合肥工业大学学报(社会科学版),2008(5):94-97.
[4]王海玲.大数据时代下信科专业离散数学教学改革[J].计算机教育,2020(7):66-69.
[5]黄栋,王昌栋.结合大数据时代背景的《数据结构》教学改革研究[J].现代计算机(专业版),2018(3):61-64.
[6]中国工程教育专业认证协会.工程教育认证自评报告指导书(2020版)[Z].2020.
[7]习近平:把思想政治工作贯穿教育教学全过程[EB/OL].http://www.xinhuanet.com/politics/2016-12/08/c_1120082577.htm.
[8]教育部.关于印发《高等学校课程思政建设指导纲要》的通知[Z].教育部,2020.
[9]中央深改委审议通过《深化新时代教育评价改革总体方案》[Z].2020.
[10]任雪萍.基于线上线下融合的数据结构教学改革[J].计算机教育,2019(7):5-9.
基金项目:山西省高等学校教学改革创新项目“新时期《算法与数据结构》等专业基础课程教学法研究”(编号:J2020213)、“工程认证背景下的《数据挖掘》课程教学法研究”(编号:J2019129);山西省精品资源共享课“《算法与数据结构》”(编号:K2020148);太原科技大学教学改革创新重点项目“《算法与数据结构》等软件类专业基础课程体系教学改革”(编号:201908)
作者简介:杨海峰(1980-),男,汉族,山西太原人,博士,教授,研究方向:大数据挖掘方法及应用。
通信作者:蔡江辉(1978-),男,汉族,山西太原人,博士,教授,研究方向:数据挖掘与机器学习。