Чтобы понять рекурсию, нужно сперва понять рекурсию
Различный интересный софт для домашнего компьютера