Friday, May 30, 2008

Virtual Machines in the Classroom: Teaching one OS inside of another

Education is an interesting beast.  There are so many different needs and environments that it often can become expensive to provide a comprehensive, controlled platform for students to work.  As such, often topics are ignored or just not offered.  

Case in point:  We have two closed computer labs here at the Annex that we use for teaching.  Both are Windows labs, because the primary platform our software classes run on is Windows.  To become a Mac lab required an investment in Apple hardware and software, which represented a huge cost on our part.  And now we are running Linux classes, thanks to our good friends at Guru Labs.  But we ran into a problem running the class in a semester-long format:  How do you keep the environment static for one platform while teaching in another platform?

The eventual obvious answer was using a Virtual machine.  With a virtual machine we have the ability to keep a separate image for each class (or series of classes) run, and continue to teach Windows software without having to re-image the lab every day.  

The second most obvious answer would be to use VM Ware.  Why?  Because it's free and easy to use.  Now, we could opt to use Xen (and will eventually), but the base install for these systems needs to be Windows.  Why?  Because it's the lowest common denominator when it comes to user experience.  This way people don't panic when they see something other than a Windows XP login screen.  

Another reason to use VM Ware is the availability of VM Ware on the Mac (via VM Ware Fusion).  It's easy to use, and allows us to use multiple OS distributions on the Mac machines without difficulty.  That means that the Linux class can now be mobile.  ^_^

So that is a current solution.  But what of the future?  There is a lot of potential for the Virtual machine setup in education.  Distance education becomes possible with a completely controlled environment, as long as one has a significant internet connection.  That, and some well organized VPN settings can make a remote Technical education setup quite possible.  

So, what makes virtual machines useful in an educational setting?  One distribution of an application, free of any potential conflicts, that can be distributed across a network through a mounted file system.  And all you have to do is double-click to execute.  

Have any of you used Virtual Machines in the classroom?  Which of you find it useful?  Which of you don't?  

No comments: