Scenarios for labs with a topic area of Coding/Software Development (often abbreviated to “code labs”) are at a high level, very simple: They are lab scenarios in which users implement a programming language to achieve a specified result.
Some of the conversations about code labs, on the other hand, are not simple. On Lab on Demand, our lab development platform, scenarios within this topic area typically rely on one of three platform capabilities, one of which is the code lab fabric. This is often abbreviated, in conversations, to code labs. You can probably see where this is headed. It causes unnecessary confusion, which the use of terms interchangeably to describe two very different things almost always does.
While code lab is a specific type of lab, fabric in this case refers to the underlying technology on which the lab runs. Like its counterpart in the material world, in the world of virtual labs fabric is foundational, essential, fundamental. You cannot start without it.
What fabric will be used, as explained next, is determined during the process of creating the lab. It is important to think of the lab scenario first, then determine the proper fabric based on the requirements of that scenario (as opposed to forcing a scenario to work within a particular fabric).
Different types of code labs
Code labs can be used for educating or evaluating. Is the user knowledgeable enough about the particular program language to implement it in a hands-on fashion? The code lab can also be used to ensure that the user is sufficiently skilled with a specific piece of software.
There are three different types of scenarios for a code lab:
The first is using a full developer suite to implement a new software product.
In this scenario, which is the most relatable to a traditional developer environment, a full set of tools are available. This integrated development environment (IDE) may include databases, cloud components and on-premises components on either Windows or Linux. The purpose in this scenario would be to create or modify existing piece of software or to program a piece of software. This type of code lab would run on a virtualization fabric, which means it runs within a virtual machine, with a full IDE — Visual Studio, for example.
The second type of scenario is characterized by a lighter developer suite that includes an IDE as well as potentially a few small services on Linux or in the cloud, such as a database —but not a full operating system environment.
This type of code lab runs on the container fabric, with an IDE that is much lighter and less complex than that within the previous scenario — Visual Studio Code, for example.
Finally, the third scenario is geared toward the user learning the basics of a language, not necessarily designing something.
Examples of what a user can learn from this type of code lab include how the code works, evaluating logic and how to work with algorithms. This type of lab, which can also be used to evaluate a user on their implementation of those same skills and abilities, is run on what we call, simply, the code fabric. The IDE provided in this fabric is even further stripped down and is more akin to a basic text editor that enables the designing, writing and running of code.
Creating a code lab
The process really is as simple as accessing the template gallery when creating a new lab profile in Lab on Demand.
Simply click Create Lab Profile from your Lab on Demand Dashboard to access the template gallery and view topic-focused lab templates, including the Coding/Software Development templates that are available today.