摘要:目前,计算机编程类课程教学存在许多问题,比如程序实践教学环节薄弱、作业考察方式不合理、抄袭现象存在等。针对存在的问题,提出了基于在线On-lineJudge学习测评系统的计算机类编程课程教学实践手段优化改革思路,以满足该类课程实践性强的需要,以增强学生学习能力和使用计算机编程解决实际应用问题的能力。该教学改革手段在最近几届学生上应用实践后取得了良好的教学效果,证明其能有效培养学生的程序实践应用能力。该实践手段既可以为程序设计类课程提供在线实验平台,还可以为蓝桥杯、ACM程序设计竞赛以及编程类科技竞赛等大赛提高平台服务。

关键词:OnlineJudge;教学改革;计算机编程课程

一、引言

随着计算机和互联网技术的发展,网络在线教育与计算机辅助教学引发了一场深刻的教育模式和教育观念的变革,一方面计算机技术减轻了教育者的工作量,提供了更丰富的教育表现形式,并可在教育资源和教育对象之间建立联系;另一方面互联网技术使得更为广泛的群体可以远程接受到更高质量的教育。另外,近期中国国务院印发了《新一代人工智能发展规划》,《规划》中指出中国到2030年人工智能理论、技术与应用总体达到世界领先水平。人工智能中最重要的部分就是程序设计。在高校计算机相关专业的教学活动中,编程课程有利于培养学生的创新思维和逻辑思维,增强学生的信息素养。目前,计算机及其相关专业需要学习几门计算机语言专业基础课程,比如C语言程序设计、C++程序设计、JAVA程序设计等,传统教学方式为大量理论学时与少量实践学时相结合,学生通过理论教学学习计算机语言相关的基础知识,在实践学时阶段开展上机验证与扩展学习,具有较好的教学效果,但是也存在以下几个问题。(1)课后作业一般为教材的习题,数量较少而且扩展性不强,教师一般选取一部分代表性的习题作为课后作业,不能照顾到各个知识点。(2)学生所交作业一般为纸质稿,教师审阅时工作量非常大。以一个小型工程为例,代码可能为几百甚至几千行,而一个教学班人数少则几十人,多则上百人。全部检查学生上交的代码,可操作性太差,因而,教师一般采用抽查其中部分关键代码段,相应地实际的检查效果也大打折扣。(3)由于过程监控力度不够,抄袭现象严重。(4)传统的纸质作业方式不能有效激发学生学习的积极性,简单的评分依据难以对学生学习情况作出客观评价,相反,它在一定程度上还挫伤学生的学习积极性。针对上述问题,有人提出将目前软件工程中的自动测试的方法引入到计算机语言课程教学中来,学生的课后作业不再采用传统的纸质方式,而是采用在网上系统来完成,让系统对学生提交的代码进行自动评判,从而减轻任课教师的工作量,最大限度降低学生抄袭行为,同时提高教师对学生学习过程的监控力度,并使评分更为客观,进而提高整个理论与实践教学的质量。目前有很多比较流行的OnlineJudge(OJ)系统,比如北京大学的POJ在线程序测试系统,杭州电子科技大学的HDUOnlineJudgeSystem,还有些比较优秀的开源OJ系统可以利用,从而实现对课程设计中的代码进行在线自动评判的方法。实践表明,该方法实现较为简单,且效果良好。

二、OnlineJudge简介

ACM/ICPC国际大学生程序设计竞赛是由ACM(AssociationforComputingMachiner-y,美国计算机协会)组织的年度性竞赛,国内高校从1996年开始参加ACM/ICPC亚洲预赛。为了利用计算机技术与网络技术在线开展程序设计竞赛,OnlineJudge系统(简称OJ)被研发出来,它是一个利用web技术开发的在线判题系统。注册的用户可以利用Web浏览器在线提交程序多种计算机语言的源程序(如C、Java、C++、Pascal等),OJ系统自动对提交的源代码进行编译和执行,产生执行文件,并利用预先设计的大量测试数据来检验程序所得到结果的正确性,最终判断用户提交源代码的可用性。基于这样的背景,很多大学开发了自己的OnlineJudge系统,任课教师可以在平台后台添加自定义的题目,进行上机实践考试,举办程序设计比赛,学生提交的程序可以实时得到评测,返回测评结果。利用该技术,既能鼓励学生提高动手能力,又极大地方便了教师的教学工作。

三、实践教学手段优化

利用OnlineJudge开展计算机编程课程实践教学手段优化,采用了如下的步骤:(1)利用OnlineJudge程序测评平台,任课教师先设置问题题库,每道题都针对着编程应用中的一个实际知识点。除此之外,还需结合西南科技大学国防学院信息对抗技术专业本科生的培养目标,在设计问题时,可以围绕国防军工背景,这不仅可以增强问题的生动性,还能增强学生对该专业的学习兴趣。(2)任课教师从题库中抽取部分题目作为作业、考试或者比赛实践。比如在理论课教学结束后,任课教师告知学生需要在OJ中完成题目,并提醒学生注意截止提交时间,如图1所示为某次比赛时的题目。(3)学生通过账号登陆测评平台查看问题集,针对问题,在PC机上进行编程调试,调试通过的程序源代码通过平台提交到服务器进行测评,如果代码正确则返回Accept,错误则返回WrongAnswer,有语法错误则提示PresentationError,并同时返回学生提交源代码编译后程序使用的内存、运行时间等程序评价数据信息。如图2所示为OJ实时返回的学生答题状态信息。(4)教师登录到平台后台可以导出学生完成情况的统计信息,包括完成率、正确率、重合率等信息。

四、效果验证

从2014级开始,利用任教的《C语言程序设计》开展实验工作,共两个教学班(A班和B班),A班和B班人数相差不大,对A班采取以OnlineJudge的计算机课程教学手段优化,对B班则按照传统的教学方法开展教学实践。为了区分使用和未使用Online-Judge实践教学效果,实验将学生的成绩分成五个等级,分别是<60分、60-69分、70-79分、80-89分、90分及以上。实验结果如下所示。针对2014级《C语言程序设计》教学班,使用OnlineJudge的效果如图3所示,使用OJ的A班平均成绩、及格率、优良率都好于未使用OJ的B班。图32014级学生C语言成绩分布统计针对2015级《C语言程序设计》教学班,使用OnlineJudge的效果如图4所示,使用OJ的A班平均成绩、及格率、优良率也均好于未使用OJ的B班。针对2016级《C语言程序设计》教学班,使用OnlineJudge的效果如图5所示,两个班级均适用使用OnlineJudge课程教学手段优化,可以得到两个班的成绩分布曲线与趋势大致相同。图42015级学生C语言成绩分布统计图52016级学生C语言成绩分布统计通过实验表明,利用OnlineJudge的计算机课程教学手段优化的教学班级各项指标都优于未使用的班级,充分证明了该系统对教学效果具有显著提升作用。

五、计算机课程教学手段优化总结

针对目前计算机课程教学实践中存在的问题,基于OnlineJudge开展教学手段优化,以高质量、高成效完成计算机语言相关教学实践。一方面极大地释放了教师的作业批改与统计整理负担;另外一方面提升了学生学习兴趣,对学生培养编程兴趣、学习计算机语言、掌握编程实践技能,具有重要的意义。实践表明,在教学实践中引入OnlineJudge优化手段后,学生的学习主动性得到大幅提升,课程教学质量也得到较大改善。

参考文献

[1]陈荟慧,熊杨帆,蒋滔滔,等.基于在线测评系统的编程题目难度研究[J].现代计算机(专业版),2018,(13):26-30+34.

[2]黄金春,杜娟娇.超小型在线评测系统的设计与实现[J].现代计算机(专业版),2018,(13):83-86.

[3]肖红玉,蓝荣祺,万志强.在线评测教学辅助系统设计与应用[J].电子设计工程,2017,(23):11-15.

[4]晏燕.在线编程评测系统设计与实现[D].长春:吉林大学,2017.

[5]肖红玉,贺辉,陈红顺.在线评测教学辅助系统设计[J].计算机技术与发展,2017,(11):141-145.

[6]吴舜歆,梁宝兰.OnlineJudge在C++程序设计课程实践教学中的应用[J].高教学刊,2016,(09):164-167.

作者:任珍文 杨超 印茂伟 吴明娜 刘洋 孙元 单位:西南科技大学国防科技学院

阅读次数:人次

哪里可以学计算机优化编程,【计算机专业论文】计算机编程课程实践教学优化(共3825字)...相关推荐

  1. 计算机组成原理课内实验,【计算机基础论文】计算机组成原理课程实验教学改革(共2885字)...

    摘要:目前<计算机组成原理>的实验内容存在与课程定位目标相悖的问题,一味追求实验内容的复杂性,而忽视了计算机组成原理实验教学的完整性和概念性.针对上述问题,本文对<计算机组成原理&g ...

  2. 职校计算机课堂评课标准,中职学校计算机专业课堂教学评价(共2323字).doc

    中职学校计算机专业课堂教学评价(共2323字) 中职学校计算机专业课堂教学评价(共2323字) 随着计算机在日常生活和工作中越来越普及,社会对于计算机人才的需求越来越多,由此也带动了计算机课程在中职学 ...

  3. 计算机在日常办公众的应用论文,计算机及应用基础专业论文.docx

    计算机及应用基础专业论文 < 高校计算机应用基础教育问题分析 > [内容摘要]计算机技术深入到各行各业中,使得人们的生活与计算机紧密联系起来,应用计算机来丰富生活改变工作已经不是梦想而是时 ...

  4. 基础计算机教学论文,基础计算机论文,关于民办院校计算机基础课程实践教学体会相关参考文献资料-免费论文范文...

    导读:该文是关于基础计算机论文范文,为你的论文写作提供相关论文资料参考. 关雪梅 (辽宁对外经贸学院基础课教研部,辽宁 大连 116052) 基金项目:本文是辽宁省民办教育协会2014年教育科研立项课 ...

  5. 三人英语计算机主题口语对话,计算机英语Web Quest主题教学思路(共3641字).doc

    计算机英语Web Quest主题教学思路(共3641字) 计算机英语Web Quest主题教学思路(共3641字) 计算机英语课程教学长期以来采用以教师为主的传统教学模式,教学方法多为讲授法,教学组织 ...

  6. 计算机网络相关的课程设计题目,计算机网络课程设计专业论文题目 计算机网络课程设计专业论文题目怎么拟...

    汇总了[100道]与计算机网络课程设计相关论文选题,为广大毕业生和职称者推荐计算机网络课程设计专业论文题目,解决在校大学生不知道计算机网络课程设计专业论文题目怎么拟等相关问题! 一.比较好写的计算机网 ...

  7. 学计算机也是科学家专业吗,计算机属于工学还是理学?工学和理学有什么区别?计算机有哪些专业...

    计算机这个专业好像从零几年就开始是热门专业了,那会无论是大学还是中职院校,学习计算机专业的学生都是最多的,互联网行业在这十几年也是飞速的在发展,任何企业任何岗位都离不开计算机的应用,所以计算机专业的热 ...

  8. 服装计算机辅助设计学什么,关于服装设计专业的计算机辅助设计课程教学思考-2019年精选文档...

    关于服装设计专业的计算机辅助设计课程教学思考 计算机辅助设计是一门专业辅助性设计课程,服装设计作为一门正在不断发展的学科,其计算机辅助设计方面的应用广度和深度也在加强,服装画.服装效果图.款式图.图案 ...

  9. 中专学的计算机大学可以换专业吗,计算机中专升大专可以换专业吗

    计算机中专升大专可以换专业吗?每每到了毕业季,就要开始准备跟各种各样的校园生活跟校园的自己说再见了,再见之后投入到另一个新的起点,有人忙着找工作,有人忙着升学历,有人苦恼着升学历要不要换专业.自考网跟 ...

最新文章

  1. java 读取properties文件
  2. Java中Filter的理解
  3. 第十四期:5 个 JS 不良编码习惯,你占几个呢?
  4. 深度学习笔记(34) 目标检测
  5. python编程软件免费吗_MRT7-Python编程软件
  6. NOIP前夕:noi.openjudge,滑雪
  7. 阿里云盘今日公测:无论用户是否付费,未来都不会限速
  8. 苹果这个酷炫的项目要流产了?市场未爆发或成主因
  9. abb伺服电机如何进行挑选_PLC是怎么控制伺服电机的?如何设计一个伺服系统?...
  10. 智能优化算法:磷虾群算法-附代码
  11. 附加SQL2005数据库失败解决方法
  12. winform中HSrollbar如何控制thumb滑块的宽度呢
  13. 北京航空航天计算机考研科目,2020考研北京航空航天大学计算机考研考试科目...
  14. bugku中的misc题
  15. 解决无线路由器wds桥接频繁掉线的办法
  16. 【OpenJudge】白细胞计数
  17. SpringBoot 下载 docx 文档
  18. 如何建立英文字符的哈希表
  19. 数据库SQL实战 --43.将id=5以及emp_no=10001的行数据替换成id=5以及emp_no=10005
  20. 视频教程-系统集成项目管理工程师考试-项目管理部分大全-软考

热门文章

  1. 火爆全网的DragGAN作者,潘新钢团队招全奖博士/博后
  2. CV第四次上机 利用双目图像计算深度图
  3. 统帅空调成华为HiLink智能家居首批智慧家电
  4. 查看linux机器的磁盘空间,Linux查看磁盘空间命令分享
  5. Java获取静态资源文件路径
  6. java-net-php-python-jspm足球队信息管理系统计算机毕业设计程序
  7. 【最小生成树专题】UESTC - 1636 梦后楼台高锁,酒醒帘幕低垂
  8. 【小知识】windows-Mklink的使用
  9. 如何把Word转换为PDF?这篇文章教会你怎么实现
  10. CSS——让背景图片完全平铺