论文标题

检查您的(学生)的证明与孔

Check Your (Students') Proofs-With Holes

论文作者

Renz, Dennis, Schwarz, Sibylle, Waldmann, Johannes

论文摘要

CYP(检查您的证明)(Durner and Noschinski 2013; Traytel 2019)验证了有关Haskell类似程序的证据。我们将CYP扩展到了用于程序和证明术语以及类型检查器的模式匹配器。 这允许使用CYP进行自动分级练习,在该练习中,目标是完成教师部分给出的程序和证明,作为孔。由于这允许程序中的漏洞,因此类型检查变得至关重要。以前,CYP假设该程序是由类型正确的讲师编写的,因此省略了对证明的类型检查。 CYP优​​雅地处理不完整的学生提交。它暂时接受孔,并完全检查完整的子树。 我们提出了基本的设计决策,对实施做出了一些评论,并包括了最近的课程中使用CYP作为莱比锡自动工具自动分级系统的一部分的示例练习。

Cyp (Check Your Proofs) (Durner and Noschinski 2013; Traytel 2019) verifies proofs about Haskell-like programs. We extended Cyp with a pattern matcher for programs and proof terms, and a type checker. This allows to use Cyp for auto-grading exercises where the goal is to complete programs and proofs that are partially given by the instructor, as terms with holes. Since this allows holes in programs, type-checking becomes essential. Before, Cyp assumed that the program was written by a type-correct instructor, and therefore omitted type-checking of proofs. Cyp gracefully handles incomplete student submissions. It accepts holes temporarily, and checks complete subtrees fully. We present basic design decisions, make some remarks on implementation, and include example exercises from a recent course that used Cyp as part of the Leipzig Autotool auto-grading system.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源