科研思维方式在《算法与数据结构》教学中的应用浅析
2020-12-21杨海峰蔡江辉赵旭俊张素兰
杨海峰 蔡江辉 赵旭俊 张素兰
摘 要:针对新时期《算法与数据结构》课程教学中以学生为中心、充分调动学习积极性的需求,将科研的思维方式包括:问题分析与描述、文献调研、解決方案的理论分析、实验验证、改进/优化解决方案,融入到当下流行的线上/线下混合式教学中,逐步形成基于科研思维方式的教学模式。通过近几年《算法与数据结构》教学实践,并对学生的成绩以及专业活动进行综合考核评估,验证了这种教学模式在很大程度上可以提高学生自主学习的积极性,同时,优秀学生的学习表现可以有效促进相关科研任务的执行。
关键词:《算法与数据结构》;科研思维方式;教学改革
中图分类号:G642 文献标志码:A 文章编号:2096-000X(2020)36-0081-04
Abstract: In response to the need for student-centered and full mobilization of learning enthusiasm in the teaching of the "Algorithm and Data Structure" course in the new era, the scientific research thinking mode, including problems analysis and description, literature study, theoretical analysis of solutions, experimental verification, and improvement/optimization solutions,is integrated into the online/offline hybrid teaching, and the teaching mode based on the scientific research thinking is gradually formed. Through the practice of "Algorithm and Data Structure" in recent years, the comprehensive evaluation of students' performance and professional activities has verified that this teaching mode can greatly improve students' enthusiasm for independent learning, and at the same time, outstanding students' learning performance can promote the execution of related scientific research tasks.
Keywords: "Algorithm and Data Structure"; scientific research thinking; teaching reform
《算法与数据结构》作为计算机学科的必修课程,是该专业的核心课程,新课改以来,对该课程的教学改革从未间断,对传统的教学模式改革,融入新兴的教学思想,对提高学生知识掌握效率具有重要的意义。因此,在传统教学方法基础上,提出符合数据结构课程风格的新方法,对于教师和学生的专业成长都是有利的。针对教学中的不同问题,研究者提出多种可解决途径,如加分制[1]、OBE[2]、分布式[3]、CDIO[4]等,如何提高教学质量在不同时期、面对不同的受众,是一个永恒的话题。
新工科背景下,尤其是工程教育专业认证要求,都强调“以学生为中心,教师专业引导为辅”的新的教学理念,教学指导委员会强调在一定程度上压缩传统课时,充分将时间还给学生,训练学生的自主学习习惯,这与研究生培养过程具有高度的一致性,因此,近年来《算法与数据结构》课程教学过程中,融入科学研究的思维模式,经实践表明这种模式对提高学生学习积极性,从而进一步提高教学质量具有较好的促进作用。
一、新时期教学模式针对性改革的必要性
《算法与数据结构》是计算机学科重要的专业基础课,参与课程教学的教师人数以及课程受众都比较多,计算机类专业大多课程都以此为先行课,但是不同时期对其教学质量、教学内容、教学方法都有着不同的需求,持续教学改革是提高教学效果的重要手段。本节从大数据时代特征对教学改革的启发、专业基础课改革的新需求以及教师科研项目驱动教学等角度,对新时期教学模式针对性改革的重要性展开讨论。
(一)大数据时代对教学思维的启发
在数据爆炸的时代,数据来源多样、信息丰富,用户能够通过不同的渠道获得所需数据,获取方式便捷简易。海量数据的存储和分析方法在大数据背景下亟需发现和优化,该过程中数据的处理从思维上推动了数据结构课程教学模式的改革。《算法与数据结构》这门课程主要侧重于数据的分析与处理算法研究,以及对不同算法的描述与评价。通过对大数据处理方法的研究,可以将其中的数据思路以及模式应用于数据结构课程中,如在课程中的算法测试环节,所需的实际数据较少,可通过仿真的方法,利用已知的标签数据生成模拟数据。因此,基于当前的大数据环境,将数据结构课程融入数据需求,并以科研的方式展开教学,不仅能够做到与时俱进,而且能最大程度的发挥该课程的积极作用。
(二)专业基础课程的改革新需求
《算法与数据结构》课程的内容以线性结构、树形结构和图形结构为主线,但后者着重强调离散量形式化描述以及利用代数系统进行的数学化符号进行抽象[5]。在课堂上采用传统的教师讲课、学生听课的教学方法已经不适用于当代思维活跃的大学生,传统的教学方法只能让学生了解到课本上片面的知识,对于知识的延伸和应用方面存在欠缺。在教师与学生的沟通方面,传统教学方法只有课堂上的问答互动,减少了学生与教师在课余时间的交流机会。因此,需要在传统教学方法的基础上,紧跟时代步伐对数据结构课程的教学思维进行改革。
(三)科研项目驱动的意义
在新形势下,数据结构课程的传统教学方法存在学生的积极性低、学业完成度不高等方面问题。根据工程认证的要求[6],高校教師在担任课程教学任务的同时,还参与不同的科研任务,传统的教学方法仅考虑课程本身的教学效果,并未与科研任务相结合。将课程的学习内容列入教师的科研项目研究任务中,形成一种基于科研的教学思维,能够使学生的课程学习更具有目标性,从而提高学习积极性。另外,科研任务驱动的课程学习能够为教师的科研项目提供有力的成果支撑,从而加快科研进度,促进项目高效完成。
以科研为驱动展开数据结构课程的教学任务,不仅能够有效解决该课程存在的学生互动性弱、积极性低等问题,而且加快教师的科研任务进展,促进科研成果的快速产出。
二、科研思维方式教学
科研思维方式教学一种基于科学研究的教学模式,以科研任务为驱动,使学生的课程学习具有科研目标性。在学习小组中[7],从问题思考、查阅文献、利用算法解决问题的过程训练学生在科研思维上的课程学习,能够加快知识掌握。
(一)科研思维方式教学框架
科研思维方式教学框架的基本思想是以科研项目的实际案例为核心,将目标驱动模式的教学与当前流行的线上/线下混合式教学方式相结合,重点训练学生在解决问题过程中:问题分析与描述、文献调研、解决方案的理论分析、实验验证、改进/优化解决方案的能力与思维习惯。科研思维教学框架框图如图1所示,具体内容如下说明:
首先,学生可以通过线上视频及线下重点/难点精讲系统地了解相关知识点,初步建立算法与数据结构相关知识体系。
其次,教师根据自己的研究方向,从主持/参与的科研项目中,选择相关的实际案例,作为问题驱动的学习任务。
再次,通过教师引导的方式,针对性训练五大思维习惯。问题分析与描述,对具体案例进行分析、凝练问题、形式化描述;文献调研,训练学生从学术谷歌、百度学术、知网等平台,主动调研相关问题的研究动态;根据所学知识点选择合适的数据结构并设计对应算法;理论分析,对选择的数据结构和算法进行性能分析;实验验证,设计相关实验验证方法的实际性能;根据具体问题的特点,提出改进或优化的方案,与理论分析和实验验证形成闭环。
通过以上环节的训练,学生更深入地体会相关知识点在解决具体问题中的应用情况,同时让学生在严谨的治学态度、精益求精的钻研理念等方面得到训练和提高。
(二)科研思维培养方式
《算法与数据结构》课程的思维方式主要基于教师
的科研项目,将科研过程中的方法历程凝结为思维方式,并应用于数据结构的教学中。科研思维的培养方式主要包括以下三点:
1. 课程中的数据结构与算法问题思考。数据结构课程中的结构与算法的组合种类繁多,不同的组合适应不同的应用问题,通过文献调研、理论分析和实验验证的方法分析其各自的优缺点,培养学生对数据结构与算法特征的独立思考能力。
2. 问题分析与描述。针对具体的科研项目问题,学生应能够对提出的问题做出详细的分析与描述,从而令学生对科研任务更加清晰,还加深了学生对具体问题的理解程度,使其更加熟练、高效的完成科研任务。
3. 解决问题能力的培养。在给定学生科研任务的基础上,明确了问题的难点和突破点,教师需要培养学生解决问题的能力。训练学生在不同平台上的文献调研、分析能力,如数学建模、维基百科等。
三、科研思维方式教学实践
将科研思维教学方法应用于算法与数据结构课程中,主要分课前预备活动设计、基于科研任务的课堂建设、实践环节设计等三个主体环节。利用学生的课程积极性以及学习成果验证该方法的有效性与可行性。
(一)课前预备活动设计
本环节在整个科研思维方式教学实践中起着至关重要的作用。从课前预备活动任务的角度,学生要完成框架中第一部分的任务,教师要完成科研项目中相关案例的选择;从实施的角度,要分3个阶段,是循序渐进逐步提升的过程:
1. 教师选择合适的教学视频、合适的知识点,教师选择合适的项目案例;学生,学习相关知识,学有余力的学生可以探索其他教学资源。
该阶段学生以被动选择学习资源为主。
2. 教师提前选择并公布项目案例,选择合适的教学视频和知识点,给出其相关性;学生,学习相关知识,理解实际案例与相关知识点的相关性。
该阶段训练学生分析实际案例,通过相关性找到课程中相关知识点的能力,为第三阶段打好基础。
3. 教师根据教学进度选择并公布项目案例;学生,主动分析项目案例中可能涉及的知识点,探索可用的课件、视频等教学资源,并完成相关知识点的学习。
本阶段以学生主动学习为主。
通过以上三个阶段的课前准备活动的训练,加强学生主动探索、主动学习意识的培养。
(二)基于科研任务的课堂建设
本环节是教学实践的主体部分,下面以教师科研项目中一个具体案例:稀有特征数据的识别与搜寻为例,训练学生对问题的理解与分析,通过调查不同平台的文献与资料,以科研的形式完成学习任务,从而加强对课程知识的掌握和理解。具体的实践内容分为以下四点:
1. 在学生掌握课程中的不同算法应用场景及其优缺点的基础上,教师讲解和分析科研项目中拟采用的实际数据集的基本信息、基本特征等内容,使学生能够掌握所需实践的数据信息。
2. 针对教师给出的数据特点以及科研任务,结合数据结构课程所学的算法描述及应用,对问题做出详细的分析与描述,包括列出问题的出发点、预期科研目标、其中的难点以及技术路线等。
3. 根据科研任务主题,训练学生在不同平台查阅相关问题的资料和文献能力,在计算机领域的计算机学报、软件学报、自动化学报等优秀期刊以及维基百科、知网等平台上对文献的搜寻和筛选过程能够提高学生对相关文献的敏感度。
4. 学生通过调研后选取适合数据特点的算法作为科研项目中实际数据集的测试算法,经过算法实现和算法分析与评估。
(三)实践环节设计
本环节可以设置丰富的实践活动,旨在加强学生动手能力的同时,强化科研思维的训练。我校《算法与数据结构》实践环节包括以下几种:
1. 课内实验。选择课堂讲授的相关案例,通过课内实验的形式,深入掌握相关知识点的应用。
2. 课程设计。选择其他综合性案例,为期一周的课程设计,强化学生在分析问题解决问题的过程中,科研思维能力的训练。是课内实验的一种提升。
3. 参与教师科研项目。对于优秀的学生,加入科研项目的具体研究中,提高学生探索性研究能力,鼓励团队合作,申报大学生创新创业项目,强化科研能力,为进一步深造奠定基础。
4. 其他实践活动。鼓励学生积极参与与课程有相关性的实践活动,如数学建模竞赛、程序设计比赛等等。
四、教学效果考核设计
基于科研思维的教学模式旨在训练以学生为中心的学习理念,加强学生主动获取知识的能力,其效果考核主要从以下3个方面进行。
(一)学生课程积极性考核
基于科研任务的思维方式教学提高了学生的课堂参与度,解决了学生平时上课的缺勤、不认真听课等现象。通过记录近几年学生的到课率、参与教师科研项目情况、回答问题的正确率、学生逐年的团队合作精神和探索新知识的比例来反映科研思维教学法在数据结构课程中的实施效果,如图2所示为我校近四年学生积极性表现的统计情况。随着思维方式的深入应用,学生的各项指标在逐年增长,证明了科研思维方法在数据课程教学中能够有效实施和应用。特别地,回答问题的正确率提升较高,说明学生在课前准备活动的完成情况提高较快,并且在课堂具体案例讲授过程中,能够认真思考。
(二)课外实践活动的参与情况
通过针对性的训练,学生课外实践活动的参与情况也有了较好的提升。根据近几年学生参加课外专业知识有关的活动来判断科研思维方法在课程上的应用课程对学生的正面作用。图3为2013级-2018级学生的综合评价考核统计,包括参加大学生创业(大创)人数比例、参加“华为杯”、数学建模竞赛人数比例和参加活动的获奖比例。
由图3可知,随着教学本文方法在数据结构课程中的逐渐渗透,学生的考核成绩逐年增加,参加大创、华为杯、数学建模等专业竞赛的学生人数比例也在逐年增加,同时,获奖比例也越来越高,证明了该方法的有效性,同时增加学生的学习积极性并提高专业素养。
(三)综合成绩评价分析
图3中同时还显示了近六年《算法与数据结构》期末考试成绩中位数的统计情况,我校成绩考核机制为学生的平时成绩与期末考试成绩分别按照20%和80%的权重按比例加权计算学期成绩,可以看出,排除掉考试难度差异外,成绩也有提高的趋势。同时根据近几年学生考研以及读研情况反馈来看,近两年毕业的学生具有更好的竞争力。
综上,通过将科研思维方法融入《算法与数据结构》课程教学中,对学生的课堂表现以及其课外活动参与程度分析,这种科研思维方法具有以下优势:
1. 提高学生参与度。基于科研的教学方法从思维上改变了学生对课程教学的看法,能够促使学生自主学习课程知识,从而提高了学生在课程中的参与度。
2. 提高学生专业素养。学生通过完成科研目标掌握专业知识,经过对问题的思考、分析与描述、问题的解决等一系列过程,提高了学生整体的专业素养和科研水平。
3. 推进科研任务进度。学生对科研项目中目标问题的分析和解决,在增强学生知识掌握的同时,推进了教师科研项目的完成进展。
五、结束语
本文介绍一种基于科研的思维方式教学法,并将其应用于算法与数据结构课程中,根据任课教师参与或主持的项目情况,在传统的教学方法上,将科研思维融入教学任务,提高学生积极性和参与度的同时,增加了专业知识的吸收速度,提高专业素养。通过对学生在课堂上表现统计以及不同学期的综合评价分析,证明了该方法在任教课程中的有效性和可行性。
参考文献:
[1]魏小娟.基于“加分制”的分層教学法在数据结构课程教学中的应用[J].计算机教育,2020(07):54-57.
[2]朱洁,王海艳,黄海平.基于OBE的数据结构教学改革实践[J].计算机教育,2019(10):95-98.
[3]陈青青.数据结构课程中分步式案例设计的探索与实践[J].计算机教育,2019(10):109-112.
[4]成娅辉.基于CDIO工程理念的“数据结构”课程教学改革初探[J].物联网技术,2020,10(05):115-116.
[5]蔡秋茹,戴仁俊,柳益君,等.一流本科课程建设背景下的应用型本科金课教学探索——以数据结构课程为例[J].中国多媒体与网络教学学报(上旬刊),2020(07):167-168.
[6]欧阳勇,李红.工程教育认证背景下的大学计算机基础课程改革及实践[J].计算机教育,2019(4):45-48.
[7]郭锐.小组互助学习在数据结构教学中的应用[J].大学教育,2020(08):101-103.
*基金项目:山西省高等学校教学改革创新项目“新时期《算法与数据结构》等专业基础课程教学法研究”(编号:J2020213)、“工程认证背景下的《数据挖掘》课程教学法研究”(编号:J2019129);太原科技大学教学改革创新重点项目“《算法与数据结构》等软件类专业基础课程体系教学改革”(编号:201908);太原科技大学教学改革与创新项目“大数据背景下科研驱动的《数据处理与智能决策》课程教学研究”(编号:201866)
作者简介:杨海峰(1980-),男,汉族,山西太原人,博士,教授,研究方向:大数据挖掘方法及应用;赵旭俊(1976-),男,汉族,山西太原人,博士,教授,研究方向:数据挖掘与并行计算;张素兰(1972-),女,汉族,山西太原人,博士,教授,研究方向:模式识别与图像语义标注。
*通讯作者:蔡江辉(1978-),男,汉族,山西太原人,博士,教授,研究方向:数据挖掘与机器学习。