A shopping cart might not be the best solution.
Or maybe just use the shopping cart for the students and maintain the selected course in the session.
You may want to use DataAssist and maintain it all in the database instead.
The short answer is that we don't have a tutorial or product specifically designed for the scenario you describe, so you will probably be on your own for the most part in deciding how you want to do it.
Once you decide that and give it a try and get stuck you can post here for more specific feedback.