Empirical research of recursive functions' execution time and development of STEM competencies
Year: 2024
Type: article
Abstract: The article presents an approach to studying recursive functions at an in-depth level of studying informatics course in grades 10–11 using the example of functions for calculating factorial and generalized Fibonacci functions of various orders. Being the object of study in the research work considered in the article, these functions provide average experimental runtime data, which are further visualized, analyzed and approximated. In the process of such analysis, theoretical estimates of computational complexity are compared with the obtained experimental data on the execution time of recursive functions depending on the variable arguments. Examples of 2D visualization of the execution time of the factorial calculation function using the Python programming language and 3D visualization of the execution time of generalized Fibonacci functions of various orders in a spreadsheet editor are shown. Developed STEM competencies, studied theories, methods, principles and concepts in science, technology, engineering and mathematics are highlighted. The objects of scientific novelty in this work are: demonstration of the nonlinear computational complexity of the recursive algorithm for calculating the factorial in Python with large arguments and identifying the reasons for this behavior of this algorithm, based on a counterexample; writing a recursive generalized function for calculating the numbers of Fibonacci series with different orders as an example of the implementation of the DRY principle; proposed approaches to in-depth study of recursion and acquaintance of students with the theory of computational complexity.
Source: Informatics in school
Author: V. S. Popov
Language: English
Subfield: Computer Science Applications
Field: Computer Science
Domain: Physical Sciences
Open Access status: hybrid
OpenAlex ID: W4402683539
