Guide? alla fine il metodo è quello, devi essere bravo tu a mettere le giuste condizioni nella funzione per applicarla.
L'unico metodo per imparare è fare tanta, tanta, tanta pratica... so che è brutale, ma è così....
Dovresti provare a usare il lisp (come ho fatto io al secondo anno) che si basa tutto sulla ricorsione... lì sì che ti fai le ossa!