At my school, we have been using Visible Virtual Machine in our Computer Architecture class. There is nothing more frustrating to me than having professors require that I use some Windows software for homework.
So I wrote my own version, which I have released under the GPL. It uses Gtk# for the user interface, but the virtual machine implementation is a separate class and could easily be used by a winforms interface.
Unlike VVM, I do not require any silly activation keys to fully utilize the software.
The sources can be checked out from my public Subversion repository: svn co https://layla.chrishowie.com/svn/LMC
.