软件基础 - 自动评分
Software Foundations - automatic grading
为了学习Coq, I downloaded Benjamin Pierce's ebook Software Foundations from here,提取了内容。我现在开始完成 Basics.v
中的练习,方法是直接在 Vim.
中编辑文件
我想自动为我的答案评分(例如,根据时间跟踪我的分数)。
为此,我 运行 coqc
按照 Makefile
中给出的顺序对每个 .v
文件进行了处理。因此,我是 now able to invoke,例如coqtop -batch -l BasicsTest.v
.
但是,虽然这会报告该章节的可用分数,但不会报告我的分数。 (我正在阅读本章的中途,并且相信我到目前为止的答案是正确的,因为 coqtop -batch -l Basics.v
执行时没有错误。)
我怀疑我忽略了 Make 或 Coq 的调用,它们会为我目前的答案生成分数。如果有,那是什么?
BasicsTest.v
不会在当前版本的 Software Foundations 中生成成绩。您可以单步执行它并查看它的作用:它只是完成练习,执行一些基本检查并报告它们的结果。但是,不会根据这些检查的结果生成分数。
如果您的定义和证明是完整的(例如,不是 Admitted
)并且 Coq 的类型检查器接受它们,您可以有理由相信答案是正确的,除非您的开发中的某些东西破坏了 Coq 逻辑的一致性(在这个早期阶段不太可能)或者你偶然发现了一个错误(也极不可能)。
自动评分器当前不完整。我们希望在接下来的几个月内完成它,并在完成时提供。但正如 Rob 所说,它实际上并没有告诉你比当前测试版中 运行 BasicsTest.v 得到的更多信息。
2018 年 12 月更新:自动分级机已完成。我们还没有为 public 分发打包它(除了像 BasicsTest.v 这样的实际测试文件),但我们很高兴向想要使用的讲师提供对 Git 存储库的访问权限它。
为了学习Coq, I downloaded Benjamin Pierce's ebook Software Foundations from here,提取了内容。我现在开始完成 Basics.v
中的练习,方法是直接在 Vim.
我想自动为我的答案评分(例如,根据时间跟踪我的分数)。
为此,我 运行 coqc
按照 Makefile
中给出的顺序对每个 .v
文件进行了处理。因此,我是 now able to invoke,例如coqtop -batch -l BasicsTest.v
.
但是,虽然这会报告该章节的可用分数,但不会报告我的分数。 (我正在阅读本章的中途,并且相信我到目前为止的答案是正确的,因为 coqtop -batch -l Basics.v
执行时没有错误。)
我怀疑我忽略了 Make 或 Coq 的调用,它们会为我目前的答案生成分数。如果有,那是什么?
BasicsTest.v
不会在当前版本的 Software Foundations 中生成成绩。您可以单步执行它并查看它的作用:它只是完成练习,执行一些基本检查并报告它们的结果。但是,不会根据这些检查的结果生成分数。
如果您的定义和证明是完整的(例如,不是 Admitted
)并且 Coq 的类型检查器接受它们,您可以有理由相信答案是正确的,除非您的开发中的某些东西破坏了 Coq 逻辑的一致性(在这个早期阶段不太可能)或者你偶然发现了一个错误(也极不可能)。
自动评分器当前不完整。我们希望在接下来的几个月内完成它,并在完成时提供。但正如 Rob 所说,它实际上并没有告诉你比当前测试版中 运行 BasicsTest.v 得到的更多信息。
2018 年 12 月更新:自动分级机已完成。我们还没有为 public 分发打包它(除了像 BasicsTest.v 这样的实际测试文件),但我们很高兴向想要使用的讲师提供对 Git 存储库的访问权限它。