“课赛融合”模式在程序设计基础课程教学中的应用与实践探索

作者: 董鑫正 林刚

“课赛融合”模式在程序设计基础课程教学中的应用与实践探索0

摘要:针对程序设计基础教学中的主要挑战,分析了“课赛融合”模式的内涵与应用案例,提出将程序设计竞赛的核心元素(难度分层、任务驱动、自动测评)引入课程教学,并探索设计相应的改革措施:游戏化关卡设计、阶梯式考核方式、任务驱动拓展作业、全机试期末考核、引入线上自动测评、建设线上资源库。这些措施在解决教学痛点的同时,显著提高了教学质量。将竞赛元素融入程序设计基础课程的实践探索为“课赛融合”模式提供了新的视角和实践案例,有助于实现应用型创新人才的培养目标。

关键词:课赛融合;程序设计;竞赛元素;任务驱动;自动测评

中图分类号:G642.0 文献标识码:A

文章编号:1009-3044(2024)19-0146-03

0 引言

程序设计基础课程是计算机相关专业的核心课程之一。该课程不仅涵盖C++语言的语法和特性,更重要的是培养学生的程序设计思维和面向对象的设计方法,并提升他们运用计算机解决问题的能力[1]。针对应用型创新人才的培养目标,当前程序设计教学面临的主要挑战包括:学生基础参差不齐、应用能力培养不足、作业不能实时反馈。为应对这些挑战,本研究借鉴“课赛融合”教学模式,将课堂教学与竞赛元素相结合,通过引入程序设计竞赛的核心元素,设计并实施相应的教学改革措施,以有效促进教学质量提高。

1 教学中的痛点

在程序设计教学中,面临几个主要挑战,它们影响了教学效果和学生的学习体验:

学生基础参差不齐。本科一年级新生在编程能力和学习能力方面存在显著差异。编程能力方面,部分学生已对编程有初步认识,而另一部分则完全从零开始,甚至对计算机基本操作不熟悉。学习能力方面,部分学生已养成良好的自主学习习惯,能自我驱动、合理安排学习时间,而另一部分则相对被动,完全依赖教师提醒和督促,缺乏学习管理能力。这种基础和学习能力上的不均衡,对教学策略的制定和实施提出了挑战。

应用能力培养不足。传统程序设计教学过于偏重语法规则的灌输和考核,过分纠缠于诸如前置与后置自增运算符等理论难点,却往往忽视学生实践能力和解决实际问题能力的培养。这导致一些学生即使在考试中取得不错成绩,但在实际编程项目中却往往力不从心,无法将所学知识有效转化为解决实际问题的能力。

作业不能实时反馈。学生完成实验或练习后提交作业,通常需要等待教师安排时间进行集中批阅。从提交作业到收到反馈往往须经历较长时间。如作业存在问题,学生须进行多次修改,这无疑会进一步延长整个学习周期。这种滞后的反馈方式不仅降低了学生的学习效率,也不利于学生进行及时的自我纠正和自主学习。

2“ 课赛融合”模式

2.1“ 课赛融合”内涵

“课赛融合”是一种将课程教学与竞赛活动紧密结合的教育模式,其核心是引入竞赛驱动机制[2],通过竞赛活动激发学生的学习兴趣,提高学生的实践能力和创新思维。具体来说,“课赛融合”模式具有以下3 个显著特点[3-4]:

1) 教学与竞赛的结合:将课程内容与各类竞赛相结合,使学生在参与竞赛的过程中加深对课程知识的理解。

2) 知识与技能的同步提升:学生在竞赛中不仅能够应用和巩固理论知识,还能锻炼实际操作、团队合作和问题解决等能力。

3) 自主学习与创新思维培养:竞赛的挑战性和趣味性可以激发学生的学习热情,使他们更加积极主动地参与学习。竞赛通常要求创新的解决方案,这促使学生跳出传统思维模式,培养创新思维。

在一些计算机类专业课程中,“课赛融合”模式已经展现出显著的教学成效。姜林等人通过将中国机器人及人工智能大赛、中国大学生计算机设计大赛、全国挑战杯课外科技作品大赛等重要赛事融入机器学习课程的教学过程中,成功提升了教学效果[5]。朱锐等人将全国大学生成图大赛与机械制图课程的实践教学相结合,有效增强了学生的实际操作技能[6]。丁力等人通过将全国大学生机械创新设计大赛融入机器人技术基础课程中,不仅促进了学生对课程内容的深入理解,而且显著提升了学生的实践操作能力和竞技意识[7]。

这种教学模式的实施不仅丰富了学生的学习体验,也为他们提供了一个将理论知识与实践技能相结合的平台,从而帮助学生将所学知识有效转化为解决实际问题的能力。

2.2 程序设计竞赛核心元素

能否直接将ACM竞赛、蓝桥杯大赛等程序设计竞赛与程序设计基础课程相结合,实施“课赛融合”的教学模式?

对于大多数初学者来说,这种直接结合可能不太适宜。程序设计竞赛往往要求参赛者具备较高的编程技能和算法知识,而程序设计基础课程通常针对的是初学者,重点在于教授编程的基本概念和技能。此外,学生的编程基础和学习能力参差不齐,直接将竞赛内容融入基础课程可能会给部分学生带来过大的学习压力。

尽管如此,程序设计基础课程中可以采取一些策略,将竞赛的核心元素适当地融入课程中。这样不仅可以解决教学中的痛点问题,而且为学生参加竞赛做一定准备。这种方式在一定程度上丰富了“课赛融合”的内涵。

针对上述的教学挑战,设计融入以下程序设计竞赛核心元素:

1) 难度分层。在课程练习中,将编程任务按照难度分为多个层次,以适应不同水平的学生。初学者可以从基础问题开始,逐渐过渡到更复杂的挑战,这样可以避免让初学者感到沮丧,同时也为有一定编程基础的学生提供挑战。

2) 任务驱动。采用任务驱动的教学方法,通过具体的编程任务来引导学生学习。这些任务可以是解决实际问题的小项目,或者是竞赛中的简化问题。通过完成任务,学生可以更好地理解编程概念的应用,并逐步建立解决复杂问题的信心。

3) 自动测评。利用在线自动测评系统,为学生提供即时的编程练习反馈。这不仅可以帮助学生快速识别和纠正错误,还可以激发他们不断改进代码的兴趣。自动测评系统可以用于形式化的作业提交和评分,确保评价的一致性和公正性。

3“ 课赛融合”具体措施

针对上述程序设计教学中的3个痛点,通过分析程序设计竞赛的理念、标准和模式,引入难度分层、任务驱动、自动测评3个核心元素,设计并实施对应的教学改革措施,旨在支持应用型创新人才培养目标的达成,整体框架如图1所示。

首先,针对学生基础参差不齐的问题,教师实施难度分层的教学策略。通过精心设计不同层次的课程内容和学习路径,确保每位学生都能找到适合自己的学习起点和进步阶梯。这种分层教学方法不仅尊重了学生的个体差异,更有助于激发他们的学习兴趣和积极性,使每个学生都能在原有基础上取得进步。

其次,为了加强学生应用能力培养,教师采用任务驱动的教学模式。通过设定以实际应用为背景的编程任务,让学生在解决问题的过程中锻炼编程思维和实践能力。这种教学方式不仅能提升学生的技能水平,还能培养他们的团队协作和创新能力,使他们更好地适应未来工作的要求。

最后,为了解决作业反馈不及时的问题,教师引入自动测评系统。该系统能够实时对学生的作业进行自动批改和评分,为师生提供及时的反馈和统计信息。这不仅大大减轻了教师的作业批改负担,还能让学生及时了解自己的学习状况,调整学习策略,提高学习效率。

基于程序设计竞赛的难度分层、任务驱动、自动测评3个核心元素,进一步设计并实施以下具体的教改融合措施。

3.1 游戏化关卡设计

借鉴游戏的关卡设计理念,将每次实验课的实验题目精心设计为一系列渐进式关卡挑战。每当学生成功通过一个关卡,他们将会获得相应的积分奖励,并自动解锁下一关,这样的设计明显增强了学习过程中的互动性和趣味性。

从初级关卡起步,随着关卡的递进,挑战难度会逐步升级,确保学生能够在循序渐进中提升自我。面对更高层级的关卡,当他们感到困难时,可以自由返回并反复练习之前的关卡,以此积累必要的知识和技能,为攻克更难的挑战做好准备。

3.2 阶梯式考核方式

本教学模式转变以往结果考核占据主导的方式,将过程考核与结果考核有机结合,并按照不同难度划分成若干阶段,每个阶段对应不同的标准和要求,从而形成一种逐级递增的阶梯式考核方式,如图2所示。

首先确立期末考试作为结果考核目标,然后逆向规划一系列精细化的过程考核环节,以确保学生在过程中逐步积累知识、技能,并最终顺利应对期末考试。

整个过程考核被划分为5 个难度逐级提升的阶段:

第一级过程考核主要针对理论内容部分,并涵盖学生的日常课堂表现,包括课堂互动、随堂测验和出勤情况,反映学生对基本理论知识的理解和掌握情况。

第二级过程考核针对实验课的闯关实验,学生需在实验环节中完成多个关卡的实验任务以获取闯关积分,这既能锻炼他们的实践操作能力,又能在实践中加深对理论知识的理解。

第三级为任务驱动的知识点应用视频的学习。视频由课程组老师精心录制,以任务驱动的方式介绍实际问题的分析方法和知识点的应用技巧。这一阶段的学习将为下个阶段的任务提供准备。

第四级进一步提升了难度,以任务驱动的方式组织在线拓展作业,包括一些简单的竞赛题目,同样以闯关积分作为评价指标。但相较于实验闯关,该阶段涉及更复杂的问题解决和知识点综合应用,促使学生拓宽视野,提高实践能力。

最后,第五级设置了综合测试,包括三次线上综合测试。这些测试旨在阶段性地检查和评估前四个阶段学生的学习成效,同时也为即将到来的期末考试做好全面的热身准备。

通过这种方式,不仅确保了学生对期末考试的充分准备,而且在过程中锻炼了其自主学习能力。

3.3 任务驱动拓展作业

在原有课堂实验的基础上,引入任务驱动的在线拓展作业。不同于以知识点为中心组织的实验课上的实验闯关,在线拓展作业以任务为驱动,旨在提升学生应用知识解决问题的实践能力。拓展作业围绕数值计算、查找、排序、字符串操作和文件操作等常见的应用问题,设计成一系列独立的小任务,鼓励学生在完成具有实际意义的任务过程中,主动探索和解决问题,从而有效调动学习积极性,提升应用能力,真正实现从知识输入到能力输出的转化。

作为课堂实验闯关向拓展作业的过渡,课程组开发设计了一系列任务驱动的项目分析讲解视频。这些视频选取生动的应用案例和特定任务作为主题,剖析问题的解题思路,联系相关知识点,深入浅出地总结解题要点和技巧。通过对视频的学习,不仅为学生顺利完成拓展作业奠定了扎实的基础,还启发他们主动思考和探究,真正做到学以致用,全面提升综合素质。

3.4 全机试期末考核

从以往的纸质试卷转向上机操作,从人工阅卷转向自动判题,不仅显著提高了考试效率,更重要的是强调对学生实践操作能力的考核,引导学生增强在真实环境下运用所学知识解决实际问题的能力培养。在真实的计算机环境中,学生们不仅要理解和掌握编程语言的语法知识,更要学会如何将这些知识应用于解决实际的编程问题。考查的重点从原来的语法知识点,转移到解决具体问题的实践能力。这一考核方式的转变,同时引导课堂教学从“重语法轻应用”转向“重应用轻语法”。

为了帮助学生顺利过渡并适应这种全新的考试模式,课程安排了三次线上综合测试,其中包括一次期中测试和两次后期的综合测试。这些测试的题型设计和难度级别均与期末全机试相似,目的是让学生在正式期末考试前有机会熟悉上机考试的流程和环境,及时发现自身的知识盲点和操作短板,有针对性地进行查漏补缺,从而在期末考试中发挥出更好的水平。同时,这也反映了教学重心的转移,即从单纯的知识点强调转向对知识应用和实践操作能力的培养。

3.5 引入线上自动测评

相较于传统的作业提交和人工批改,线上自动测评的应用带来以下3个突出优势:

1) 实时回馈与自我调整:学生在进行线上测评时,能够实时收到成功通过的得分奖励,或者未通过时的错误诊断信息。及时反馈帮助学生精确锁定问题所在,实时调整解题策略,不断迭代优化解题代码。

上一篇 点击页面呼出菜单 下一篇