I would recommend using OpenStack and RDO if you can tie together the physical machines into a "cloud" like system (vs. say just running a single hypervisor software per computer like virtualbox).
Each student could be allocated their own project/tenant with appropriate quotas and limits. If setup with a VLAN type system, it is possible to isolate entire networks of VMs for a given project (allowing more than a single VM per student if the hardware can support it) and you can provide some basic images of where you want the students to start from.
I know it sounds like a bit of overkill, but it provides a lot of functionality that you can control from a more centralized location without the need of setting up VBox on every host.
The students can interact with the hosts (depending on how you do it) via the network directly or via the dashboard (vnc-like) web page.