A Novel Approach to Source Code Assembling in the Field of Algorithmic Complexity

Ðorđe Pešić1  , Milena Vujošević Janičić2  , Marko Mišić1   and Jelica Protić1  

  1. 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
  2. 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

DownloadAvailable 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