Skip to content
Elise DeitrickAugust 31, 20222 min read

Running Windows VM and Other Virtual Machines in Codio

Easily configure and deploy Windows and Ubuntu VMs directly in Codio.

Codio assignments use lxc containers – which means there is a shared Ubuntu kernel which is very efficient for running common learner experiences at scale. Now we’re extending our virtual machine offering in two key ways:

  1. Offering alternatives to Ubuntu operating systems
  2. Enabling learner experiences that use specific tools that need access to kernel-level settings 

To enable these enhancements, Codio lets you run Windows VM and other Virtual Machines directly within the platform:

What is a Virtual Machine?

A virtual machine runs its own operating system and functions separately from any other VMs running on the same system. Each Virtual Machine functions as a normal computer with its own CPU, memory, network interface, etc.

Webinar: Virtual Machines

Setting up Virtual Machines in Codio Courses

Unlike Codio’s assignment stacks, a student’s Virtual Machine is used for the entire course. This means that you set the Virtual Machine up at the Course-level.

Virtual Machines can be set to 1, 4, 8, or 16GB of memory, and pre-configured Virtual Machine Stacks can be created and selected (similar to the existing Stacks on Codio).

Create Free Instructor Account   

Virtual Machine Stacks

You can take a snapshot of the state of your Virtual Machine to easily pre-install software and provide starter code or other files like data sets to your students.

To do this, you set up your virtual machine so that it is ready for students to use. Then go to Tools > Virtual Machine > Publish (as pictured above) to create a VM Stack. Due to their size, VM Stacks can take several minutes to be available. Once your VM Stack has been created, you can select it under the Course Settings (as pictured above).

If your students have already started working on the Virtual Machine, when you update the Virtual Machine Stack, students will need to Terminate and Restart the Virtual Machine to be switched to the new stack. This process of terminating the VM and re-starting it on the new stack can take several minutes, and students will lose any work they had on their Virtual Machine.

Using Virtual Machines in Codio Assignments

Within an assignment, you can automatically open either the Virtual Machine desktop or, for Ubunutu VMs, an SSH-connected VM Terminal the same way you open other Codio tools under the Guides Layout settings:

an SSH-connected VM Terminal the same way you open other Codio tools under the Guides Layout settings

Alternatively, the Virtual Machine can be opened from the top menu via Tools > Virtual Machine > Open:

Windows Virtual Machine

Windows Virtual Machines are particularly useful for IT programs that want to give students hands-on experience with Windows-specific system administration tools. Many popular software tools are only available on Windows, such as PowerBI and Excel.

Ubuntu Virtual Machine

In addition to Windows, we have also released an Ubuntu Virtual Machine. This may seem counter-intuitive since all of our assignment stacks use Ubuntu; however, some technologies that need access to kernel-level settings or larger amounts of computing resources, such as Docker and Kubernetes, will not run in our lxc assignment boxes.

Webinar: Virtual Machines

How to get Setup

To enable Virtual Machines for your organization, send an email to help@codio.com with the number of students who will require access to Virtual Machines.

avatar

Elise Deitrick

Elise is Codio's VP of Product & Partnerships. She believes in making quality educational experiences available to everyone. With a BS in Computer Science and a PhD in STEM Education, she has spent the last several years teaching robotics, computer science and engineering. Elise now uses that experience and expertise to shape Codio's product and content.