Fermion’s IO Coding Labs provide an interactive environment for solving algorithmic and data structure–based challenges. These labs are designed to evaluate a learner’s ability to read input, process it through logic, and produce the correct output under defined constraints, just like in real competitive coding or technical interview settings. Each coding lab runs securely in an isolated environment with configurable runtime limits for CPU, memory, and execution time. Learners can write, compile, and execute code directly in the browser while instructors receive precise insights into submission results, runtime performance, and test case accuracy.Documentation Index
Fetch the complete documentation index at: https://docs.fermion.app/llms.txt
Use this file to discover all available pages before exploring further.
Fermion allows you to add IO coding labs. IO coding labs are powerful labs that can run the following languages:
Before you start, make sure Coding labs are enabled under Manage Features in your instructor dashboard. Learn how to enable features at Fermion here
C / C++
Java
Python
Node.js (JavaScript)
SQLite / MySQL 8
Go (1.19)
Rust (1.87)
.NET 8
Reach out to Fermion support if you need access to more runtimes than listed
here.
How to access and create IO labs
Head over to the Coding Labs section
To access IO Coding Labs, go to your Instructor Dashboard and open the Coding Labs section from the sidebar. Click on Labs and then navigate to the IO Coding Labs tab.


Create a new lab
Give your lab a suitable name and click Create Lab.
Next, add a title and description for your lab. You can also use Fermion Copilot to help build your lab.
The description field supports Markdown, allowing you to format content and add details freely.
Next, add a title and description for your lab. You can also use Fermion Copilot to help build your lab.
The description field supports Markdown, allowing you to format content and add details freely.

Add test cases
After creating the lab, move on to adding test cases.
You can include sample test cases as well, which will be visible to the users attempting the lab.
You can include sample test cases as well, which will be visible to the users attempting the lab.

Select supported languages
Choose the programming language(s) you want your learners to use in the lab. To configure the default code template for any language, click on the arrow next to the language name.
Learn how to create SQL labs
Learn how to create SQL labs

Set matcher type
Under Matcher Type, decide how the system should compare user output with the expected output:
Matcher type
Matcher type
Define how the expected output and user’s output should be compared:
- Exact match: Character-by-character comparison
- Ignore whitespace at start and end
- Ignore case sensitivity and whitespace at start and end
- Ignore whitespace in every line at start and end
- Ignore case sensitivity and whitespace in every line at start and end
Configure advanced settings
Under Advanced Settings, you can fine-tune your lab’s execution limits.
These defaults are usually optimal:
These defaults are usually optimal:
- Maximum CPU time (ms): 2000
- Maximum wall time (ms): 5000
- Maximum memory (KB): 512000

