There are two ways of doing this. A learner can enroll via a link, or through the course catalog.
Enroll via a Link
To enroll through a link, you must first allow your course to be self-enrollable. To do this, click on Teaching then on Courses. Select the course that you want to edit, and click on it.
From there, go to the General Settings tab, and click Enrollable From a Web Link. You will then need to enter a Subscribe Key. This is essentially a password that your learners will need to enter to successfully enroll themselves. If you instead want to use a one-time-use key, you can click on the Manage Keys button to generate a list of one-time-use keys (these will become invalid after being used once). The list will include 300 unique keys but if you require more keys, close the box and reopen it and a new list of 300 keys will be generated. The URL of the enrollment form can be copied by clicking on the Copy Link button. If you want to skip the enroll key altogether, you need to add &key=subscribekey to the end of the enrollment link, where subscribekey is replaced with the course subscribe key. This will prefill the field in the subscribe form that asks for the key.
When your learner enters the URL, they will be directed to this form. The fields can be customized using the custom data fields feature, then clicking Pick Fields, in the Web Enrollment section of the General Settings tab of a course.
Enroll via Course Catalog
To start, click on Public Resources then Course Catalog. Next, click on Add to Catalog at the top right.
Next, use the drop-down menu to choose which courses you want to add. Click Add to Catalog when you're done.
You can specify enrollment permission by hovering your mouse over a course and clicking on Visible to select/all groups.
Use the checkboxes to select who can enroll in a course.
When a learner clicks on Course Catalog, they will be able to enroll in courses that they have permission to view.