Teaching efficient recursive programming and recursion elimination using olympiads and contests problems

0Citations
Citations of this article
4Readers
Mendeley users who have this article in their library.
Get full text

Abstract

Olympiads and contests are popular with bachelor students of Software Engineering, Computer Science and other departments educating professionals to be involved software development. But educational role and potential of these activities are under-evaluated and poorly used in the education. In the present paper we address one particular topic that can be introduced using problems from Olympiads and Contests, namely — efficient recursive programming and recursion elimination. Here we understand efficient recursive programming as problem solving with recursive algorithm design. Recursion elimination studies how to construct (functional) equivalent iterative (imperative) program for a given recursive (functional) preferably with use of fix-size static memory. Great computer scientists have contributed to the recursion elimination studies — John McCarthy, Amir Pnueli, Donald Knuth, etc., many fascinating examples have been examined and resulted in recursion elimination techniques known as tail-recursion and as corecursion. We base our study on examples borrowed from the worlds of Mathematical Olympiads and Programming contests. At the same time we use these examples to stress importance of the recursion elimination studies not only for better education but for better and more efficient program specification, verification, optimization and compiler design.

Cite

CITATION STYLE

APA

Shilov, N. V., & Danko, D. (2020). Teaching efficient recursive programming and recursion elimination using olympiads and contests problems. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 12271 LNCS, pp. 246–264). Springer. https://doi.org/10.1007/978-3-030-57663-9_16

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free