I'll take a shot at the first part of your question. There are several ways you can do this. When I started with Captivate several years ago, I would have created a menu slide - with 12 different buttons that each link to a different module. I would have placed a green checkmark graphic to the left of the button - and have it initially hidden when the menu displays. I would have created 12 variables - mod1Complete, mod2Complete, etc. and initialized each to 0. Then at the end of each module, I would have set that modules variable to 1. On the menu page, I would run a conditional advanced action that looked for each mod#Complete number - and show the green checkmark for each module where the variable for that module is 1. That approach allows users to visit the modules in any order. If you have a quiz or a final module you want them to complete after they have visited all of the course content, you can add a 13th button - gray it out and disable it - until all variables for the other modules equal 1. Then show and enable the button. What I like about this approach is that you have the ability to control its look and feel. Be sure to have a "Menu" button on each page of the course that links back to this menu page.
Nowadays, I rely on the Table of Contents option. This allows the learner to move about the course in main modules. You can also set up sub-items within each folder - making it very easy for your user to get to a specific page or section within a module. You say you have a two-hour course. If you have all of the content in one course, the table of contents will help your learners get around it. Alternatively, you can create an aggregator project - where you create a separate Captivate project for each module - then tie them all together with an aggregator project. This is very helpful if publishing to Flash - so that the learner does not have to watch the download graphic for a while as the 2-hour course loads into the browser. Not so much an issue if you're publishing to HTML5.
Hope this helps.
Why not choose a LMS? Some are free. I don't think you'll create a 2hrs course in one Captivate file. And the previous description can work if you transfer variables from one module to another one, which is only possible with JS or for SWF-output with a widget. A LMS will offer you all the functionality you'll need for managing multiple modules.
Can you recommend an LMS?
I am familiar with Moodle and Canvas. I have been struggling for months trying to figure out how to create a Captivate project and load it on to a website for my students.
Thanks all for the comments. More generally, I wonder: Is this the expected level of support in a program like captivate ? In other words, it seems that some basic aspects of using the tool ( like structuring modules in a TOC or another method ) are open to debate even among experienced users ? That even peple who have been using the tool for month are unable to see a good way "to make things work," and must rely on the kindness of strangers in a forum? Here is california, there are car pool lanes where you can pay to use them if you don't want to share your car. Does Adobe have premium support, or is this idea heresy ?