About the Project
Given that compilers and LL(1) grammars are very specific and advanced topics, there are not enough adequate resources for students to practice these concepts. This project was created by a group of undergraduate UCLA students for the course Computer Science 130: Software Engineering with the objective of developing a web application that will provide students with the means to learn more about LL(1) grammars and practice using randomized questions through a tailored experience based on performance on previous questions.
The biggest advantage that our application provides over other existing online teaching tools is that the grammars and question are not manually human written, but rather by computer generation. We implement the logic to generate LL(1) grammars, associated questions, and the correct answers. We also collect user performance, and tailor the questions offered to help users practice and improve upon their weaknesses.