摘要:针对目前C语言教学中存在的问题,引入了在线判题系统进行辅助教学。该系统针对不同知识点提供了难度等级不同的且较贴合实际应用的编程题目,学生可以在线编程、调试、判题以及比赛等。此外,教师能够通过该系统实时有效地理解学生的学习状态和知识薄弱点。实践证明该系统的使用提高了学生的学习兴趣和编程能力,减少了教师工作压力,改善了C语言的教学现状。
关键词:C语言;在线判题;编程
1 引言
随着计算机的普及,作为人类和计算机之间沟通工具,编程语言受到各界越来越多的重视。由于计算机技术的飞速发展,社会要求人人会编程的呼声日益高涨,C语言作为了解计算机工作原理的基础语言具有简单易学的优点,已然成为计算机编程必选的入门语言[1-2]。C语言现已不仅仅是计算机相关专业的专业基础课程,也成为其他专业的必修课程,甚至已列入中等教育的课程行列之中。学习C语言不仅仅为编写所需的程序软件,更重要的是培养学生的计算机思维[3-4]。C语言教学中如何结合理论教学和实验教学来提高学生基础知识的同时锻炼学生的计算机思维值得进一步的思考和探究。
2 C语言教学现状
在C语言教学过程中常见的模式为理论教学与实验教学相辅相成,实验教学根据理论教学中的知识点进行设计从而进行知识点的巩固和灵活运用。然而,在实际的教学过程中理论教学和实验教学并未达到预期的相辅相成的状态。关于两者在实际的教学过程中存在的问题主要从以下几方面来分析。
2.1理论教学内容繁琐
C语言理论教学中涉及知识点比较繁杂无逻辑可循。C语言授课内容一般开篇即是常量与变量、标识符命名规则、运算符与表达式、优先级以及C语言语法规则等大量的基础知识,对于第一次接触编程的学生来说比较抽象,难以理解和记忆。C语言理论学习过程枯燥且和实际问题相差甚远,这使得学生一头雾水从而产生抵抗情绪。
2.2实验教学方法单一
C语言实验教学目标是有效地对理论知识进行实践和巩固并通过不断的上机实践培养学生的逻辑思维能力和编程能力。然而,在实践项目的设计中各章节的内容关联度不够,知识点针对性不强,综合性实践项目偏少,未能充锻炼学生的思考和解决问题的能力。此外,由于学生众多,在实践过程中学生遇到难题不能够及时与老师沟通解决,随着问题的累积慢慢打击了学生的积极性。
2.3 编程思想培养欠缺
通常,教学过程由于课时限制往往偏向于课本知识的灌输,同样,学生为了应付考试,对课本知识仅限于简单的死记硬背,从而学生利用计算机思维去思考问题设计算法的能力欠缺。对于遇到的课本以外的实际问题感到无从下手,学生无法利用所学知识进行灵活运用。
2.4课程考核方式陈旧
大部分学校考核方式比较固定即卷面成、上机操作成绩以及平时表现等。部分学生为了获得较高平时分作业抄袭现象严重,老师很难全面了解学生对知识点的掌握情况。因此,教师无法公平地考核每个学生成绩,此外,教师在辅导课堂上也无法根据不同学生的学习情况进行针对性辅导。
3 在線判题系统的简介
3.1在线判题系统的功能模块
在线判题系统的功能主要包含如下:题库列表、练习与比赛、实时状态和用户排名等模块。
1、题库列表
该系统针对不同的理论知识点设计各种难度等级实战项目来激发学生的兴趣,学生可以结合个人学习情况选择相应难度的项目进行练习。该模块不仅提供丰富的项目而且显示了所有项目已被用户选择的次数以及在大型编程比赛中出现的概率,能够给计划参加比赛的同学提供有效的参考价值。
2、练习与比赛
各学校之间可以通过该系统组织大型马拉松编程比赛并对成绩突出的学生进行奖励,学生可以根据系统公告在线进行报名参加。教师也可以在该模块发布练习公告,实时监督学生的平时编程情况,并能够通过显示数据对学生的编程情况以及知识点的掌握有一个真实清晰地了解。
3、实时状态
用户可以在该模块实时看到本人所提交程序的正确性,参考相应的判题解释对提交程序进行准确度的修改。此外,用户还能够将自己的程序和其他用户的程序在执行时间和所占内存空间上进行对比,可以据此进一步优化自己解题算法。
4、用户排名
该模块显示了用户的排名、总累计分数、提交次数和成功率,用户可以实时的查看自己当前排名。
3.2在线判题系统在教学过程的作用
C语言不同与传统的理论知识学习,C语言学习过程中更需要注重计算机思维、程序编写和调试能力的锻炼,在线判题系统能够在以上方面对传统的C语言学习进行有效的辅助。学生通过使用该系统的使用能够及时了解自己对知识的掌握并且能够有效地提高自己的编程能力,培养逻辑思维能力。教师可以通过该系统全面及时地了解学生的学习漏洞,并据针对性地进行教学过程的调整。
4 结语
在线判题系统给教师和学生提供了一个教学辅助和学习自测的优秀平台。该系统会根据具体的知识点给学生用户提供了丰富的编程实战项目且都贴合实际应用具有一定的趣味性。该系统能够为教师用户提供实时的监测数据,可以切实减轻教师的工作量。该在线判题系统已在我校实施,并取得很好的效果。
参考文献:
[1]申炳昕.C语言程序设计实验教学方法与考核模式的改革探讨[J].电脑知识与技术,2018,14(30):102-103.
[2]李春开.应用型本科院校C语言课程教学研究[J].计算机产品与流通,2018(12):234+240..
[3]张红,王小军.高校《C语言程序设计》教学实践探究[J].电脑知识与技术,2019,15(16):114-116.
[4]王亚亚,谢国坤,惠俊峰.《C语言程序设计》教学中存在问题及改进方法[J].才智,2019(10):112.
基金项目:安徽省高等学校自然科学研究一般项目(KJ2019B01)。
作者简介:李晓 (1990.02~),女,汉族,安徽淮北,淮北师范大学助教,硕士,主要从事C语言程序设计课程教学与研究。