Hi Jessica,
Mendix offers you full flexibility on how you want to create your users. An overview to manage user accounts manually is provided out-of-the-box. But you can develop a combined page creating both "student" and "useraccount" as you'd like:
If you want to automatically fill fields like username, e-mailaddress or password, you can replace the save button by custom logic filling these.
Personally, I like the RandomStrongPasswordWithLowercase JavaAction from CommunityCommons to generate passwords.
Regarding the read access, you can contrain the records someone can see by adding rules in the "Access rules" tab within the properties of an entity. This tab becomes visible when you turn on the security. You can then say for example: trainers may Read/Write everything and students may Read/Write everything which is their own. You can read more about that in this learning path.
Good luck!
Johan