- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
在线评判在C语言课程设计教学中应用
在线评判在C语言课程设计教学中应用
摘要:本文提出在Online Judge系统基础上实现对C语言课程设计进行在线评判的方法,从而减少任课教师的工作负担,提高学生的学习兴趣与主动性,进而提高整个课程的教学质量。
关键词:C语言课程设计;在线评判;教学质量
C语言课程设计是计算机相关专业学生的重要实践教学内容之一。它主要用于解决一个中等规模的实际问题,可以同时运用一门或多门课程所涉及的知识域或知识点[1]。目前市面上有不少C语言课程设计的教材[2-4],这些教材为任课教师选题和组织教学提供了很好的参考。尽管如此,要使课程设计教学取得最佳教学效果,我们仍要面对一些问题。
(1) 课程设计中的代码量较大,教师检查代码的工作繁重。以设计一个小型仓库管理软件为例,代码一般为几百到上千行,一名教师指导两个班(约60名学生),全部检查需要阅读几万行代码,如果在教学过程中增加检查的次数,则工作量更大。因而,教师一般不直接检查代码,而采用抽检的方式,但效果不理想。
(2) 由于过程监控力度不够,抄袭现象严重。
(3) 用考勤、设计报告等有限的评分依据难以对学生学习情况作出客观评价,相反,它在一定程度上还挫伤学生的学习积极性。
针对上述问题,有人提出将目前软件工程中的代码自动测试的方法引入到C语言课程设计教学中来,让系统对学生提交的代码进行自动评判,从而减轻教师的工作负担,提高过程的监控力度,并使评分更为客观,进而提高整个课程设计教学的质量。然而,设计一套这样的系统对一所高校来说并非易事。本文提出通过对目前越来越多高校普遍采用的Online udge(OJ)系统进行功能改造,从而实现对课程设计中的代码进行在线自动评判的方法。实践表明,该方法实现较为简单,且效果良好。
1OJ系统
OJ系统是一个在线的判题系统。用户可以在线提交多种语言(如C、C++、Java)的源代码,系统对源代码进行编译和执行,并通过预先设计的测试数据来检验程序源代码的正确性。OJ系统最初使用于ACM/ICPC(国际大学生程序设计竞赛)和OI(信息学奥林匹克竞赛)当中,现广泛应用于世界各地高校学生程序设计的训练、参赛队员的训练和选拔、各种程序设计竞赛以及数据结构和算法的学习和作业的自动提交评判中。常用的OJ系统涉及的主要数据类型与功能如图1所示。
图1常用OJ的主要数据类型与功能示意图
基金项目:华南农业大学教育教学改革与研究重点课题(JG07012);华南农业大学教育教学改革与研究课题(JG07096)。
作者简介:陈湘骥(1976-),男,广西桂林人,讲师,在读博士生,研究方向为多媒体技术。
在OJ系统中,题目详细地描述了待解决的问题,用户可以选定题目并提交相应的解答,评判机起到自动评判的作用,具体评判过程如下。
(1) 编译并执行解答程序,如果出现编译错误或运行时错误,则报错并退出。
(2) 将题目中设定的测试数据作为解答程序的输入,解答程序处理后,输出处理结果。
(3) 将解答程序的输出与结果数据进行对比,相符则输出“接受(accepted)”,否则判错。
解答提交后一般经过数秒,便可看到评判结果,学生可以不断修改代码并提交,直到OJ系统判定为“接受”为止。
2OJ系统的改进与课程设计的在线评判
在OJ系统中,一个题目针对一个具体问题,比如排序或求最短路径等。而一个课程设计题目远比OJ系统中的单个题目所涉及的内容要多,但是课程设计题目可以分解成多个小的功能模块,比如设计一个小型仓库管理系统可以分成多个小功能模块,如读入库存物品信息、按物品名查询物品信息、物品入库、物品出库、数据存盘,等等。这些分解出的小功能模块所要解决的往往是一个具体问题,这就与OJ系统中的题目对应上了。
为此,在现有OJ系统上增加新的数据类型(如图2所示),以达到对课程设计题目进行分解,并完成自动评判的目的。
图2增加新数据项后的OJ系统
course problem(课程设计题目)可以分成多个小功能模块,每个模块所要解决的问题对应一个可在线评判的problem(即原OJ系统中的题目),因而course problem与problem的关系是一对多,但在实际设计中,将course problem与problem的关系设计成多对多,主要是为了提高problem的复用性。因为不同的课程设计题目分解出的小功能模块所对应的problem可能相同或相似(比如“设计小型图书管理系统”与“设计小型仓库管理系统”两个课程设计题目均有按关键词查找数据这样的设计要求),因而可以设定相同的一个problem以满足多
您可能关注的文档
最近下载
- 人教版七年级数学上册第五章一元一次方程.pptx VIP
- 超星学习通网课《从爱因斯坦到霍金的宇宙》尔雅答案2025题目及答案.docx
- 证监会行业分类指引 2012版 (2).xls VIP
- 通信中级整理-终端与业务.pdf VIP
- 【初中数学】第五章一元一次方程单元测试+2024-2025学年人教版数学七年级上册.docx VIP
- 快乐日记(三上日记范文).docx VIP
- 4.1 《喜看稻菽千重浪》课件(共46张PPT)统编版高中语文必修上册.pptx VIP
- 群众安全满意度培训课件.pptx VIP
- 石材厂15万吨年砂石料加工项目突发环境事件应急预案2024年第一版.docx VIP
- 道德与法治人教版二年级上册教案.doc VIP
原创力文档


文档评论(0)