【CSUR-IG】OpenHarmony啃论文俱乐部--我在ACM Survey阅读计算机综述,看到了卷54第八期十六篇:自动编程提示生成概览:HINTS 框架

2023-11-13

  • 本文出自ACM技术洞察研究团队(CSUR-IG),Computing Surveys Interest Group
  • 成员:
    • 深圳大学大三学生
    • 中原工学院研一学生
    • 中原工学院研一学生
    • 安阳工学院大三学生
    • 南通科技学院大三学生
  • 我们是来自4个地方的同学,我们在OpenHarmony成长计划啃论文俱乐部里,与华为、软通动力、润和软件、拓维信息、深开鸿等公司一起,学习和研究操作系统技术…

文章链接:

原文链接:A Survey of Automated Programming Hint Generation: The HINTS Framework

译文链接:自动编程提示生成概览:HINTS 框架

我们在飞书文档给各位读者贴心做了全文翻译以及阅读笔记。

摘要

原文

​ Automated tutoring systems offer the flexibility and scalability necessary to facilitate the provision of high-quality and universally accessible programming education. To realise the potential of these systems, recent work has proposed a diverse range of techniques for automatically generating feedback in the form of hints to assist students with programming exercises. This article integrates these apparently disparate approaches into a coherent whole. Specifically, it emphasises that all hint techniques can be understood as a series of simpler components with similar properties. Using this insight, it presents a simple framework for describing such techniques, the Hint Iteration by Narrow-down and Transformation Steps framework, and surveys recent work in the context of this framework. Findings from this survey include that (1) hint techniques share similar properties, which can be used to visualise them together, (2) the individual steps of hint techniques should be considered when designing and evaluating hint systems, (3) more work is required to develop and improve evaluation methods, and (4) interesting relationships, such as the link between automated hints and data-driven evaluation, should be further investigated. Ultimately, this article aims to facilitate the development, extension, and comparison of automated programming hint techniques to maximise their educational potential.

译文

​ 自动辅导系统提供了必要的灵活性和可扩展性,以促进提供高质量和普遍可访问的编程教育。为了实现这些系统的潜力,最近的工作提出了多种技术,以提示的形式自动生成反馈,以帮助学生进行编程练习。本文将这些明显不同的方法整合为一个连贯的整体。具体来说,它强调所有的提示技术都可以理解为一系列具有相似属性的更简单的组件。利用这种洞察力,它提出了一个描述此类技术的简单框架,即缩小范围和转换步骤框架的提示迭代,并调查了该框架背景下的最新工作。本次调查的结果包括:(1) 提示技术具有相似的属性,可用于将它们一起可视化,(2) 在设计和评估提示系统时应考虑提示技术的各个步骤,(3) 需要做更多的工作开发和改进评估方法,以及(4)有趣的关系,例如自动提示和数据驱动评估之间的联系,应该进一步研究。最终,本文旨在促进自动化编程提示技术的开发、扩展和比较,以最大限度地发挥其教育潜力。(3) 需要做更多的工作来开发和改进评估方法,以及 (4) 有趣的关系,例如自动提示和数据驱动评估之间的联系,应该进一步研究。最终,本文旨在促进自动化编程提示技术的开发、扩展和比较,以最大限度地发挥其教育潜力。(3) 需要做更多的工作来开发和改进评估方法,以及 (4) 有趣的关系,例如自动提示和数据驱动评估之间的联系,应该进一步研究。最终,本文旨在促进自动化编程提示技术的开发、扩展和比较,以最大限度地发挥其教育潜力。

技术洞察报告

技术地图

在这里插入图片描述

用途

​ 本文提出了一个新颖的框架,即 HINTS 框架,用于描述提示生成技术,并在该框架的上下文中调查了这些技术。

场景

​ 通过将提示技术视为一系列较小的步骤,可以将最近的工作一起绘制成一个连贯的画面。我们认为,这种关于提示技术的观点对我们如何设计、交流和评估提示系统具有影响,并且可以为提示生成的本质提供有用的见解。最后,我们已经确定了提示生成和评估技术之间的潜在关系,可以用来改进两者,并认为提示技术的分段性质需要进一步发展评估方法。如图:本文主要调查了HINTS框架在应用计算和计算方法的应用,又在两者之下展开调查了教育方面的计算机辅助教学以及计算方法的人工智能解决。

在这里插入图片描述

技术点

  1. 从同伴或教师计划状态中选择下一步

    • Hint Factory框架
      在这里插入图片描述
  2. 朝着目标迈出下一步

    • AskElle框架在这里插入图片描述
  3. 比较程序功能

    • Codewebs 引擎在这里插入图片描述
    • 如何将教师反馈附加到学生项目的特定特征以产生相关提示的示例在这里插入图片描述
  4. 自动修复程序

    • 训练循环神经网络 (RNN)以预测正确的程序片段(令牌)序列

      1. 涉及使用机器学习生成表示正确程序特征的模型的提示技术示例在这里插入图片描述

      2. 涉及自动更正学生程序的搜索的提示技术示例在这里插入图片描述

      3. 报告的能够通过自动修复技术更正的程序百分比在这里插入图片描述

未来待研究:来自 HINTS 框架下的测量提示技术的见解

  • 使用它们的组件将提示技术组合成一个连贯的图片是可能的在这里插入图片描述
  • 在提示系统的设计、沟通和评估过程中,应考虑包含提示技术的较小组件
  • 提示生成技术与数据驱动的提示评估技术之间的联系应进一步研究
  • 提示技术的设计可以提供对提示生成本质的洞察
  • 来自组件的多种可能的提示技术需要进一步研究评估方法

提出目前存在的问题

  • 教师和研究人员很难确定哪些技术对不同的情况最有效
  • 评估的耗时性质、提示技术的复杂性以及这些技术产生的提示的明显不同性质(例如,针对不同的目的、编程语言和学生)妨碍了对每种技术进行全面研究以获得明确的答案。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【CSUR-IG】OpenHarmony啃论文俱乐部--我在ACM Survey阅读计算机综述,看到了卷54第八期十六篇:自动编程提示生成概览:HINTS 框架 的相关文章

  • vue常用组件库

    Vue是主流的前端框架一 Vue js UI组件 element 饿了么出品的Vue2的web UI工具套件 Vux 基于Vue和WeUI的组件库 mint ui Vue 2的移动UI元素 iview 基于 Vuejs 的开源 UI 组件库
  • 32黑马QT笔记之QPixmap和QImage的相互转换

    32黑马QT笔记之QPixmap和QImage的相互转换 1 QPixmap与QImage的互相转换 1 头文件 void paintEvent QPaintEvent 2 实现 cpp文件 void Widget paintEvent Q
  • 敏捷开发系列终极之旅 第六站(像橄榄球运动一样富有激情的SCRUM)

    由来 为什么是Scrum Scrum原本的意思是橄榄球运动的一个专业术语 指 在橄榄球比赛中 双方前锋站在一起紧密相连 当球在他们之间投掷时他们奋力争球 在敏捷开发系列中 把一种开发流程命名为Scrum 其实就意味着 这种敏捷开发的流程 就

随机推荐

  • 解决Android手机root仍然出现adbd connot run as root in production build

    对于手机已经root 但是使用 adb root命令仍然出新adbd connot run as root in production build 原因是手机固件里面设置了adb shell 禁止root 解决方法 下载文件 http do
  • Linux文件、磁盘管理的一些命令:

    Linux文件 磁盘管理的一些命令 Num01 gt ls ls 列出目录的内容 linux文件或目录名称英文最长可有255个字符 中文最长127个字符 表示当前目录 以 开头的文件为隐藏文件 需要以 a参数才能显示 表示上级目录或父目录
  • Training a deep autoencoder or a classifier on MNIST digits_之调试运行与理解

    运行这个程序的主要目的 深入理解deep autoencoder 的基本原理和基本架构 搞明白是如何搭建起来的 弄清它是如何训练学习的 又是如何提取目标的特征的 最终又是怎样分类的 代码主程序如下 mnistdeepauto m plain
  • PHP计算时间差

    时间计算 距离现在多长时间 function format date time t time time f array 31536000 gt 年 2592000 gt 个月 604800 gt 星期 86400 gt 天 3600 gt
  • Web应用下实现定时任务简便方法

    在WEB应用下实现定时任务的简便方法 在web方式下 如果我们要实现定期执行某些任务的话 除了用quartz等第三方开源工具外 我们可以使用Timer和TimeTask来完成指定的定时任务 第一步 创建一个任务管理类 实现ServletCo
  • 基于QT的人脸识别考勤管理系统【一】

    前言 上篇我们已经用opencv实现了人脸识别https blog csdn net qq 42449351 article details 99052241 现在我们就用人脸识别来做一个考勤管理系统 该系统开发工具是 win10 Qt C
  • Numpy学习笔记三——数组切片、bool索引、掩码和花哨索引

    Numpy数组切片 bool索引 掩码和花哨索引 数组切片 slice 数组切片的公式为 my array start end step start end step 示例1 import numpy as np 设置随机种子 np ran
  • mfc入门基础(一)-单文档应用程序框架

    最近因为相关业务 需要接触下mfc的一些老代码 但是mfc上手并没有qt那么简单 所以四处寻找学习资料 发现一个写的挺好的教程 这边我进行转载下 学习的过程中进行了一些修改 总结下 此处附上原文链接 鸡啄米MFC入门系列教程 逸适安然的博客
  • Python爬虫三:抓取链家已成交二手房信息(58W数据)

    环境 Windows7 python3 6 Pycharm2017 目标 抓取链家北京地区已成交二手房信息 无需登录 如下图 户型 朝向 成交时间价格等 保存到csv 最后一共抓取约58W数据 程序运行8h 全部文章 京东爬虫 链家爬虫 美
  • 本人遇到的spring事务之UnexpectedRollbackException异常解决笔记

    本人最近在使用spring事务管理的过程中遇到如下异常 导致服务端抛出500给前端 让搞前端的哥们抱怨我心里着实不爽 前前后后折腾了近半个小时才得于解决 今天就做个笔记 以免日后又犯这个错误 好了 错误是这样的 org springfram
  • Linux环境下 sonar、sonar-scanner、cppcheck配置并汉化

    所需安装包以及插件 我的文件夹如下 文件最好按我的方式存放 以免后面修改路径 下载文件并复制到Linux环境 下载以上所有文件 下载链接 链接 https pan baidu com s 1WUYqFg1MEqVEzbb sn49Ig 提取
  • 数据分析师收藏:关于数据挖掘你想了解的都在这

    随着计算机技术的革新和网络媒体的快速发展 人们的生活以及企业发展进入了高速信息数字化时代 每天的生活以及生产都要产生大量的数据 例如交通 网络 文字 方位等 但是人们很少能够意识到这些丰富数据中隐藏了有价值的信息 什么是数据挖掘 2009年
  • 线性回归与逻辑回归的区别

    因 直 线 一 线性回归与逻辑回归的区别 1 线性回归要求因变量服从正态分布 logistic回归对变量分布没有要求 2 线性回归要求因变量 Y 是连续性数值变量 而logistic回归要求因变量是分类型变量 3 线性回归要求自变量和因变量
  • 动态代理及实现

    反射中Method方法 jdk动态代理 1 InvocationHandler接口 通俗来讲 InvocationHandler接口表示你的代理要干什么 做什么事 2 Method类 method invoke 此invoke和Invoca
  • 按键控制蜂鸣器实验

    实验任务 本节实验任务是使用领航者上的PL KEY0按键来控制蜂鸣器发声 初始状态为蜂鸣器鸣叫 按下按键后蜂鸣器停止鸣叫 再次按下开关 蜂鸣器重新鸣叫 模块示意图 按键消抖 通常我们所使用的开关为机械弹性开关 当我们按下或松开按键时 由于弹
  • Python项目实战:将3D灰度图像转换为3D彩色图像

    文章目录 3D GRAY to 3D RGB 使用颜色映射的方式 将灰度值映射到彩色空间中的特定颜色 一 多维数组 10x12x14 channel重复 在RGB中 将 灰度图 分别赋值给 R G B图 显示彩色图 channel叠加1 将
  • RCE——命令执行漏洞

    命令执行漏洞介绍 应用程序有时需要调用一些执行系统命令的函数 如在PHP中 以下函数 system system 执行shell命令也就是向dos发送一条指令 exec exec 方便的PHP函数发送一个字符串供操作系统的命令行处理 she
  • Nginx快速入门&&部署前端项目

    目录 一 Nginx简介 1 1 负载均衡 演示 1 1 2 安装nginx 再复制一份一样的tomcat并修改端口号 打开两个tomcat的服务 打开防火墙中的8081端口 修改Nginx配置 重启Nginx服务 让配置生效 1 2 反向
  • 将Win10包含中文的用户名改为英文的,同时解决Anaconda navigator无法运行jupyter的问题

    Win10用户名包含中文字符导致无法在Anaconda navigator直接运行jupyter的问题 本篇文章内容包含 WIN10如何修改 C Users 用户名 中的用户名 执行1后 也就是用户名修改为英文名后 在Anaconda na
  • 【CSUR-IG】OpenHarmony啃论文俱乐部--我在ACM Survey阅读计算机综述,看到了卷54第八期十六篇:自动编程提示生成概览:HINTS 框架

    本文出自ACM技术洞察研究团队 CSUR IG Computing Surveys Interest Group 成员 深圳大学大三学生 中原工学院研一学生 中原工学院研一学生 安阳工学院大三学生 南通科技学院大三学生 我们是来自4个地方的