Structured Learning Activities in Embedded Computing Using a Pedagogical Virtual Machine ( PVM )