技术文章和新闻稿

MATLAB程序设计课程作业自动评分

Duarte Guerreiro Tomé Antunes,埃因霍温科技大学


当我开始教学时最优控制与动态规划用matlab.®在埃因霍温理工大学(TU/e),我预计班级规模约为40人。令我惊讶的是,有150名学生报名。起初我很高兴,但我很快意识到这门课的受欢迎带来了一个严重的问题:我只有两个助教。那个学期,一位助理几乎把所有时间都花在了评分上;他花了三天时间测试学生们的MATLAB代码,并记录了单个作业的成绩。

下次我教导课程时,我们使用Cody PriscorWork™自动级分配。这种方法显着改善了学习结果。它使教学助理能够花更多的时间与学生直接工作,激励学生通过为他们的工作提供即时反馈,并展示了学生学习的概念以及他们需要帮助的概念。

用MATLAB教授最优控制与动态规划

一些教师教授最佳的控制和动态规划,重点强调数学 - 特别是对髓叉素的最大原则。其他人绕过数学并直接进入应用程序。我试图找到一个平衡,但我大家都赞成后一种方法,因为TU / E是一所技术大学,我们的学生通常更喜欢抽象理论的实际应用。

MATLAB让我在理论和实践之间找到了平衡点。学生在课堂上学习概念,然后在MATLAB中实现和测试。例如,他们在MATLAB中通过数值方法求解两点边值问题,学习如何应用庞特里亚金极大值原理。学生需要的许多其他函数都内置到MATLAB中;例如,当他们想要使用线性二次调节器(LQR)或卡尔曼滤波器时,他们可以简单地从脚本中调用它,而不必自己执行它。动态规划和决策问题,如为出售资产生成最优策略,很容易在MATLAB中编码。

虽然我的学生来自各种背景,但大多数都进入了已经熟悉MATLAB的课程。在课程进展方面,少数不知道Matlab的转移学生很容易学会;他们缺乏以前的经历从来都不是障碍。

自动评分作业与科迪课程作业

向课堂介绍Cody课程很简单。我为学生提供了一些关于如何提交解决方案的提示;金宝搏官方网站不需要冗长的培训课程。

对于三个课程任务中的每一个,学生编程Matlab函数以解决特定问题。当学生认为他们所写的功能是正确的,他们将它们提交给Cody课程进行分级。Cody课程作业使用我的教学助理和我创建的测试套件自动评级作业,然后提供关于解决方案的正确性的即时反馈。学生可以自由重新提交解决方案,直到他们对他们的成绩感到满意。金宝搏官方网站

在离散优化的第一个任务中,证明了相对容易。第二个关于近似动态编程,更具挑战性,因为没有最佳解决方案。这意味着学生必须尝试许多次优策略,包括模型预测控制,卷展览和确定性等效控制。在这项任务上,学生来欣赏即时分级的价值。如果他们提交了一个不正确的解决方案,他们可以返回他们的代码,以寻找改善它的方法,而无需等待咨询我或教学助理。

在最后的作业中,学生被要求调整LQR控制器的矩阵以满足特定的约束集。再次,他们使用Cody Coursework立即检查他们的解决方案,并继续完善它们,直到它们满足需求。金宝搏官方网站我和助教们依靠Cody Coursework给作业评分,并提供结果总结,我们用它来监控进度(图1)。

图1.第二分配问题Cody课程结果的结果摘要。

自动评分的意外好处

我使用Cody Coursework的主要目的是尽量减少助教批改作业的时间。我发现科迪课程还有其他好处。

对任务的即时反馈被证明是一个重要的激励因素。看到自己的同学成功地完成了一项作业,这表明它是可以完成的,并激励那些正在努力坚持下去的学生。另一方面,更容易掌握材料的学生相互竞争,第一个找到正确答案。

我和我的助教监控了Cody Coursework的结果,以跟踪正确和不正确的答案,答案提交的时间,以及提交的数量,金宝搏官方网站用代码行数来衡量(图2)。我们使用这些信息来识别学生觉得困难的概念,以便稍后在课堂上复习这些概念。

图2。科迪课程解决方案地图,显示正确和不正确的学生提交的解决方案,以及他们的大小和到达顺序。金宝搏官方网站

我们设计了CODY课程使用的测试来检查学生工作的逐步更复杂的方面。例如,在结合成本函数的问题上,我们创建了一个无终端成本的测试,并且一个具有终端成本的测试。考虑终端成本的学金宝搏官方网站生解决方案将通过两个测试,而那些并没有通过第一个测试。我们还使用了可见的测试(其中正确的输出到显示的测试)和隐藏的测试(其中测试仅显示代码是否正确或不正确)。这一粒度水平提供了更公平的方式来分配成绩并帮助我们帮助我们更好地了解学生如何吸收材料。

扩大Cody课程的使用

对于课程的未来版本,我正在考虑使用Cody课程来自动化考试分级。我也开放,使课程更加互动。例如,如果学生没有掌握特定概念,我可以添加额外的,以前没有计划的分配。如果没有自动评分,就像在教学助理上所需的时间一样,这样的苍蝇添加另一个分配是不可行的。

与此同时,我主张扩大科迪课程在理工学院的使用。正如我的一些同事已经发现的,对于任何使用MATLAB的课程来说,Cody Coursework都是一个非常有效的工具,可以节省时间和工作,并让学生充分参与到课程作业中。

注:Cody Coursework于2018年7月成为MATLAB评分员。

学生的反馈

学生对Cody课程作业的反馈是绝大多数积极的。以下是我们收到的响应的样本:

“事实上,你可以在一段相当复杂的代码上获得即时反馈(或确认),这确实是一件很棒的事情,如果没有它,调试你自己的代码将会是一团糟。这也激励我在所有MATLAB作业中获得100%的分数。”Joost P。

“Cody课程是一个很棒的平台。它让我对解决方案的信心,而不是等待教师评估。“Manoj P.

我在Cody Coursework的经历非常积极。绿色复选框是获得高分的额外动力。”柯恩B。

“Cody Coursework最有用的特性是能够根据各种测试用例检查我们的解决方案,这有助于调试我们的代码,并以一种更一般化的方式将其公式化。”金宝搏官方网站Amrith V

“我喜欢你能立即收到反馈,这让你更容易发现代码中的问题……在较短的时间内,我从MATLAB作业中学到了很多。”路德。

关于作者

Duarte Guerreiro Tomé Antunes是埃因霍温理工大学的助理教授。他获得了里斯本高等学院Técnico (IST)的电子和计算机工程执照。他拥有IST系统与机器人研究所的博士学位。他的研究兴趣包括网络控制系统,随机控制,多速率和采样数据系统,优化和动态规划。

发布于2016 - 93065v00

查看相关功能的文章