Recursion
In programming, recursion is a method where a function (or subroutine) calls itself. This might not
seem a particularly useful thing to do, but in fact it can simplify some programming problems. This
link might help you understand the concept.
(You can thank Tom Verhoeff for that
last link whose rather devious idea it was.)
Further information can be found in any good programming book.
Go to the Irish Schools Programming Competition.