A Novel Approach to Source Code Assembling in the Field of Algorithmic Complexity
- University of Belgrade - School of Electrical Engineering
Bulevar kralja Aleksandra 73, RS-11120 Belgrade, Serbia
pd235049p@student.etf.bg.ac.rs, {marko.misic, jelica.protic}@etf.bg.ac.rs - University of Belgrade - Faculty of Mathematics
Studentski trg 16, RS-11000 Belgrade, Serbia
milena.vujosevic.janicic@matf.bg.ac.rs
Abstract
Computational complexity analysis plays an essential part in the education of computer and software engineers. For that reason, it is carefully studied in programming courses, as well as in the algorithms and data structures courses. The number of students who learn programming is rapidly growing, but the number of teachers cannot keep up with that trend. Therefore, it is necessary to develop tools that can ease and accelerate the daily tasks of teachers, especially for learning purposes and in the context of automating the processes of exam preparation. We propose a novel template- and rule-based approach and a corresponding software system for assembling synthetic source code segments of defined time complexity. Based on the developed grammar, the system can produce source code segments with a broad scope of different time complexities while guaranteeing the complexity of the generated segment. The system can be used for generating questions for exams as it can assemble a large number of different code segments that can be given as questions that have similar difficulty levels. The system was evaluated both by human experts and ChatGPT tool.
Key words
automated source code assembling, computational complexity, time complexity, rule-based assembling
Digital Object Identifier (DOI)
https://doi.org/10.2298/CSIS230730015P
Publication information
Volume 21, Issue 3 (June 2024)
Year of Publication: 2024
ISSN: 2406-1018 (Online)
Publisher: ComSIS Consortium
Full text
Available in PDF
Portable Document Format
How to cite
Pešić, Ð., Janičić, M. V., Mišić, M., Protić, J.: A Novel Approach to Source Code Assembling in the Field of Algorithmic Complexity. Computer Science and Information Systems, Vol. 21, No. 3, 781-806. (2024), https://doi.org/10.2298/CSIS230730015P