I imagine that students will log in this system with predefined user IDs and passwords.
Think the following case,
 (1) A student is told to log in this system with ID: "user1", password: "pass"
 (2) The student changes his "user ID" to "studentA"
 (3) The student logs out
 (4) Now, the student might confuse which to use as ID to log in, "user1" or "studentA"

In my opinion, fixing ID and make them be able to change only NAME is more robust, because
 (1) Students might forget their change (in which case, they cannot log in if they have changed ID)
 (2) Students will likely to have ID - password information in paper format