Set up config for teaching basic Mongo use

Hi

We have a MongoDB Community edition server installed on Redhat with authentication active. This server is intended to be used by a large group of students (up to 1000 students) to introduce basic CRUD operations. What I would like to do is have each student allocated their own database in which they can play around/test ideas etc and ultimately complete some basic NoSQL assignment tasks.

I am not clear how this should be configured, do we create all users in the admin database and then give them db privileges in their database (going to create a database for each student based on their login name) or create the users in their database only. I need to allow them to change their password so will also be adding a role for changeOwnPassword. Can I create this role once in admin and grant the role to each student. At the moment I am doing it in each individual database similar to:

use('stuid');

db.createRole(
   { role: "changeOwnPasswordRole",
     privileges: [
        {
          resource: { db: "stuid", collection: ""},
          actions: [ "changeOwnPassword"]
        }
     ],
     roles: []
   }
);

db.createUser(
  {
    user: "stuid",
    pwd: "somepwd",
    roles:[ "readWrite", { role:"changeOwnPasswordRole", db:"stuid" } ]
  }
);

Any advice/guidance would be appreciated.

Lindsay.