The meta course function in Moodle is a really neat way to speed up enrolling your users. The idea is nice and simple- if you have one course set up with your teachers and students all enrolled you can have this exact same set of enrolments copied on to any other course.
For example, in one of our partner schools they have a course for each of their year groups. Each has the correct students already set up. What they wanted to do was create a second course for each year group with the same students on each. When creating the new course we selected meta-course, and told it to match the enrolments from the first.
In a second example we have another school where they have a library course that draws its enrolments from the form courses set up in another area. Using this method it means the library know that every student in a Year 7 form group also has access to the right part of the library. Providing you keep the original list correct the library is correct too. Same as the first example really, but demonstrates that a meta course can take enrolments from more than one other course at once.
What is really neat about it is if you change the enrolment on the first course it updates on any of the others linked to it. Means all that time spent linking up the meta courses is a one time experience.
One final nice feature of the meta course that I found today. In your main admin menu choose users-permissions-user policies. Here you can choose which roles get synchronised on the meta course. So, if you want all the student roles to move across but not the teacher this is the setting for you.
To find out more about meta courses visit the moodle documentation.