APP下载

学科竞赛驱动的数据结构实践教学研究

2023-06-07孟利华

科技风 2023年15期
关键词:学科竞赛数据结构校企合作

摘要:学科竞赛是实践教学的延伸和拓展,对于培养学生的创新实践能力起着重要的作用。分析数据结构实践教学中存在的问题,以学科竞赛为导向,重构课程教学内容,利用学科竞赛平台,构建任务驱动式实践教学模式,建立多元化动态实践教学评价机制,有效激发学生的学习兴趣与参与度,提高学生的创新实践能力。校企联合指导学生参加学科竞赛,充分发挥校企合作优势,提高学科竞赛成效,提升教师实践教学能力,促进课程教学的高质量发展。学科竞赛驱动的数据结构实践教学研究成果,为其它课程实践教学提供了一定的借鉴与参考。

关键词:学科竞赛;数据结构;实践教学;校企合作

1 概述

实践教学是巩固和加深理论知识的有效途径,是培养学生掌握科学方法和提高动手能力的重要环节,也是用人单位评价学校培养人才效果的关键性指标[1]。学科竞赛是推动高校教学与实践相结合,培养大学生综合素质、創新精神和应用能力的重要方式,更能培养学生的团队合作精神、实践能力和工程能力,激发学生自主学习和主动探索[2]。数据结构是计算机类专业一门理论性和实践性较强的专业基础核心课程,在课程体系中起着承上启下的作用,该课程对培养学生程序设计能力、逻辑思维能力及解决复杂工程问题的能力起着极为重要的作用。吉首大学张家界学院作为我国西部的一所本科院校,学生主观能动性意识不强,实践动手能力相对较差,通过各高校普遍认可的软件类学科竞赛如ACM/ICPC竞赛、蓝桥杯大赛、湖南省大学生程序设计大赛、中国大学生计算机设计大赛等,能够充分调动学生的学习积极性,激发学生的创新思维与创新意识,培养学生程序设计能力、逻辑思维能力、创新能力、沟通能力、团队协作能力及终身学习的能力,提升学生的综合能力和综合技能。

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

2.1 课程教学重理论,轻实践

实践教学是加深理论知识理解的有效方法,在传统的课程教学中,教师重视理论知识的传授,忽视实践教学的重要性,实践教学内容比较基础简单,大部分实验为验证性实验,缺少设计性实验和综合性实验,部分高校甚至取消数据结构课程设计环节,缩短数据结构课程的实践课时。课程实践中学生也只是根据教师布置的实践作业,按照实践格式要求提交实践报告即可得到不错的实践成绩,该方式使得学生对该门课程的学习缺乏主观能动性以及创新性,无法培养学生分析问题和解决复杂工程问题的能力。

2.2 前驱课程基础薄弱,未达到培养计算思维的目的

本课程的前驱课程主要有高级语言程序设计与离散数学等,前驱课程开设在大一第一学期,学生没有从中学的灌输式学习模式转变为大学的自主式学习模式,第一学期教学周仅有14周,学生实践课时不足,而高级语言程序设计知识的获取,计算机思维能力的培养需要经过大量课程实验和实践。因此,本课程的前驱课程教学效果并不理想,学生不能够利用所学知识编写程序解决简单实际问题,未达到培养计算思维的目的。

2.3 实践教学内容创新性不足,教学模式单一

课程实践教学“以教师为中心,以实验教材为主线“,实践教学中教师根据实验教材布置实验内容并给出参考代码,学生录入程序代码调试运行通过,按照实验报告格式撰写并提交实验报告即可完成实验。尽管实验教材中包含了部分设计性实验及综合性实验内容,但实验内容创新性不足,实践教学未能以学生为中心,学生难以在实践过程中找到“成就感”,难以激发学生的学习兴趣,本课程实践教学不能提升学生的创新实践能力,实践教学效果并不理想。

2.4 实践教学课程评价不能及时反馈教学

为提高学生程序编写的能力,培养学生解决复杂工程问题的能力,本课程实践教学由教师布置实践内容,学生统一在机房上机实践,教师在侧随时辅导完成实践项目,学生参照实践报告格式提交实践报告,教师根据实践报告评定学生的实践成绩。该评价方式在某种程度上能够反应学生的实践情况,但评价重视终结性评价,忽视形成性评价,教师不能根据评价数据及时反馈教学,课程评价不能对课程教学持续改进起到导向作用。

3 基于学科竞赛的数据结构课程实践教学研究

3.1 以学科竞赛为纽带,重构课程教学内容

程序设计类学科竞赛涉及的课程主要包括高级语言程序设计、数据结构、算法设计与分析等课程,剖析课程教学内容和教学目标,分析知识的关联性和层次性,避免部分内容在多门课程中重复讲授,注意课程内容的衔接和难度的递进关系[3]。

高级语言程序设计要求学生掌握程序设计语言基本语法、结构化程序设计思想与方法,养成良好的编程习惯,培养计算机思维,提高程序编写能力,在该课程教学中若单纯讲授语法知识,容易使得课堂枯燥乏味,难以激发学生对程序设计的兴趣,导致课程教学效果并不理想。可将数据结构的离散结构知识如排序、查找等知识穿插在高级语言程序设计课程中讲授,适当引入简单学科竞赛题目,延伸和扩展高级语言程序设计的教学内容,使得学生初步了解学科竞赛,树立学习目标,激发学生学习热情。数据结构课程要求学生掌握四大类结构(离散结构、线性结构、树型结构、图状结构)的逻辑结构、物理存储表示、基本运算算法、算法的时空效率分析,编写程序实现算法,提高学生程序编写及解决实际问题的能力,可在数据结构课程教学过程中,融入算法设计与分析的内容,如在讲授最小生成树中阐述贪心算法,在最短路径讲授中介绍动态规划算法,结合学科竞赛的中等难度题目,夯实数据结构知识。算法设计与分析课程要求学生掌握程序设计常用算法,如分治算法、贪心算法、动态规划算法、回溯算法、分支限界算法等,在算法设计与分析课程教学中,深度融合数据结构以及高级语言程序设计内容,辅以学科竞赛各种难度的题目,巩固程序设计类课程知识,培养学生综合运用知识解决复杂工程问题的能力,提高学生的综合技能。

3.2 以学科竞赛平台为依托,构建任务驱动式实践教学模式

国内已有许多比较优秀的开方式的学科竞赛平台,如洛谷平台,力扣平台,杭电OJ等,这些平台收录了丰富的实践教学资源,学生登录即可进行练习和训练,对提高学生的技能起着重要作用,此类平台学生编写的程序需要在规定的时间内通过所有的测试数据才能得到正确的判定,对于程序设计能力欠缺的学生不太适用,容易使学生失去学习信心,不利于激发学生的学习兴趣。

为了更好地开展数据结构课程实践教学,课程组成员搭建了吉首大学张家界学院在线评测系统(Online Judge,OJ),根据教学内容按基础、设计、综合三个层次设计实践教学内容,系统功能包括题库的维护、学生管理、高级语言程序设计实验、数据结构实验、算法设计与分析实验、湖南省大学生程序设计历届试题、蓝桥杯试题、成绩分析、反作弊检测、排行榜、论坛等,该系统既能用于日常程序设计类课程实践教学,也可以用于开展程序类学科竞赛。

任务驱动式教学法(Task Based Learing,TBL)是一种以构建主义学习理论为基础的教学方法,它将传授知识为主转变为完成任务为主,通过完成任务来学习知识、获得技能、形成能力、内化伦理[4]。依据课程组构建的在线评测系统,教师根据教学内容及教学进度在平台上按三级层次筛选并布置合适的实验任务,学生以任务为中心进行自主探索,独立分析算法,考虑算法的时空效率,编写提交解决任务的程序代码,系统根据提供的测试数据通过的组数评定学生实践成绩。学生可以查看评定结果,下载查看评测数据,根据评测数据检查程序欠考虑的边界问题、特殊值问题以及效率问题,学生在平台上反复提交代码,直至结果正确,在学生完成任务的过程中,教师可以适当进行专业指导和监督,以培养学生分析问题、解决问题的能力。依据学科竞赛平台,构建任务驱动式实践教学模式,减少了教师批改实验作业的工作量,减轻了教师的工作负担,通过平台的防作弊功能,极大地降低学生投机取巧的行为。以学科竞赛平台为依托,构建任务驱动式实践教学模式,体现以学生为中心的教育理念,学生通过解决具体实际问题不断地获得成就感,极大的激发学生求知欲,充分调动学生参与实践的积极性,提高学生程序设计能力,计算思维能力,创新能力,培养独立探索、勇于开拓进取的自学能力,提高课程实践教学效果。

3.3 建立多元动态实践教学评价机制

教学评价是课程教学的重要环节,对于人才培养具有重要的指导意义。实践教学评价要以学生为中心,评价学生的综合技能为基本准则,评价主体多元化,全方位立体评价学生的综合能力,同时,注重形成性评价与终结性评价相结合方式,保障课程评价能够及时反馈教学,对课程实践教学持续改进起到導向作用。

数据结构实践教学评价主体从学生、课程和教师三方面进行全方位立体评价,评价分为定量评价和定性评价。定量评价依据团队构建的在线评测系统进行,评测系统根据教师提供的测试数据通过的组数给出合理的成绩,自动评分能够极大的减少教师检查程序的工作量,使得教师有更多的时间参与其他教学活动,学生通过评测系统不断地解决实际问题,能够提高学生的求知欲,充分调动学生的学习兴趣及学习动力。

定性评价采用课程教学满意度调查的方式进行,课程结束后,根据实践教学过程与教学目标设计问题,如课程实践教学效果是否满意,在学科竞赛平台是否经常刷题,任务驱动式的实践教学模式是否激发了学习兴趣等,教师将调查问卷通过QQ或者超星泛雅平台发布给学生,要求每个学生对实践教学情况进行评价,平台直接统计评价结果,教师依据调查数据获取学生的学习目的与学习需求,及时调整教学内容,改进教学方法与教学手段。满意度调查体现以学生为中心的理念,从定性的角度考察学生的对本课程知识的掌握情况。

3.4 以学科竞赛为载体,建设高素质实践教学团队

学科竞赛作为课程实践教学的拓展与延伸,是提升教师科研与教学水平的重要途径之一。学科竞赛主要目的是提升学生的知识综合应用能力与创新实践能力[5],竞赛题目大部分来源于实际的应用场景应用题目,知识涉及多学科、多专业的交叉融合。教师指导学生参加学科竞赛,必须具备创新意识,拥有丰富全面的专业理论知识,较高的科研水平,较强的动手实践应用能力,能够在竞赛中给予学生提供专业实践指导,因此,教师需要通过各种形式与渠道不断提高自身的科研能力及创新能力,提升自身的综合素质。同时,学科竞赛能够引发教师对于教学上的反思,促进教学方法与教学手段的不断改革,为了取得竞赛成效,教师帮助学生分析解决遇到的难题,总结竞赛经验,在师生互动的过程中整合实践教学内容,调整课程教学计划,优化教学方法和手段,加深教师理论知识和实践的融合深度,不断提高教师实践教学能力。在学生同台竞赛过程中,教师通过与其他院校师生沟通交流,能够明确课程教学中的不足,获取其他院校的先进经验用于自己课程教学,学生的参赛成果也能够融入到本课程的教学当中。以学科竞赛为载体,真正达到以赛促教的目的,能够提高教师的教学水平与育人能力,建设高素质的实践教师队伍。3.5 校企共同指导学科竞赛,促进课程教学的高质量发展

校企合作是提高人才培养质量的重要途径之一[6]。在校企合作办学模式中,高校教师有着非常扎实的理论基础和较强的学习能力,但实践经验和实践能力缺乏,而企业教师有着非常丰富的前沿技术经验,刚好弥补了高校教师实践能力不足的短板。我院计算机科学与技术专业与达内集团在2018年开启专业共建,软件工程专业与青软创新科技集团于2019年签约开启专业共建,通过校企合作优势互补,校企联合指导学生参加各类学科竞赛,让学生既能够巩固专业理论知识,又能够触摸到行业的前沿技术,更容易获得较好的成效,例如在2022年湖南省大学生程序设计大赛应用类竞赛中,校企联合指导的《梦回湘西》作品荣获三等奖,实现了在该赛事应用类竞赛中零的突破。校企合作指导学生参加学科竞赛,能够充分调动学生和教师的参赛积极性,发挥学生的主观能动性,激发学生的创新思维与创新意识,在教师和参赛学生通力合作完成参赛作品过程中,师生之间交流的深度和广度远高于课堂教学,不断培养学生的沟通能力,团队协作能力、项目管理能力,提高学生的综合素质。同时,校企教师共同指导学生参加学科竞赛,通过不断交流探讨,获取企业前沿信息反馈课程教学,调整教学内容与教学计划,实现课程教学改革不断深化,促进课程教学的高质量发展。

结语

实践教学是培养学生实践动手能力的重要途径,学科竞赛是实践教学的延伸和拓展,通过学科竞赛能够培养学生综合运用知识解决实际复杂功能问题的能力,培养学生的实践创新能力、团队协作能力,提高学生的综合素质。以学科竞赛为契机,学科竞赛平台为依托,重构课程教学内容,构建任务驱动式的实践教学模式,建立多元化实践教学评价机制,建设一支高素质实践教学团队,促进课程教学的高质量发展。学科竞赛导向的数据结构实践教学研究成果,为其它课程的实践教学提供了参考,具有一定的推广价值。

参考文献:

[1]黄建忠,杜博,张泸寅,等.竞赛驱动的计算机实践教学体系设计[J].实验室研究与探索,2018,37(4):162-165.

[2]范建中,王秀友.基于学科竞赛的数据结构实践教学模式探讨[J].福建电脑,2018,3:45-46.

[3]刘伟,黄辛迪.结合学科竞赛的计算机专业程序设计类课程群建设[J].电脑知识与技术,2018,31:180-181.

[4]王文娟,孙奕,杨智,等.基于任务驱动和翻转课堂深度融合的信息安全技术课程实践教学模式探索[J].计算机教育,2022(08):123-127+132.

[5]隋凤凤,杨百忍.以学科竞赛为抓手提高人才培养质量[J].盐城工学院学报(社会科学版),2022,35(05):101-103.

[6]董桂才,徐磊.基于学科竞赛的校企合作模式创新与实践[J].牡丹江大学学报,2021,30(08):102-107.

基金项目:本文系2022年湖南省普通高等学校教学改革研究项目(编号:HNJG-2022-1412);2022年教育部产学合作协同育人项目(项目编号:220902802281259)

作者简介:孟利华(1979—  ),女,汉族,湖南新邵人,本科,讲师,研究方向:计算机应用。

猜你喜欢

学科竞赛数据结构校企合作
浅谈独立院校大学生电子设计竞赛的组织与实践
“学研赛”并重的计算机类双创型人才培养模式探索
以学科竞赛为抓手,培养学生实践能力的探索与实践
刍议职业教育校企合作的有效性
就业视域下卓越工程师校企合作培养模式探析
民办高职院校软件技术专业深度校企合作模式探索
对实训教学体系改革进行的思考与探索
“翻转课堂”教学模式的探讨——以《数据结构》课程教学为例
高职高专数据结构教学改革探讨
TRIZ理论在“数据结构”多媒体教学中的应用