[发明专利]一种面向编程初学者的个性化智能辅导方法在审
申请号: | 202111395652.6 | 申请日: | 2021-11-23 |
公开(公告)号: | CN114092288A | 公开(公告)日: | 2022-02-25 |
发明(设计)人: | 吴文峻;梁堉;武丽莎;韩勇 | 申请(专利权)人: | 北京航空航天大学 |
主分类号: | G06Q50/20 | 分类号: | G06Q50/20;G09B19/00 |
代理公司: | 北京永创新实专利事务所 11121 | 代理人: | 易卜 |
地址: | 100191*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 面向 编程 初学者 个性化 智能 辅导 方法 | ||
1.一种面向编程初学者的个性化智能辅导方法,其特征在于,具体步骤为;
首先,针对某个题目,将每个初学者提交的编程作业程序,按正确答案和错误答案分为两类;将每个作业程序按照是否包含控制语句和循环语句,以块为粒度进行划分;
然后,将题目对应的测试样例输入到各作业程序中,得到每份作业程序中块的变量值,组合起来构成各作业对应的变量执行轨迹;
针对正确答案,逐个选择各自对应的变量执行轨迹,判断是否满足匹配条件,如果是,则将所有匹配的作业程序聚为一类,反之,不匹配的作业程序单独归类;从每个类中随机选择一个作业程序作为模板,组成模板集合用于对错误程序的局部进行修复;
针对错误答案,将当前错误作业程序S中的变量执行轨迹,与从模板集合中逐个选择出的正确的变量执行轨迹进行匹配,得到程序S中匹配的正确变量和不匹配的错误变量;将程序S的错误变量与模板集合中当前正确变量执行轨迹中的所有变量,采用笛卡尔积生成映射关系集合;计算每一个映射关系对应的修复代价;从所有修复代价中选择满足变量匹配完全一致且代价值最小的映射关系,将正确变量执行轨迹中的正确变量对应到错误程序S对应的变量上,使用正则表达式将修复操作对应到编程知识点上,完成最终的修复反馈生成;
最后,构建联合因子模型,实现对学生的编程学习状态进行评估,并预测学生在下一题的答题结果。
2.如权利要求1所述的一种面向编程初学者的个性化智能辅导方法,其特征在于,所述的以块为粒度对各作业程序进行划分的规则具体如下:
i.不存在循环语句和选择语句,为整体的一块,不做划分;存在选择语句,但不嵌套循环语句,选择语句作为整体的一块,不做划分,每个块表示为{L:0};
ii.单层循环语句,作为单独的块,表示为{L:1};
iii.如果选择语句中嵌套循环语句,整体作为单独的块,表示为{L:1};
iv.多层嵌套循环,每一层都是单独的块;循环块L1中嵌套循环块L2,表示为{L1:{L2:1}}。
3.如权利要求1所述的一种面向编程初学者的个性化智能辅导方法,其特征在于,所述的两份变量执行轨迹的匹配条件,需同时满足以下:
i.两份变量执行轨迹中块的数量是否相同,以及控制语句和循环结构语句是否相同;
ii.两份变量执行轨迹中变量的数量是否相同;
iii.两份变量执行轨迹是否一一对应。
4.如权利要求1所述的一种面向编程初学者的个性化智能辅导方法,其特征在于,所述的对正确答案进行聚类的过程如下:
首先、初始随机选择两个变量执行轨迹,判断是否满足匹配条件,如果是,将这两个匹配的作业程序归为一类;否则,这两个对应的作业程序分别各自为一类;
然后,继续选择第三个变量执行轨迹,针对匹配的两个作业程序,将第三个变量执行轨迹与任选一个进行匹配,判断是否满足匹配条件,如果是,归为该类中,否则,第三个变量执行轨迹单独归为一类;
针对不匹配的两个作业程序,将第三个变量执行轨迹逐个与该两个进行匹配,重复判断是否满足匹配条件,将满足匹配的归为一类,否则,三个都各自成为一类;
依次选择下一个变量执行轨迹,重复上述过程,直至将所有作业的变量执行轨迹匹配完毕。
5.如权利要求1所述的一种面向编程初学者的个性化智能辅导方法,其特征在于,所述的修复代价是指:将错误代码片段a修改成b所需要执行的动作大小;
本发明采用将程序片段转化为抽象语法树,基于树的结构计算树编辑距离Distance(a,b)作为修复代价,计算公式为:
Distance(a,b)=Sq+Iq+Dr
Sq为两个抽象语法树的节点修改次数,Iq为两个抽象语法树的节点插入操作次数,Dr为两个抽象语法树的节点删除操作次数。
6.如权利要求1所述的一种面向编程初学者的个性化智能辅导方法,其特征在于,所述的联合因子模型是依据学生的答题表现,将所有知识点的掌握情况和难度线性相加,来预测学生答题概率;答题正确的概率pij的计算公式如下:
Yij表示学生i答对题目j的概率;θi表示学生i在答题前对题目的掌握程度;βk表示知识点k的轻松程度,γk表示知识点k的学习率,qjk表示题目j是否包含知识点k,包含为1,不包含为0;cik表示学生i在知识点k上的实际表现,Tik表示学生i在知识点k上的尝试次数,γk和Tik相乘表示每尝试一次,学生对知识点k的掌握程度更高;K表示编程题目中总计的知识点个数;
通过对联合因子模型的参数θi,β,γ进行优化,学生的下一题输入优化后的联合因子模型中,进行该题的结果预测。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航空航天大学,未经北京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111395652.6/1.html,转载请声明来源钻瓜专利网。