Blogs (1) >>

Students practice Data Query, Manipulation, and Definition Language statements in a standard introductory relational database course. When teaching large classes, the teacher needs to review many student solutions. Doing it by hand is laborious. However, this task can be quickly and accurately completed using a learning management system (LMS). Moodle is a widely used LMS that can be enhanced with the CodeRunner plugin to facilitate the evaluation of programming tasks. Unfortunately, a basic setup supports only the embedded database engine SQLite, which often is not the preferred choice for a course of this type. We present an open-source implementation that extends CodeRunner with popular client-server database engines, i.e., Microsoft SQL Server, MySQL, and PostgreSQL. Our method checks the correctness of a student’s query in terms of output and validates the query by investigating the parse tree derived from the grammar of a given Structured Query Language (SQL) dialect. We present the system’s evaluation results during a database course along with the implementation.