Usability – How does this interface work if there are too many objects?

My situation is this: I have an administration app for a school. A teacher can see a list of her classes and her students, and you can move a player from one class to another:

Enter image description here

This works very well as long as the number of classes is less than 12. Then the screen scrolls. But in my record I have a small number of situations where I have to process 20 or even 30.

What would be a good way to preserve the usefulness of this interface, but to deal with the occasional large number of columns?