As a rule, this kind of functionality is not part of Canvas. Most of us in higher ed have another system for that; generally a Registrar's course catalog and schedule or something like that. We would then use an integration of some kind to at least partially automate course creation and enrollment based on activity in the other system.
At my University, we have a lot of interest in what we are calling "public-facing courses" that would be offered to people who aren't seeking actual college credit but do need CEUs, professional development hours, or just knowledge. At this point, the units involved in this work publicize their offering on existing websites, emails, etc. They handle registration in a lot of different ways and then use the upload options in the admin side of Canvas to create accounts and enroll people in courses. This all happens in a separate instance of Canvas, since it is so different from how we manage academic courses, but I think you could use both methods in the same instance if you wanted to.
In a response to a different post of yours, I think I mentioned another Instructure product called Catalog that would provide a public listing of available courses and facilitate account creation and enrollment. We are going to take a good look at that later in January for those public facing courses.
This discussion post is outdated and has been archived. Please use the Community question forums and official documentation for the most current and accurate information.