Block-based programming environments are increasingly used to introduce computing concepts to beginners. However, novice students often struggle in these environments, given the conceptual and open-ended nature of programming tasks. To effectively support a student struggling to solve a given task, it is important to provide adaptive scaffolding that guides the student towards a solution. We introduce a scaffolding framework based on pop quizzes presented as multi-choice programming tasks. To automatically generate these pop quizzes, we propose a novel algorithm, PQuizSyn. More formally, given a reference task with a solution code and the student's current attempt, PQuizSyn synthesizes new tasks for pop quizzes with the following features: (a) Adaptive (i.e., individualized to the student's current attempt), (b) Comprehensible (i.e., easy to comprehend and solve), and (c) Concealing (i.e., do not reveal the solution code). Our algorithm synthesizes these tasks using techniques based on symbolic reasoning and graph-based code representations. We show that our algorithm can generate hundreds of pop quizzes for different student attempts on reference tasks from Hour of Code: Maze Challenge and Karel. We assess the quality of these pop quizzes through expert ratings using an evaluation rubric. Further, we have built an online platform for practicing block-based programming tasks empowered via pop quiz based feedback, and report results from an initial user study.


翻译:块编程环境越来越被用于向初学者介绍计算机概念。然而,由于编程任务的概念性和开放性,新手学生通常无法很好地应对这些环境。为了有效地支持正在努力解决特定任务的学生,提供引导学生到达解决方案的自适应脚手架十分重要。我们介绍了一个基于流行测验的脚手架框架,这些流行测验以多项选择编程任务的形式呈现给学生。为了自动生成这些流行测验,我们提出了一种新算法PQuizSyn。更正式地说,给定一道具有解决方案代码的参考任务和学生当前尝试,PQuizSyn会综合新任务以用作流行测验,并具备以下特征:(a)自适应(即个性化学生当前尝试),(b)可理解(即易于理解和解决),(c)隐含(即不显示解决方案代码)。我们的算法使用基于符号推理和基于图的代码表示技术来综合这些任务。我们展示了我们的算法可以生成来自Code Hour的Maze Challenge和Karel参考任务的数百个针对不同学生尝试的流行测验。我们通过专家评分使用评估标准来评估这些流行测验的质量。此外,我们已经构建了一个在线平台,通过流行测验的反馈赋能块编程任务的练习,并报告了一项初始用户研究结果。

0
下载
关闭预览

相关内容

人们为了让计算机解决各种棘手的问题,使用编程语言 编写程序代码并通过计算机运算得到最终结果的过程。
【MIT Sam Hopkins】如何读论文?How to Read a Paper
专知会员服务
105+阅读 · 2022年3月20日
代码重构:面向单元测试
阿里技术
0+阅读 · 2022年7月29日
RoBERTa中文预训练模型:RoBERTa for Chinese
PaperWeekly
57+阅读 · 2019年9月16日
基于PyTorch/TorchText的自然语言处理库
专知
28+阅读 · 2019年4月22日
自然语言处理常见数据集、论文最全整理分享
深度学习与NLP
11+阅读 · 2019年1月26日
逆强化学习-学习人先验的动机
CreateAMind
15+阅读 · 2019年1月18日
Unsupervised Learning via Meta-Learning
CreateAMind
42+阅读 · 2019年1月3日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
【推荐】自然语言处理(NLP)指南
机器学习研究会
35+阅读 · 2017年11月17日
自然语言处理 (NLP)资源大全
机械鸡
35+阅读 · 2017年9月17日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
1+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
1+阅读 · 2011年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
Arxiv
0+阅读 · 2023年5月18日
Arxiv
0+阅读 · 2023年5月11日
VIP会员
相关VIP内容
【MIT Sam Hopkins】如何读论文?How to Read a Paper
专知会员服务
105+阅读 · 2022年3月20日
相关资讯
代码重构:面向单元测试
阿里技术
0+阅读 · 2022年7月29日
RoBERTa中文预训练模型:RoBERTa for Chinese
PaperWeekly
57+阅读 · 2019年9月16日
基于PyTorch/TorchText的自然语言处理库
专知
28+阅读 · 2019年4月22日
自然语言处理常见数据集、论文最全整理分享
深度学习与NLP
11+阅读 · 2019年1月26日
逆强化学习-学习人先验的动机
CreateAMind
15+阅读 · 2019年1月18日
Unsupervised Learning via Meta-Learning
CreateAMind
42+阅读 · 2019年1月3日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
【推荐】自然语言处理(NLP)指南
机器学习研究会
35+阅读 · 2017年11月17日
自然语言处理 (NLP)资源大全
机械鸡
35+阅读 · 2017年9月17日
相关基金
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
1+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
1+阅读 · 2011年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
Top
微信扫码咨询专知VIP会员