Skip to main content
Use this guide when students submit code and you need reliable grading, strict isolation, and predictable execution behavior at classroom scale.

Diagram: Submission to verdict flow

Baseline policy for student workloads

Use mode: "persistent" only for deliberate stateful labs. Standard grading pipelines should stay ephemeral.

Platform bootstrap across interfaces

Pattern 1: deterministic test-case grading

Use normalized comparison and collect per-case diagnostics.

Pattern 2: verdict mapping (OK / TLE / RTE / MLE)

Keep verdict mapping centralized so all products (judge, classroom UI, analytics) classify failures the same way.

Pattern 3: interactive playground with streaming feedback

Use executeStream() for live feedback while students type/run code.

Pattern 4: multi-language problem support

Keep one problem statement and allow selected runtimes through an explicit allow-list.

Pattern 5: class-scale batch grading

Process submissions concurrently while respecting capacity and queue depth.
isol8 also applies an internal concurrency limit (maxConcurrent) for container execution. Tune both your app batch size and engine concurrency for stable throughput.

Assessment design patterns that reduce noise

  • normalize output before diffing (trim, newline normalization) to avoid formatting-only failures
  • separate compile/syntax checks from full test execution so students get faster feedback
  • return per-case feedback (caseId, expected, actual, stderr) instead of a single pass/fail flag
  • keep limits aligned to assignment difficulty and document them in the classroom UI
  • use network: "none" for default assignments; explicitly allow network only for network-specific labs

Execution guide

Request fields, execution lifecycle, streaming, and output behavior.

Runtime reference

Runtime selection details and extension-based auto-detection behavior.

Security model

Isolation controls and network policy for untrusted student code.

CI and automated testing

Reuse judge-style grading patterns in CI pipelines.

Option mapping

Exact CLI, config, API, and library mapping for execution options.