程序设计课程“以赛促学”教学模式的探究
2024-12-31甘赟
[摘 要]在信息技术快速发展的背景下,程序设计在高等教育中占据着重要的地位。然而,传统教学模式存在着教学缺乏针对性、考核方式单一等问题,可能无法全面激发学生的积极性和创造性。本文以天梯赛为例,通过深入研究“以赛促学”教学模式,为教学改革提供了新的思路和方法,也促进了学生的学习和技能提升。这种模式是以案例式教学为主,充分结合竞赛知识点教学,以“以赛促教,以赛促学和以赛促改”为训练目标。在实施过程中,采用适当的课程设计和考核方式,激发学生的学习热情和竞争意识。同时,详细介绍这种基于竞赛模式的C程序设计课程改革方案的设计理念、具体教学模式的设计过程以及课程改革的效果。这种模式不仅将理论知识与实际项目相结合,还大大提高了学生的专业竞赛成绩。
[关键词]天梯赛;以赛促学;C语言;教学模式
doi:10.3969/j.issn.1673-0194.2024.21.060
[中图分类号]G642 [文献标识码]A [文章编号]1673-0194(2024)21-0213-04
0" " "引 言
为培养大学生的编程能力,各大高校在大学一年级开设了程序设计类课程,如C语言、Python等,具有较强的实践性和操作性。学生通过学习计算机编程语言,培养自身的计算思维能力,完善自身对专业领域问题的抽象理解能力。随着国家对高校教育改革的深入,“以赛促学”这种教学方式越来越凸显优势。参加全国性的软件竞赛,可以从多个层面培养计算思维、提升学生的计算机能力和水平,但是国际大学生程序设计竞赛要求比较高,一般本科院校很难参与其中。在这种情况下,海口经济学院积极开展综合素质教育,组织学生参加中国高校计算机大赛——团体程序设计天梯赛。
本文以C程序设计课程为教学研究对象,以案例式教学为基础,以提高竞赛水平为目标。实验实训课以PTA平台辅助,实验内容融入竞赛真题,鼓励学生积极参与课堂讨论和学习活动。这种教学模式旨在帮助学生更好地理解编程知识,提高编程水平,培养学生的创新思维和团队合作能力。
1" " "天梯赛简介
团体程序设计天梯赛是面向全国高校学生的高水平计算机类竞赛,是中国高校计算机大赛的竞赛板块之一,旨在提升学生计算机问题求解水平,增强学生程序设计能力,培养团队合作精神,提高大学生的综合素质。该比赛以算法设计、编程技巧和解决问题的能力为侧重点。比赛重点考查参赛队伍的基础程序设计能力、数据结构与算法应用能力,并通过团体成绩体现高校在程序设计教学方面的整体水平。浙江大学的在线评测系统发展出一个可支持在线教学的良好平台——PTA辅助教学平台。2023年比赛共有来自全国480所高校的1 624支代表队,共16 167名选手参加,参赛规模创历史新高。
2" " "传统教学模式存在的问题
传统C语言教学模式存在一系列问题,主要包括以下三个方面。
2.1" "大学生现有基础参差不齐,教学缺乏针对性
随着教育事业的不断发展,各级院校都在逐渐扩招,因此,这就在某种程度上导致学生本身的能力素质水平参差不齐,加上对于该专业的学生来说,在高中阶段对计算机专业知识内容接触得较浅,所以本身能力素质水平有限。
2.2" "C语言概念比较抽象,学生难以直观理解
传统的教学方法过于强调理论知识的灌输,这种做法忽略了知识与实践之间的密切联系,限制了学生的全面发展。内容通常过于抽象和枯燥,缺乏趣味性和互动性,这使得学生缺乏学习C语言的兴趣,学习积极性不高。
2.3" "考核方式过于单一
目前实践课程的考核方式一般以学生在课堂上完成的实验报告及学生完成实践作业的情况来决定实践教学的成绩。这种考核方式过于单一,无法反映每一个学生的真实水平。而且这种考核方式存在很多弊端,学生的目标就是通过考核,因此部分学生可能无法完成任务,就去复制基础相对好些学生的成果[1]。
传统案例式教学着重于教科书知识的传递,却忽视了通过竞赛式编程培养学生解决实际问题的技能。因此我们迫切需要改革创新课程体系、教学方法,以适应海口经济学院应用型本科的转型。
3" " "基于天梯赛的“以赛促学”教学模式设计
“以赛促学”是通过参与学科竞赛的方式提高学生学习的质量。结合学科竞赛的特点,海口经济学院逐步建立并实施“以赛促学”计算机实践的教学模式,具体做法如下。
3.1" "以赛促教,融入竞赛知识点
程序设计大赛的题目一般是对实际应用问题的求解,在语言描述上往往比较生动有趣。基于程序设计类学科竞赛的需求,在传统的理论教学基础上,将学科竞赛知识点和课程教学内容进行整合与优化,构建项目化和模块化的教学单元,将理论与学科竞赛知识点进行一体化融合[2]。海口经济学院C程序设计课程教学所授的教学内容涵盖了大赛的知识点,采用案例式教学模式,运用边讲边练的手段,学生练习的实际案例由真题构成,引导带动学生思考、讨论解决问题的方法,分析该方法的实现原理,并逐步推导总结出解决此类问题的一般思路。
然而,算法竞赛题目涉及领域非常广,对学生要求较高,且在大三会开设对应的算法分析与设计课程。竞赛题目的难度可分为低难度、中等难度和高难度三个类型,主要包含穷举、排序、搜索、递归、回溯、数据结构、动态规划和图、STL容器、迭代器等相关知识。为了帮助低年级学生提前打好编程竞赛基础,可在设计C程序设计课程案例时充分融入常见的中低层次的竞赛知识点[3]。
传统案例式教学过于注重教材内容,忽视了培养学生解决实际问题的编程能力。为弥补这一不足,教师在日常教学中将竞赛真题穿插到相关章节,同时对知识点进行梳理概括,帮助学生建立知识体系,提升他们的竞赛水平。
案例教学:2020年天梯赛真题——谁是赢家
在娱乐节目中,观众投票和评委评审一直是决定艺人胜负的关键环节。2020年天梯赛的真题——谁是赢家通过表演赛制引发了观众的兴趣。本文将深入解析该题,运用选择结构的知识,帮助读者更好地理解问题,并培养学生对课程的学习兴趣。
3.1.1" "问题描述
某电视台娱乐节目的规则是观众投票和评委投票两部分决定胜负。规则包括:观众票数高且得到至少1名评委认可,或者观众票数低但得到全部评委认可。
3.1.2" "分析与解答
场景分析:
首先,观众人数为奇数,确保没有平票的情况。这意味着一方必定能够获得多数观众的支持。
胜负条件:
如果一位艺人的观众票数高,且得到至少1名评委的认可,该艺人胜出。
或者,艺人的观众票数低,但得到全部评委的认可,也可以胜出。
关键点:
艺人需要至少在观众或评委中的一方占据优势,否则无法获胜。
3.1.3" "案例教学的作用
该问题引导学生运用选择结构的知识,通过观众票数和评委投票两方面的条件进行逻辑判断。学生需要运用逻辑思维,判断何种条件下艺人能够获胜,培养他们的思辨能力。通过解答这一实际问题,学生不仅巩固了选择结构的概念,还能够将其应用到实际生活场景,培养解决问题的能力。
3.2" "借助平台,优化课堂教学
PTA是一个开放的程序教学平台,任何人都可以通过手机或者邮箱免费注册,用户角色主要分为教师和学生角色。教师可申请开通教师权限,具备教师权限的账号可创建和管理班级、建立(并分享)题目集、布置作业、考试及统计成绩等。为了更好地提升学生自主探究的能力,海口经济学院C程序设计课程是线上线下混合教学模式,借助PTA平台发布课程预习任务,学生在线上自主预习。课上,教师讲授完理论知识后,学生就通过PTA平台进行练习,以此达到巩固知识点的作用。课后,教师设置好每章的习题集,通过PTA平台发布作业,教师也可以通过统计答题得分了解学生不足。
3.3" "增加技能竞赛的专业素质拓展课
为全面推进素质教育,有效强化素质教育在培养应用型人才、服务学生成长成才的功能和作用,海口经济学院为计算机科学与技术专业的学生开设素质拓展项目计算机类竞赛培训。本课程是让学生综合运用C语言、C++语言等相关技术知识,进行计算机程序设计比赛,提高综合应用知识的能力、分析解决问题的能力和程序设计实践技能。
技能大赛为学生提供了一个培养创新能力的平台,激发他们的学习热情。通过备赛、集训,提高学生算法设计、数据结构和编码实践的能力,并培养分析和解决问题的能力。学生积累项目经验,提升解决问题的能力,极大地提高了他们的就业竞争力。图1为海口经济学院部分同学的素质拓展课的答题情况,通过增加专业素质拓展课,对提高学生竞赛成绩具有积极的影响。这样的实践课程不仅有助于学生更深入地理解和掌握程序设计的相关知识,还有助于培养他们更全面、更实际的专业素质。
3.4" "举办校内程序设计大赛
程序设计大赛是一种以程序设计为基础、以实际编程为手段的竞赛形式。海口经济学院连续6年成功举办了校内程序设计大赛,这类比赛通常设有一系列挑战性的题目,要求参赛学生在有限的时间内完成程序设计任务。学院先组织初赛,再到全国赛,安排了专门的老师对学生进行赛前培训指导。赛后选拔出成绩优异的同学成为全国赛的正式队员,再开始有计划、有组织地进行全国赛前培训。
培训阶段,教练组老师共同设计一些有挑战性的竞赛题目,确保比赛内容贴近实际应用,促使学生更深入地理解和掌握知识。同时,学院让参加过比赛、有经验的学长带领低年级的同学,互帮互助。通过参加校内程序大赛,学生能够积累实践经验,更好地应对全国赛的挑战。
4" " "课程教学改革的成效
近几年,海口经济学院的网络学院每年组织相关专业的学生参加天梯赛,高度重视学生的程序设计能力培养,并以天梯赛为契机,积极开展程序设计类课程的教学改革。通过建立完善的奖励机制,不仅激发了学生参赛的热情,也调动了专任教师的教学积极性,为提升学生编程能力和教学质量提供了有力保障。
在竞赛中,海口经济学院学生展现了扎实的程序设计能力,取得了良好成绩。学院师生团队连续5年荣获全国总决赛“海南省高校一等奖(珠峰争鼎)”。2023年,全校共7名教师及60名学生参赛,获得“海南省高校一等奖(珠峰争鼎)”一项、“海南省团队一等奖”一项、“海南省团队二等奖”两项,所有参赛选手均荣获“全国总决赛——成功参赛奖”。
学生积极参加竞赛不仅提高了专业成绩,更重要的是全面提升了他们的综合素质和创新创业能力,同时营造了积极向上的学习氛围。学科竞赛进一步提升了学生的创新思维、团队合作和实践应用的综合能力,也是构建以“实践应用+专业认证+校企融合+创新创业意识”为驱动的项目伴随式教学体系成效的最好注解。
依托程序设计大赛的契机,学校对传统的编程语言类课程进行全面的改革。教师们将竞赛知识与原有实践项目有机融合,不断更新和完善教学内容,实现了竞赛知识的普及化教育。同时,这一过程促进了教师专业技能的提升,为教学质量的提高奠定了坚实的基础。
5" " "结束语
“以赛促学”的教学模式为C语言课程的教学改革提供了新的思路。本文以天梯赛为例进行研究和分析,探究了“以赛促学”教学模式在大学编程课程的应用。这种教学模式是通过参与比赛来激发学生的学习兴趣和积极性,在不断地练习中提高了学生程序设计能力。我们发现通过比赛的形式推动教学改革,学生们愿意投入更多时间和精力去学习。总之,“以赛促学”教学模式在提高学生学习积极性、专业成绩和学生创新意识等方面具有积极的影响。
主要参考文献
[1]陈有英.程序设计课程以赛促学的教学改革研究:以蓝桥杯为例[J].教育教学论坛,2020(39):290-291.
[2]吴志强.学科竞赛引领下的程序设计基础课程教学改革与实践[J].河南教育(高等教育),2023(7):63-65.
[3]谭立兴,姜枫.基于竞赛模式的“C程序设计”教学改革研究[J].科技与创新,2022(9):145-148.