C/C++作业自动批改:深度学习与程序合成的创新应用
版权申诉
5星 · 超过95%的资源 108 浏览量
更新于2024-08-10
1
收藏 4.31MB PDF 举报
C/C++作业自动批改程序是一篇关注于解决计算机教育领域中作业批改效率和质量提升的研究论文。C/C++作为系统软件开发的关键语言,其在大学计算机课程中的重要性使得作业批改成为教学过程中的核心环节。然而,随着学生规模的扩大和在线课程如MOOC的兴起,传统的人工批改方式已难以满足需求,因为其面临着作业量大、反馈不足和耗时的问题,这直接影响了教学效果。
为解决这一问题,作者提出了一种创新的自动批改方法。首先,他们利用缺陷模式和程序频谱进行综合分析,通过对缺陷程序的抽象语法树进行深入挖掘,定位潜在的错误位置。这种方法有助于更精确地识别出程序中的错误区域。
接着,作者引入深度学习技术,通过长短期神经网络学习正确程序的语句结构,形成结构模型。该模型可以预测错误程序中缺陷位置的可能语句结构,并据此生成多种可能的修复选项,增加了批改的智能化程度。
进一步,论文探讨了基于程序合成的缺陷修复选择与验证方法。通过将修复候选选项转化为选择表达式,与示例程序规则进行匹配,利用程序合成技术确保每个选择表达式的正确性,从而选出最合适的修复方案,生成修复后的正确代码。
最后,论文介绍了一个名为AutograDer的原型工具,它整合了TensorFlow深度学习工具和程序合成工具SK,实现了整个自动批改流程。这个工具的出现,不仅减轻了教师的工作负担,还提高了批改的准确性和教学效率,对于优化C/C++教学环境具有重要意义。
这篇论文主要贡献在于提出了一种结合多种技术的自动化作业批改策略,有效提升了C/C++编程作业的批改质量和速度,为现代计算机教育提供了有力支持。
2013-07-08 上传
2021-08-11 上传
点击了解资源详情
2021-09-19 上传
2024-05-16 上传
2021-12-05 上传
2021-12-05 上传
2013-04-27 上传
「已注销」
- 粉丝: 834
- 资源: 3605
最新资源
- BottleJS快速入门:演示JavaScript依赖注入优势
- vConsole插件使用教程:输出与复制日志文件
- Node.js v12.7.0版本发布 - 适合高性能Web服务器与网络应用
- Android中实现图片的双指和双击缩放功能
- Anum Pinki英语至乌尔都语开源词典:23000词汇会话
- 三菱电机SLIMDIP智能功率模块在变频洗衣机的应用分析
- 用JavaScript实现的剪刀石头布游戏指南
- Node.js v12.22.1版发布 - 跨平台JavaScript环境新选择
- Infix修复发布:探索新的中缀处理方式
- 罕见疾病酶替代疗法药物非临床研究指导原则报告
- Node.js v10.20.0 版本发布,性能卓越的服务器端JavaScript
- hap-java-client:Java实现的HAP客户端库解析
- Shreyas Satish的GitHub博客自动化静态站点技术解析
- vtomole个人博客网站建设与维护经验分享
- MEAN.JS全栈解决方案:打造MongoDB、Express、AngularJS和Node.js应用
- 东南大学网络空间安全学院复试代码解析