Relational Algebra Compiler and Exercises

Image of Paul Ward
 
Image of Huan-Yi Chen

Project Team

Paul Ward, Electrical and Computer Engineering

Huan-Yi Chen, Electrical and Computer Engineering (Research Assistant)

Project Summary

Relational-database systems are taught in multiple departments and faculties, notably in ECE 356, CS 348, CS 338, and MSCI 245, as well as in universities and colleges across the world. It is an essential computer technology.  Relational Algebra (RA) is the foundational query language for such systems.  Unfortunately, there is no good RA tool that allows students learning RA to practice and check their work.  It is a pen-and-paper exercise with manual grading, which is both difficult and time consuming.  Feedback is slow, which frustrates students as they do not know whether their understanding is correct.

This project is intended to remedy this deficiency by doing the following:

  1. Create a relational-algebra compiler
  2. Integrate the RA compiler with the current auto-grader system
  3. Create RA exercises and associated auto-grading so students can practice RA

The result should be deeper student understanding of relational algebra.

References

Date, C.J. and Darwen, H. (2006). Databases, Types, and The Relational Model: The Third Manifesto. Addison-Wesley.

Karpova, O. et al. (2015). RAPT: Relational Algebra Parsing Tools. Proceedings of the 2015 ACM Conference on Innovation and Technology in Computer Science Education (p. 334). New York, NY, USA: Association for Computing Machinery.