Automatic Generation of Moodle Cloze Questions for the Assessment of Knowledge About Lexical Analysis Algorithms
Abstract
:1. Introduction
1.1. Moodle Quizzes
1.2. Lexical Analysis Terminology and Algorithms
- Union: The union combines elements from two sets to create a new set that contains all distinct elements from both sets. In formal language theory, union is used to combine languages, resulting in a language that contains all strings present in either of the original languages.
- Cartesian product: The Cartesian product uses elements of two sets to form pairs of all possible combinations. In formal language theory, the Cartesian product of two languages, also known as language concatenation, is the language that results from concatenating all strings of the first language with all strings of the second language.Repeated concatenation of the same language can be represented by a superscript that indicates the number of times the language is concatenated with itself. In this way, would represent the concatenation .
- Kleene Closure: Kleene Closure, also known as the star operation or the star closure, takes a set or language and produces a new set or language that includes all possible combinations of elements, including repetitions. In formal language theory, applying the Kleene closure to a language generates a new language containing all possible strings that can be formed by concatenating elements from the original language, including the empty string, denoted by .
- Deterministic finite automata (DFA): In a DFA, each state has exactly one transition for every input symbol, ensuring deterministic behavior. This means that, given the current state and an input symbol, the next state is uniquely determined. At any point in time, the DFA can only be in a single state. If, after reading the entire input string, the DFA is in a final state, the string is accepted by the automaton, meaning that it belongs to the regular language recognized by the DFA. Simulating a DFA to recognize strings belonging to a regular language is very efficient (linear complexity in the size of the string), but the size of the DFA can be prohibitive, potentially becoming exponential in the length of the regular expression.
- Nondeterministic finite automata (NFA): In an NFA, for a state and input symbol, there can be multiple transitions to different states or even -transitions (transitions that can be followed without reading any symbol from the input). This non-deterministic behavior allows for more flexibility in handling transitions. On the other hand, this non-determinism is as if the automaton could have several active states at any given moment. The acceptance of a string occurs when, after completing its reading, a final state is found among the potentially active states, verifying at this moment that the string belongs to the regular language recognized by the NFA. The recognition of regular languages with NFAs is less efficient than the use of DFAs, since the simulation of NFAs has a complexity that is proportional to the product of the length of the string times the length of the regular expression, but they have in their favor that their size does not have a worse case as bad as the DFAs; in fact, their spatial complexity is linear in the size of the regular expression.
- The algorithm proposed by McNaughton, Yamada, and Thompson (McNaughton & Yamada, 1960): This algorithm constructs an NFA from a regular expression by recursively analyzing its constituent parts (sub-expressions). It creates an NFA for each sub-expression and combines them using -transitions, taking into account the operator that joins them. In the base case, the sub-expression is a symbol or epsilon, and the NFA will have only two states, an initial state joined to the final state with a transition labeled with the symbol or epsilon. Now, if two regular expressions, and , are combined, for which the corresponding NFAs are already available, and , the new NFA will be constructed combining these using -transitions and adding new states, or merging existing ones in some cases, according to the rules shown in Figure 5.
- The power-set construction algorithm (Rabin & Scott, 1959): This method allows the transformation of an NFA into a DFA. Since the NFA has a finite number of states, the possible combinations of active states will also be finite (some of these combinations may not occur in practice due to the transition function structure). The idea is to associate each state in the DFA with each of these combinations of states in the NFA and build a transition function that reflects how these combinations change in the original NFA. It is as if the behavior of the NFA was “simulated” with the DFA. Combining the McNaughton, Yamada, and Thompson algorithm (MYT) with the power-set construction algorithm, it is possible to obtain a DFA from a regular expression.
- Lastly, PLQuiz implements the algorithm described by Aho, Sethi, and Ullman in “the dragon book” (Aho et al., 1986) (ASU) to create a DFA from the regular expression, eliminating the need for an NFA. This approach uses the syntax tree representation of a regular expression to compute in sequence several functions that capture essential properties of the regular expression:
- –
- The function nullable determines if a sub-expression can match an empty string. It is true for leaf nodes and closure nodes. For concatenation nodes, it is true if both children are nullable, and for selection nodes, if any child is nullable.
- –
- The functions first-pos and last-pos identify the positions where sub-expression strings can start and end, respectively. For leaf nodes, they hold the position of the symbol at the leaf or an empty set for leaves with . For selection nodes, they are the union of the corresponding values of their children. For Kleene closure nodes, they inherit the values of their children for the corresponding function. And for concatenation nodes, first-pos is just first-pos of its left child if it is not nullable, or the union of its children’s values if the left child is nullable. The determination of last-pos follows a similar logic, although now it is the nullability of the right child that has to be considered.
- –
- The function follow-pos, which is constructed only from concatenation and closure nodes, reveals positions that can follow others. In concatenation nodes, the positions in the first-pos of the right child add to the follow-pos of the positions in the last-pos of the left child. In closure nodes, the positions in the last-pos of the child add to the follow-pos of the positions in the first-pos of the child.
Finally, the follow-pos function is used to construct the DFA transition function. The states in the automaton are sets of positions, and the initial state consists of the positions in the first-pos of the root node. Now, for a state S, transitioning at symbol a leads to the state , which consists of the union of all follow-pos for positions p in S, corresponding to occurrences of a in the regular expression.
1.3. Related Works
- Libre-gift (https://github.com/clopezno/libre-gift, accessed on 7 January 2025): A LibreOffice template to create questionnaires in this word processor that are then exported to formats that can be imported from Moodle.
- MoodleQUIZ_template_UVa (https://github.com/juacas/MoodleQUIZ_template_UVa, accessed on 7 January 2025): Another template, in this case for Word, that facilitates the editing of questions that are then exported to the Moodle GIFT format.
- Moodle Cloze and GIFT Code Generator (https://hbubecc.wixsite.com/jordan/tools, accessed on 7 January 2025): A macro that allows questions to be edited using Excel and then exported into GIFT format. This tool is presented in (Svien, 2019).
- GIFT Quiz Editor (https://workspace.google.com/marketplace/app/gift_quiz_editor/1038395345285, accessed on 7 January 2025): An add-on for Google Forms that allows them to be exported to GIFT.
- Moodle-questions (https://github.com/gethvi/moodle-questions, accessed on 7 January 2025): A library for manipulating Moodle questionnaires in Python.
- Pygiftgenerator (https://gitlab.com/EHU/pygiftgenerator, accessed on 7 January 2025): Another Python library, this time specifically designed for the automatic generation of physics problems. This library is presented in (Sáenz et al., 2020).
- GIFTGenerator (https://www.giftgeneratorapp.com/, accessed on 7 January 2025): A commercial tool for generating questionnaires in GIFT format.
- Typeform (https://www.typeform.com/quizzes/, accessed on 7 January 2025): Another commercial tool to facilitate the creation of quizzes.
- R/Exams (http://www.r-exams.org, accessed on 7 January 2025): A package for the R system focused on the automatic generation of exams that can be imported into Moodle. Its development is quite active, and it has a significant user base.
- Incrustada (https://www.escinf.una.ac.cr/discretas/Archivos/Packages/Paquete_Cloze.zip, accessed on 7 January 2025): A package for Wolfram Mathematica to facilitate the automatic generation of questions and its subsequent export to Moodle. Like PLQuiz, it is focused on generating cloze-type questions (the most complex and versatile in Moodle) and also automatically generates tables if the question needs them. This package is presented in (Quesada & Herrera, 2024).
2. Materials and Methods
2.1. Overview of PLQuiz
- Application of the ASU algorithm to directly obtain a DFA from the RE. The exercises for this procedure include the following:
- –
- Identifying the syntactic tree corresponding to the RE.
- –
- Filling in the values for the nullable, first-pos, and last-pos functions at different nodes of a syntactic tree of a given RE.
- –
- Deriving the follow-pos table and the transition function of the DFA resulting from the ASU algorithm.
Figure 6 shows how these exercises are presented to the students in Moodle. - Application of the MYT algorithm first to obtain an NFA from an RE, followed by application of the subset construction algorithm to transform the NFA into a DFA. The exercises for this procedure include the following:
- –
- Identifying the NFA corresponding to the RE.
- –
- Deriving the transition function of a DFA from the transition diagram of the DFA.
- –
- Obtaining the transition function of a DFA resulting from the successive application of the MYT and subset construction algorithms.
Figure 7 shows how the exercises in this conversion approach are presented to the students in Moodle.
2.2. How to Use PLQuiz
- Menu bar (a): Located at the top; it offers standard options such as “File”, “Edit”, and “Help”.
- Left panel (b): This panel is essential for question configuration. This is where the sub-panels will appear for each question that is added to the quiz. From this panel, it is possible to control the deletion, order, and display of questions.
- Dropdown menu for question creation (c): Located at the bottom of the left panel; this menu allows users to select the type of question they want to add, and whether it is related to the ASU or MYT algorithm.
- Right panel (d): This panel will show a preview of the generated question as it will appear in the quiz.
- Add a question, using the drop-down menu at the bottom of the left panel (Figure 9c), where it is possible to select the type of problem for (ASU or MYT) for which the question will be generated. It is also possible to add these sub-panels with the last two options of the “File” menu. Each added question will have its own configuration sub-panel in the left panel.
- Configure the questions in the corresponding sub-panels, with several common elements for both types of problem (see Figure 10). In these sub-panels it is possible to perform the following operations:
- Delete the question (a).
- Enter the regular expression in the text field (b) that will be used to generate the exercise.
- Select the type of exercise with the radio buttons (d) that will be generated for the type of problem.
- View the question (c): The right arrow button allows the question to be previewed in the left panel.
- Change the position of the questions (e): It is possible to reorder the questions using the up and down buttons.
- Generate a regular expression (optional): Users can automatically generate a regular expression by clicking the “Generate” button (f). The complexity of the generated regular expression can be customized by adjusting the following parameters (h):
- Include empty string ().
- The number of symbols to be used in the regular expression.
- The number of states of the resulting automaton.
Blocks of questions can also be generated using the “File | Generate Blocks of Questions” option in the “File” menu (Figure 11 shows all available options). - View and export the questionnaire: The questionnaire can be reviewed in the preview panel on the right; it can then be exported either to Moodle XML format for later import into the Moodle platform, or to LATEX format for printing and use in face-to-face exams.
2.3. Some Technical Implementation Details
2.3.1. Generating Tree and Finite Automaton Diagrams
2.3.2. Regular Expression Generation
Initial Generation of Regular Expressions
Regular Expressions for MYT and Subset Construction Exercises
- The difference between the number of symbols in the regular expression and the number of symbols specified by the user.
- The difference between the number of states in the obtained DFA and the number of states configured by the user.
- Keeping the two best regular expressions (elitist subset).
- Mutating two other regular expressions. The mutation consists of replacing one of the subtrees of the regular expression with a new subtree.
- Generating four new regular expressions with a depth that is a small variation of the depth of the best regular expression in the current population, but always within the limits of the minimum depth and the maximum depth.
- A regular expression with a fitness score of 0 is found.
- A maximum number of iterations is reached (MAX_ITERATIONS = 500).
Regular Expressions for the ASU Method
2.4. Experimental Setup
2.4.1. Measuring Time in Manual Question Creation
- Question 1 (select 1 of 4 images): a “Tree construction” type exercise for Aho–Sethi–Ullman (option “RE ➔tree” in the ASU panel). In this exercise, the student is shown the starting regular expression and several trees from which they must choose the one that matches the regular expression shown. It involves loading four images: one correct and three distractors.
- Question 2 (table of multi-choice selections): a “Getting the transition function from DFA” type exercise using the MYT method and subset construction (option “RE ➔DFA” in the MYT panel). The student has to select the correct elements of the transition function represented with a table in which each cell is a multiple selection defined using Moodle’s cloze syntax, where the correct answer and the distractors are provided.
- The text of the questions. Figure 15 shows the text for question 1, which is relatively short, with the main challenge being the process of uploading the images. Figure 16 shows the text for question 2, which is significantly more complex and requires the use of the ‘MULTICHOICE‘ element for multiple-choice cloze selections.
- The images generated by PLQuiz for question 1.
- Time: the time taken to manually enter each question into Moodle, from the start of the process to the final submission.
- Mouse interactions: the total number of clicks and actions taken during the editing process, which can also be considered a measure of the complexity of the process.
- Number of errors: Errors made during question editing, such as syntax errors (e.g., incorrect cloze syntax), formatting problems, or missing elements. The time taken to correct any errors detected was included in the time measured.
- Editing strategies: Differences in the methods used by participants, such as using the Moodle visual editor, direct HTML editing, or hybrid approaches. These strategies influenced both efficiency and the types of error found.
2.4.2. Obtaining Student Feedback
3. Results
3.1. Time Savings
3.2. Students Feedback
- Q1
- The possibility of unlimited quizzes helps me better understand the algorithms.
- Q2
- Doing the questionnaires, I have realized that there were aspects that I had not understood.
- Q3
- I hope to get better grades thanks to the possibility of having practiced before.
- Q4
- In evaluation questionnaires, the time fixed for their completion is generally sufficient.
- Q5
- Self-assessment questionnaires should be available from the beginning of the lesson.
- Q6
- The challenge of obtaining a good grade in the questionnaires motivates me to study the subject.
- Spanish University Entrance Examination. Students typically spend two years completing their Bachillerato, the Spanish equivalent of high school. After earning their Bachillerato diploma, they must pass the EBAU (university entrance exam). Admission to university programs is based on a combination of their Bachillerato grades and EBAU scores. This route ensures that students have a solid academic foundation before entering higher education.
- Vocational training or technical schools. Students who have completed a higher-level vocational training program (Ciclo Formativo de Grado Superior in Spanish) can access university degree programs. They must meet specific admission requirements and may also take optional subject-specific tests to improve their entrance score.
- Mature students. In the Spanish university system, there is a special admission process for mature students who did not follow the traditional educational pathway. This route allows adults to access higher education based on their age and life experience rather than on conventional academic qualifications. Individuals over 25 years of age who do not have traditional qualifications can take a special entrance exam (Prueba de Acceso para Mayores de 25 Años). Individuals over 40 can be admitted based on their professional experience and a personalized interview process.
4. Discussion
4.1. Time Savings
- Generating automaton and syntax trees images, something that would otherwise require specialized tools such as graphics design software or LaTeX-based drawing libraries. These tools often demand prior knowledge and additional time for configuration, design, and validation. PLQuiz eliminates this workload entirely.
- Providing correct answers and distractors for inclusion in questionnaires. While having the solution to the exercise is important, it is equally necessary to create plausible incorrect alternatives for the questionnaires, a task that can be tedious and time-consuming. PLQuiz automatically generates these alternatives, simplifying the process.
4.2. Student Feedback
4.2.1. Results by Different Groupings
4.2.2. Implications for Teaching Practice
- Reinforcement through practice: The ability to generate unlimited questionnaires is highly beneficial for student learning, suggesting that frequent and varied practice opportunities should be integrated into the curriculum.
- Diagnostic value: The tool effectively helps students identify gaps in their knowledge, emphasizing the importance of incorporating diagnostic assessments to guide personalized learning.
- Preparation and confidence: The anticipation of better grades through practice indicates that such tools can boost student confidence and prepareness for exams, likely leading to better academic performance.
- Time management: Mixed feedback on time adequacy suggests a need for flexible timing options or additional support in time management strategies.
- Early access: Providing quizzes from the beginning of the lesson may benefit many students, although a balance must be struck to accommodate different learning preferences.
- Motivational strategies: Although some students are motivated by the challenge of improving their grades, others may need different incentives. Incorporating a variety of motivational strategies could improve engagement.
5. Conclusions
- Time-saving automation: It dramatically reduces the time and effort required to design and implement quizzes, addressing a major problem for educators.
- Multiple output formats: It supports Moodle XML for seamless online integration and LATEX for high-quality printable exams, offering versatility for different assessment scenarios.
- Variety of question types: The diversity of questions in PLQuiz, which vary in complexity and cover different aspects of lexical analysis algorithms, improves students’ engagement with the subject by having them face various challenges, avoiding simple memorization, and demanding a deeper understanding of algorithms.
- Customization and flexibility: Users can manually enter regular expressions or use the built-in generator with parameters to control the complexity of the quiz.
- Positive student feedback: The surveys indicated that the students found the quizzes beneficial for comprehension, identifying knowledge gaps, and improving exam preparation.
- Improvement of competencies: PLQuiz is designed to assess students’ knowledge, not their competencies, but it indirectly contributes to the improvement of some of them, such as organization and planning, through timed questionnaires. It also contributes to independent learning through self-assessment, which allows students to practice and deepen their knowledge on their own.
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Acknowledgments
Conflicts of Interest
Abbreviations
GIFT | General Import Format Template |
XML | eXtensible Markup Language |
DFA | Deterministic Finite Automata |
NFA | Nondeterministic Finite Automata |
MYT | McNaughton–Yamada–Thompson |
ASU | Aho–Sethi–Ullman |
RE | Regular Expression |
SVG | Scalable Vector Graphics |
References
- Aho, A. V., Sethi, R., & Ullman, J. D. (1986). Compilers, principles, techniques. Addison Wesley, 7(8), 9. [Google Scholar]
- Alder, G. (2013). Jgraph. GitHub. Available online: https://github.com/jgraph/jgraphx (accessed on 7 January 2025).
- Arnaiz-González, Á., Díez-Pastor, J.-F., Ramos-Pérez, I., & García-Osorio, C. (2018). Seshat—A web-based educational resource for teaching the most common algorithms of lexical analysis. Computer Applications in Engineering Education, 26(6), 2255–2265. [Google Scholar] [CrossRef]
- Blythe, S. A., James, M. C., & Rodger, S. H. (1994). LLparse and LRparse: Visual and interactive tools for parsing. ACM SIGCSE Bulletin, 26(1), 208–212. [Google Scholar] [CrossRef]
- Castro-Schez, J., Glez-Morcillo, C., Albusac, J., & Vallejo, D. (2021). An intelligent tutoring system for supporting active learning: A case study on predictive parsing learning. Information Sciences, 544, 446–468. Available online: https://www.sciencedirect.com/science/article/pii/S0020025520308331 (accessed on 7 January 2025). [CrossRef] [PubMed]
- Chakraborty, P., Saxena, P. C., & Katti, C. P. (2011). Fifty years of automata simulation: A review. Acm Inroads, 2(4), 59–70. [Google Scholar] [CrossRef]
- Chesnevar, C. I., Cobo, M. L., & Yurcik, W. (2003). Using theoretical computer simulators for formal languages and automata theory. ACM SIGCSE Bulletin, 35(2), 33–37. [Google Scholar] [CrossRef]
- Chesnevar, C. I., González, M. P., & Maguitman, A. G. (2004a). Didactic strategies for promoting significant learning in formal languages and automata theory. ACM SIGCSE Bulletin, 36(3), 7–11. [Google Scholar] [CrossRef]
- Chesnevar, C. I., Maguitman, A. G., González, M. P., & Cobo, M. L. (2004b). Teaching fundamentals of computing theory: A constructivist approach. Journal of Computer Science and Technology, 4(02), 91–97. [Google Scholar]
- Chiang, D. (2012). tikz-qtree: Better trees with tikz. CTAN. Available online: https://ctan.org/pkg/tikz-qtree (accessed on 7 January 2025).
- Chuda, D., Trizna, J., & Kratky, P. (2015, June 25–26). Android automata simulator. International Conference on e-Learning (pp. 80–84), Nassau, The Bahamas. [Google Scholar]
- Community, J. (2023). Javacc: A parser generator for building parsers from grammars. GitHub. Available online: https://github.com/javacc/javacc (accessed on 7 January 2025).
- Copeland, T. (2007). Generating parsers with javacc: An easy-to-use guide for developers. Centennial Books. ISBN 13: 978-0976221432. [Google Scholar]
- Demaille, A., Levillain, R., & Perrot, B. (2008). A set of tools to teach compiler construction. ACM SIGCSE Bulletin, 40(3), 68–72. [Google Scholar] [CrossRef]
- D’Antoni, L., Helfrich, M., Kretinsky, J., Ramneantu, E., & Weininger, M. (2020, July 21–24). Automata tutor v3. Computer Aided Verification: 32nd International Conference, CAV 2020 (pp. 3–14, Proceedings, Part II 32. ), Los Angeles, CA, USA. [Google Scholar]
- De Winter, J. C., & Dodou, D. (2010). Five-point Likert items: T test versus Mann-Whitney-Wilcoxon. Practical Assessment, Research & Evaluation, 15(11), 1–12. [Google Scholar]
- Esparza, J., & Blondin, M. (2023). Automata theory: An algorithmic approach. MIT Press. [Google Scholar]
- Gallardo Casero, J., Castro Sánchez, J. J., & Sabariego, R. M. (2016). Experiencias de uso y evaluación de una herramienta de apoyo a la enseñanza de Teoría de Autómatas y Lenguajes Formales. In Actas de las XXII JENUI (pp. 327–334). Universidad de Almería. [Google Scholar]
- García-Osorio, C., Arnaiz-Moreno, A., & Arnaiz-González, A. (2007). THOTH: A new tool for automata theory learning. In International technology, education and development conference. IATED. [Google Scholar]
- García-Osorio, C., Gómez-Palacios, C., & García-Pedrajas, N. (2008). A Tool for Teaching LL and LR Parsing Algorithms. SIGCSE Bull, 40(3), 317. [Google Scholar] [CrossRef]
- García-Osorio, C., Mediavilla-Sáiz, I., Jimeno-Visitación, J., & García-Pedrajas, N. (2008, June 30–July 2). Teaching push-down automata and turing machines. 13th Annual Conference on Innovation and Technology in Computer science education (pp. 316–316), Madrid, Spain. [Google Scholar]
- Golemanov, T., & Golemanova, E. (2020, June 19–20). A set of tools to teach language processors construction. 21st International Conference on Computer Systems and Technologies (pp. 244–250), Ruse, Bulgaria. [Google Scholar]
- Hopcroft, J. (1971). An n log n algorithm for minimizing states in a finite automaton. In Theory of machines and computations (pp. 189–196). Elsevier. [Google Scholar]
- Hopcroft, J. E., & Karp, R. M. (1971). A linear algorithm for testing equivalence of finite automata (Vol. 114). Defense Technical Information Center. [Google Scholar]
- Jordaan, S., Timm, N., & Marshall, L. (2024a). AutomaTutor: An Educational Mobile App for Teaching Automata Theory. In H. Barbosa,, & Y. Zohar (Eds.), Formal methods: Foundations and applications (pp. 131–140). Springer Nature. [Google Scholar]
- Jordaan, S., Timm, N., & Marshall, L. (2024b). Migrating teaching of automata theory to a digital platform. South African Computer Journal, 36(2), 31–67. [Google Scholar]
- Kasim, N. N. M., & Khalid, F. (2016). Choosing the right learning management system (LMS) for the higher education institution context: A systematic review. International Journal of Emerging Technologies in Learning, 11(6). [Google Scholar] [CrossRef]
- Knobelsdorf, M., Kreitz, C., & Böhne, S. (2014, March 5–8). Teaching theoretical computer science using a cognitive apprenticeship approach. 45th ACM Technical Symposium on Computer Science Education (pp. 67–72), Atlanta, GA, USA. [Google Scholar]
- Koza, J. R. (1992). Genetic programming: On the programming of computers by means of natural selection. MIT Press. [Google Scholar]
- Linz, P., & Rodger, S. H. (2022). An introduction to formal languages and automata (7th ed.). Jones & Bartlett Learning. [Google Scholar]
- López-Tocón, I. (2021). Moodle quizzes as a continuous assessment in higher education: An exploratory approach in physical chemistry. Education Sciences, 11(9), 500. [Google Scholar] [CrossRef]
- McNaughton, R., & Yamada, H. (1960). Regular expressions and state graphs for automata. IRE Trans Electron Comput, 9(1), 39–57. [Google Scholar] [CrossRef]
- Mohammed, M., Shaffer, C. A., & Rodger, S. H. (2021, March 13–20). Teaching formal languages with visualizations and auto-graded exercises. 52nd ACM Technical Symposium on Computer Science Education (pp. 569–575), Virtual Event, USA. [Google Scholar]
- MoodleDocs. (2022a). Aiken format. Available online: https://docs.moodle.org/404/en/Aiken_format (accessed on 20 November 2024).
- MoodleDocs. (2022b). GIFT format. Available online: https://docs.moodle.org/404/en/GIFT_format (accessed on 20 November 2024).
- MoodleDocs. (2024). Moodle XML format. Available online: https://docs.moodle.org/404/en/Moodle_XML_format (accessed on 20 November 2024).
- Morazán, M. T. (2023). Programming-based formal languages and automata theory: Design, implement, validate, and prove. Springer Nature. [Google Scholar]
- Muñoz, R. C., Blanco, B. B., Campo-Ávila, J. d., & Rodriguez, J. L. T. (2024). Teaching Compilers: Automatic Question Generation and Intelligent Assessment of Grammars’ Parsing. IEEE Transactions on Learning Technologies, 17, 1694–1704. [Google Scholar] [CrossRef]
- Nash, S. S., & Rice, W. (2018). Moodle 3 e-learning course development: Create highly engaging and interactive e-learning courses with moodle 3. Packt Publishing Ltd. [Google Scholar]
- Quesada, E. V., & Herrera, J. F. Á. (2024). Generación de código para la elaboración de preguntas tipo cloze en Moodle usando Wolfram Mathematica: Code generation for creating cloze questions in Moodle using Wolfram Mathematica. Revista Digital: Matemática, Educación e Internet, 24(1). [Google Scholar] [CrossRef]
- Rabin, M. O., & Scott, D. (1959). Finite automata and their decision problems. IBM Journal of Research and Development, 3(2), 114–125. [Google Scholar] [CrossRef]
- Reingold, E. M., & Tilford, J. S. (1981). Tidier drawings of trees. IEEE Transactions on software Engineering, SE-7(2), 223–228. [Google Scholar] [CrossRef]
- Rodger, S. H., & Finley, T. W. (2006). JFLAP: An interactive formal languages and automata package. Jones & Bartlett Learning. [Google Scholar]
- Sáenz, J., Gurtubay, I. G., Izaola, Z., & López, G. A. (2020). Pygiftgenerator: A python module designed to prepare Moodle-based quizzes. European Journal of Physics, 42(1), 015702. [Google Scholar] [CrossRef]
- Singh, T., Afreen, S., Chakraborty, P., Raj, R., Yadav, S., & Jain, D. (2019). Automata Simulator: A mobile app to teach theory of computation. Computer Applications in Engineering Education, 27(5), 1064–1072. [Google Scholar] [CrossRef]
- Stamenkoviæ, S., & Jovanoviæ, N. (2021, February 16–20). Improving participation and learning of compiler theory using educational simulators. 25th International Conference on Information Technology (it) (pp. 1–4), Zabljak, Montenegro. [Google Scholar] [CrossRef]
- Stamenković, S., & Jovanović, N. (2023). A Web-based Educational System for Teaching Compilers. IEEE Transactions on Learning Technologies, 17, 143–156. [Google Scholar] [CrossRef]
- Stamenković, S., Jovanović, N., & Chakraborty, P. (2020). Evaluation of simulation systems suitable for teaching compiler construction courses. Computer Applications in Engineering Education, 28(3), 606–625. [Google Scholar] [CrossRef]
- Steingartner, W. (2021). On some innovations in teaching the formal semantics using software tools. Open Computer Science, 11(1), 2–11. [Google Scholar] [CrossRef]
- Steingartner, W., & Sivỳ, I. (2023, September 4–7). From high-level language to abstract machine code: An interactive compiler and emulation tool for teaching structural operational semantics. European conference on advances in databases and information systems (pp. 544–551), Barcelona, Spain. [Google Scholar] [CrossRef]
- Svien, J. (2019, March 1–27). Improvements to the Moodle cloze and GIFT code generator. Moodlemoot Japan 2019 Annual Conference (pp. 19–23), Shizuoka, JapanAvailable online: https://www.academia.edu/40400476/Improvements_to_the_Moodle_Cloze_and_GIFT_Code_Generator (accessed on 7 January 2025).
- Tantau, T. (2015). The TikZ and PGF packages (manual for version 3.0. 1a; 2015.08.29). (Tech. Rep.). Institut für Theoretische Informatik Universität zu Lübeck. [Google Scholar]
- Veluvali, P., & Surisetti, J. (2022). Learning management system for greater learner engagement in higher education—A review. Higher Education for the Future, 9(1), 107–121. [Google Scholar] [CrossRef]
- Xin, N. S., Shibghatullah, A. S., & Abd Wahab, M. H. (2021). A systematic review for online learning management system. Journal of Physics: Conference Series, 1874(1), 012030. [Google Scholar] [CrossRef]
User | Question Type | Time (min:s) | Clicks | Errors | Notes on Procedure |
---|---|---|---|---|---|
1 | Select 1 of 4 trees | 7:00 | 39 | 1 ‘MULTICOICE’ instead of ‘MULTICHOICE’. | — |
Table of multi-choice selections | 25:09 | 13 | 4 \Simga instead of \Sigma. Unclosed ‘MULTICHOICE’. Duplicated table row. Wrong score. | Table was edited manually using directly HTML syntax. | |
2 | Select 1 of 4 trees | 7:24 | 38 | 1 Use of $ instead of %. | — |
Table of multi-choice selections | 23:24 | 35 | 2 Wrong score. Omitted % in score. | Table inserted using Moodle’s built-in table editor. | |
3 | Select 1 of 4 trees | 5:56 | 24 | 0 | Images were dragged and dropped directly into the question text. |
Table of multi-choice selections | 26:32 | 83 | 0 | Table inserted using Moodle’s built-in table editor. Rows were copied using mouse selection and copy and paste. | |
Average | 6:46 | 37 | |||
25:01 | 34 |
User | Question Type | Time (min:s) | Clicks |
---|---|---|---|
1 | Select 1 of 4 trees | 1:14 | 21 |
Table of multi-choice selections | 1:24 | 23 | |
2 | Select 1 of 4 trees | 1:39 | 28 |
Table of multi-choice selections | 0:59 | 30 | |
3 | Select 1 of 4 trees | 1:15 | 13 |
Table of multi-choice selections | 1:00 | 15 | |
Average | 1:15 | 22 |
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2025 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Izquierdo-Amo, R.; Barbero-Aparicio, J.A.; Garrido-Labrador, J.L.; Olivares-Gil, A.; García-Osorio, C.I. Automatic Generation of Moodle Cloze Questions for the Assessment of Knowledge About Lexical Analysis Algorithms. Educ. Sci. 2025, 15, 75. https://doi.org/10.3390/educsci15010075
Izquierdo-Amo R, Barbero-Aparicio JA, Garrido-Labrador JL, Olivares-Gil A, García-Osorio CI. Automatic Generation of Moodle Cloze Questions for the Assessment of Knowledge About Lexical Analysis Algorithms. Education Sciences. 2025; 15(1):75. https://doi.org/10.3390/educsci15010075
Chicago/Turabian StyleIzquierdo-Amo, Roberto, José Antonio Barbero-Aparicio, José Luis Garrido-Labrador, Alicia Olivares-Gil, and César Ignacio García-Osorio. 2025. "Automatic Generation of Moodle Cloze Questions for the Assessment of Knowledge About Lexical Analysis Algorithms" Education Sciences 15, no. 1: 75. https://doi.org/10.3390/educsci15010075
APA StyleIzquierdo-Amo, R., Barbero-Aparicio, J. A., Garrido-Labrador, J. L., Olivares-Gil, A., & García-Osorio, C. I. (2025). Automatic Generation of Moodle Cloze Questions for the Assessment of Knowledge About Lexical Analysis Algorithms. Education Sciences, 15(1), 75. https://doi.org/10.3390/educsci15010075