Running Windows VM and Other Virtual Machines in Codio

3:30 PM on August 31, 2022 | computer science programming

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

Codio assignments use lxc – this means there is a shared Ubuntu kernel which has caused a couple of limitations:

(1) No other operating systems were available on Codio aside from Ubuntu

(2) Specific tools that need access to kernel-level settings were unusable

To address this, Codio enables you to run Windows VM and other Virtual Machines in the platform:

Codio enables you to run Windows VM and other Virtual Machines in 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: VM-Based Features

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

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:

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.

Create Free Instructor Account   

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.

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.