We have just recently identified the need to create a number of courses that have other courses as prerequisites.
So for example you need to do Courses A, B and C, but you must do them in that order. If a User tries to do Course B before having done Course A, the User is notified that Course A is a prerequisite, and is then given a link to go and do Course A.
I checked Moodle, but did not find such a solution. If anyone knows of such a solution, please let me know.
I have a possible solution, and will be posting the code here in a few days time.