Eric Roberts wrote a well-known book about recursion: "Thinking recursively with Java", published by John Wiley, 2005 (ISBN: 978-0-471-70146-0, paperback, 192 pages).
Video recording of a lecture: Thinking Recursively by Julie Zelenski from Stanford University (Computer Science II: Programming Abstractions, Lecture 9 of 27).
Consult your textbook on data structures (CPS305): it should include a section or a chapter on recursion.
Disclaimer: The following tutorials are optional: they may help or they may confuse you. Your lecture notes are the best source that you can study. Try the following tutorials at your own risk.
An introductory on-line Prolog course designed by Patrick Blackburn, Johan Bos, Kristina Striegnitz.
A more advanced Prolog course:
Prolog Tutorial written by John R. Fisher,
Computer Science Department,
California State Polytechnic University,
Pomona, California USA.
It is recommended to use
ECLiPSe Constraint Logic Programming System installed in labs
when you work on assignments. It has extensive debugging facilities
and a convenient GUI. A personal copy of this software is
available for download (free of charge for students) from
this Web page.
Release 6.0 or later is recommended for CPS721. Also, you can download the most
recent ECLiPSe Prolog release for several operating systems from
this Web page.
This software is owned by Cisco Technology and is distributed by Coninfer Ltd under a licence. It has been developed at IC-Parc, Imperial College, London, UK (and previously at the European Community Research Center). There are distributions for all major OS (Linux, OS X, Solaris, Windows). An approximate size of a self-extracting executable file for Windows machines is about 25Mb. (Note that this software is not related to "Eclipse IDE Platform".)
A few students used SWI Prolog - an open source version of Prolog, but it is less convenient. It is available for Linux, MS-Windows, MacOS machines. However, this implementation of Prolog is slightly different from the recommended ECLiPSe Prolog. The most important differences are discussed in class.
Another version of a Prolog system (for Linux and Windows) can be used for the 1st and 2nd assignments only. It is NOT recommended for other assignments. AMZI, Inc provides now an open source version of their software. You might need to download several components to run this software on your machine and this version can be more difficult to install at home. In particular, starting from the release 7 of AMZI Prolog, you will need to install also the Eclipse IDE (an open development platform for building, deploying and managing software across the lifecycle).