Eu utilizo a opção "meta curso".
1. Crio uma lista dos alunos em um arquivo numa planilha e depois converto para utf8;
2. o arquivo fica parecido com isso::
username, password, email, firstname, lastname
aluno1s, senha123, aluno1s@site.pro.br, primeiro_aluno1, sobrenome1
aluno2s, senha124, aluno2s@site.pro.br, primeiro_aluno2, sobrenome2
etc ...
3. Após carregamento da lista, faço a matricula dos alunos por série no meta-curso: aluno1s é da 1asérie e aluno2s é da 2asérie, etc. Isso facilita também a ferramenta filtro na hora de matricular os grupos.
4. Depois, crio um curso para cada disciplina: quimica, fisica, portugês, etc. e em cada disciplina em "cursos afiliados" adiciono, pois dessa forma o professor de uma disiplina não poderá matricular nem desmaticular um aluno individualmente numa disciplina apenas. O aluno também não poderá cancelar sua inscrição por conta própria.
5. Depois, dentro de cada disciplina, posso criar grupos, isso é bom quando um único professor trabalha várias turmas da mesma série e não deseja ter que fazer atividades diferentes para cada turma. Assim crio grupos separados: 1aserie1, 1aserie2, 1aserei3...e aplico as mesma atividades.
6. Se uma disciplina tem mais de um professor, então cada professor terá seu proprio curso, por exemplo: Português-Prof-José, Português-Profa-Maria, etc.
6. Assim cada professor terá que fazer suas próprias atividades e deverá fazer a matrícula usando "designar funções", mas os alunos poderam cancelar sua matricula quando quiserem o que as vezes não é bom, principalmente se tratando de ensino médio ou fundamental.
7. Outra opção é matricular cada turma em um meta curso e depois em cursos filiados matricular a turma inteira nas disciplinas convenientes.: Exemplo: Meta-curso-1aserie1; meta-curso-1aserie2, etc. assim o professor de português da 1aserie1 poderá ser o José e o da 1aserie2 a Maria.
Entenderam???