Going a different route.  I am making it as abstract as I think I can.  We will see how it shakes out.
I think I have solidified Course and  IntroJavaCourse.  Still need to make changes to implementation of the other two courses.
Made IntroToProgrammingCourse extend Course.
Finished AdvancedJavaCourse
I think I have things for Startup, and made changes to IntroJavaCourse.
Cleaned up logical errors that made me look silly.
Created a Rover class for Mars rovers.
Made an initial Startup and the Traveller interface
Created Roller and Walker rovers.  Made the traveller class.  Work still needed on Walker.
Walker is complete.  Unfortunately, travel is the same for both of my concrete classes.  Drat!
Modified Roller to have a different travel() function.  Made Startup create objects and run them.
Minor output cleanup (plus, I make sure that I am actually setting rover 1 and rover 2.  I was only setting 1 before.)
A copy of lab1 Startup.  An interface version of Course.
Changes needed for AdvancedJavaCourse
Changes needed for IntroJavaCourse
Changes needed for IntroToProgrammingCourse