Edit Based Grading of SQL Queries

12/19/2019
by   Bikash Chandra, et al.
0

Grading student SQL queries manually is a tedious and error-prone process. Earlier work on testing correctness of student SQL queries, such as the XData system, can be used to test correctness of a student query. However, in case a student query is found to be incorrect there is currently no way to automatically assign partial marks. Partial marking is important so that small errors are penalized less than large errors. Manually awarding partial marks is not scalable for classes with large number of students, especially MOOCs, and is also prone to human errors. In this paper, we discuss techniques to find a minimum cost set of edits to a student query that would make it correct, which can help assign partial marks, and to help students understand exactly where they went wrong. Given the limitations of current formal methods for checking equivalence, our approach is based on finding nearest query, from a set of instructor provided correct queries, that is found to be equivalent based on query canonicalization. We show that exhaustive techniques are expensive, and propose a greedy heuristic approach that works well both in terms of runtime and accuracy on queries in real-world datasets. Our system can also be used in a learning mode where query edits can be suggested as feedback to students to guide them towards a correct query. Our partial marking system has been successfully used in courses at IIT Bombay and IIT Dharwad.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
02/10/2021

SQLRepair: Identifying and Repairing Mistakes in Student-Authored SQL Queries

Computer science educators seek to understand the types of mistakes that...
research
04/09/2019

Explaining Wrong Queries Using Small Examples

For testing the correctness of SQL queries, e.g., evaluating student sub...
research
02/06/2018

Axiomatic Foundations and Algorithms for Deciding Semantic Equivalences of SQL Queries

Deciding the equivalence of SQL queries is a fundamental problem in data...
research
04/08/2022

Efficient Partial Credit Grading of Proof Blocks Problems

Proof Blocks is a software tool which allows students to practice writin...
research
03/09/2022

CUBES: A Parallel Synthesizer for SQL Using Examples

In recent years, more and more people see their work depend on data mani...
research
05/21/2018

Algorithms and Analysis for the SPARQL Constructs

As Resource Description Framework (RDF) is becoming a popular data model...
research
08/22/2017

The Continuous Hint Factory - Providing Hints in Vast and Sparsely Populated Edit Distance Spaces

Intelligent tutoring systems can support students in solving multi-step ...

Please sign up or login with your details

Forgot password? Click here to reset