Ok, I tried both, but either I'm doing it wrong or something else doesn't work.
I added the two capabilities to the teacher role but then I still couldn't create a token with a teacher. I then changed the context of the teacher role to system which of course worked. I added the token for the teacher to my webservice client.php. However the teacher is then able to see every course. I removed the capabilities and the context setting and tried with your second suggestion but then I always get the error that I "cannot view the profile of this user". Also I don't have the path you mentioned above, just Site administration > Plugins > Web services > External services, where I could enable the mobile webservice.
I'm really lost with those user rights, roles and context even though it makes sense to me. I just can't incorporate what I need