Skip to Content
Maestro Docs
Coding and HDL

Languages and tools

Every language you can use in coding questions, and the tools that run them.

Coding questions in mock tests and assessments run your code on Maestro's own code runner. Each question lists the languages it allows, and the language dropdown only shows those.

General-purpose languages

LanguageNotes
PythonStandard library.
JavaYour class must fit the starter code.
C++ and CCompiled before they run.
JavaScript and TypeScriptTypeScript is stripped to JavaScript and run. It is not type-checked.
Go
C#
Ruby
Kotlin

Electronics languages

These appear in electronics (ECE and EEE) questions.

LanguageWhat it is for
VerilogDigital design: write a module, and a testbench checks it.
SPICEDescribe an analogue circuit as a netlist.
OctaveNumeric work such as signals and control.
Python (SciPy)The same kind of numeric work in Python.
Embedded CWrite the logic of a microcontroller program. See below.

Tools behind the electronics languages

LanguageToolExtras
VerilogIcarus Verilog (iverilog), Verilog with the SystemVerilog subset it supportsVerilator lint on each run
SPICEngspice
OctaveOctavesignal and control packages installed
Python (SciPy)Python with NumPy, SciPy and python-controlmatplotlib is installed, but plots are not shown
Embedded CGCC on the runnerThe question supplies a hardware header and test harness

Embedded C

In an Embedded C question you write functions only. The question gives you a hardware header (hal.h) and a test harness that has main() and calls your functions. You can read these under the Hardware files tab.

Hardware registers behave like plain variables. This is not a real microcontroller emulator.

Not available

  • No network access, no installing packages, and no files that persist between runs.
  • No debugger, interactive input or plots. Programs run in batch and read input from standard input.
  • UVM and other advanced SystemVerilog verification features.
  • VHDL.

See Limits and FAQ for time and memory limits.