个性化统计类的在线作业

时间:2011-12-18 20:27:54

标签: python ruby-on-rails ruby r r-exams

我教授本科统计学,并且对管理个性化在线作业感兴趣。我已经使用latex/markdown解决了谜题的一部分,即使用knitr/sweave + seeds生成问题的多个版本。

我现在有兴趣开发一个基于网络的系统,该系统将使用生成的各种版本,并在线为每个学生管理不同的版本。我查看了几个与表单相关的网站(google docswufooformsite等),但没有一个网站允许以编程方式创建问卷。

我用R标记这个,因为这是我最熟悉的语言,并且是解决问题第一部分的关键。我知道R有几个基于Web的框架,并且想知道它们中是否有适合这项工作。

我不反对RubyPython等其他语言的解决方案。但关键考虑因素是以编程方式提供在线作业的能力。我知道像WebWork这样的工具,但它们需要使用Perl,并且接口通常非常笨重。

如果您认为我错过了更合适的框架,请随意为帖子添加标签。

EDIT。让我通过举个例子说清楚。目前,如果我想在线管理作业,我只需创建一个Google表格,将链接发送给我的学生,并在电子表格中收集所有回复,并自动评分。如果我只有一个版本的作业,这是有效的。

我的问题是,如果我想为每个学生管理不同版本的作业,并收集他们的回答,我该怎么做?

4 个答案:

答案 0 :(得分:9)

您提出问题的方式并不十分清楚为什么您必须在线标记学生的在线。特别是因为你说你使用sweave生成作业。如果使用R生成(随机化)问题,那么你必须使用R来标记它们(或输出数据集)。

对于我的课程,我使用了几种策略。

  1. 对于年终考试(约500名学生),每位学生都会获得一个独特的数据集。学生们登录到一个简单的网站(我们使用黑板,因为大学已经设置了它)。所有学生都回答相同的问题,但使用他们自己独特的数据集。例如,“是什么意思”。使用R脚本将答案标记为脱机。

  2. 在我的入门R课程中,学生们上传了他们的R功能,然后我开始运行并将它们标记为离线。我使用sweave为每个学生生成一个独特的pdf。他们的pdf显示他们失去了分数。例如,他们没有使用正确的命名参数。

  3. 将简单的网络表单与离线标记相结合,可以提供很大的灵活性,而且非常简单。

答案 1 :(得分:2)

我找到了一个可能使用RGoogleDocs包的解决方案。我发布这个作为答案只是因为它很长。我仍然对更好的方法感兴趣,因此会将问题保持开放。

这是这个想法的要点,但仍未经过测试。

  1. 使用knitr/Sweave创建每个作业的多个版本。
  2. 使用GoogleDocs将其上传至uploadDoc
  3. 使用修改访问控制的setAccess为每位学生分享一份文档。
  4. 创建一个通用的Google表单,以便为每位学生捕获最终答案。
  5. 我看到的优势是双重的。其一,由于所有最终答案都会在电子表格中捕获,我可以使用R访问它们并自动评分。第二,由于我可以访问Google Docs上所有已完成的作业,因此我可以浏览它们并根据需要提供个人评论(或者让我的一些TA做到这一点)。

    我会提供更新,如果我设法使其工作,甚至可能创建一个R包,如果它对其他人有用。

答案 2 :(得分:2)

我知道这是很久以前的问题,但我认为今天最好的解决方案是包装考试和Moodle。

包考试现在可以生成XML Moodle问题,可以上传到Moodle平台,因为学生可以在线解决练习。

这是一个使用考试包并上传到Moodle的问题的示例。

enter image description here

答案 3 :(得分:0)

我偶然发现R:Link to the CRAN site中的?exams包。这可能适合你吗?

相关问题