Skip to content
This repository has been archived by the owner on Feb 19, 2025. It is now read-only.

Supplementary materials for "Relational Database Courses with CodeRunner in Moodle: Extending SQL Programming Assignments to Client-Server Database Engines"

License

Notifications You must be signed in to change notification settings

andre-wojtowicz/coderunner-sql-sigcse2025

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Relational Database Courses with CodeRunner in Moodle: Extending SQL Programming Assignments to Client-Server Database Engines

Conference Badge DOI

Authors: Andrzej Wójtowicz, Maciej Prill

@inbook{10.1145/3641554.3701830,
    author = {Wójtowicz, Andrzej and Prill, Maciej},
    title = {Relational Database Courses with CodeRunner in Moodle: Extending SQL Programming Assignments to Client-Server Database Engines},
    year = {2025},
    isbn = {9798400705311},
    publisher = {Association for Computing Machinery},
    address = {New York, NY, USA},
    url = {https://doi.org/10.1145/3641554.3701830},
    doi = {10.1145/3641554.3701830},
    booktitle = {Proceedings of the 56th ACM Technical Symposium on Computer Science Education V. 1},
    pages = {1239–1245},
    numpages = {7},
    abstract = {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.}
}

Description

This repository contains the code accompanying the research paper presented at the SIGCSE conference in 2025. The paper is available in the ACM Digital Library in Open Access.

Servers config

LMS server:

Grading server:

Repository

The repository is organized as follows:

  • mssql-shared/ - files and instructions for Microsoft SQL Server,
  • mysql-shared/ - files and instructions for MySQL,
  • postgresql-shared/ - files and instructions for PostgreSQL.

In each directory, there are the following files:

  • INSTALL.md with instructions to run on the grading server,
  • requirements.txt with Python pip modules,
  • *.xml with question prototype and sample questions to import in Moodle course (it is best to familiarize yourself with sample questions by adding them directly to the quiz later),
  • README.md with a description of the prototype (it is also available in Moodle question editor in the "Question type details" section).

Demo

Watch the video on YouTube.

Watch the video

About

Supplementary materials for "Relational Database Courses with CodeRunner in Moodle: Extending SQL Programming Assignments to Client-Server Database Engines"

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages