Learning programming is difficult. This refers to primary and secondary school students, but to university student beginners at programming too. These particular reasons stand as a challenge to teachers, as well. Most of the authors agree that recursion presents one of the most difficult concepts at programming, whereas some authors think it is the most difficult concept in programming. On the other hand, it is no longer only an important mathematical concept, but a programming technique, a way of algorithm thinking, and a tool to problem solving. There have been many attempts how to teach recursions. Hereinafter, one can find certain approaches for which authors claim to bring a better understanding of this important concept.