The steps below guide you through the initial setup and the creation of your first exam paper. While several steps are required, most involve one-off preparation (such as installation and downloading sample files).
dotnet --version.10.0.104 will be displayed.
C:\Dividni~/DividniC:\Dividni → confirm with OK.
dotnet ~/Dividni/McqTestGen.dll -version (macOS/Linux)dotnet C:\Dividni\McqTestGen.dll -version (Windows)McqTestGen.exe -versionMcqTestGen version 24.11.12.
A multiple-choice examination paper consists of three essential components: (1) a cover page or prologue containing examination details and candidate instructions, (2) the set of questions, and (3) an OMR (Optical Mark Recognition) answer sheet on which students record their responses.
Rather than relying on static questions, this framework employs question generators that algorithmically produce isomorphic variants. Multiple distinct exam scripts can therefore be generated while preserving equivalence in structure, difficulty, and learning outcomes. Each student receives a unique yet isomorphic exam script.
Sample files are provided to allow you to test the workflow before creating your own questions. Download them here: https://dividni.com/tutorial/samples.zip
C:\Users\John\samples~/samples
The samples folder contains several C# source files (with the .cs extension),
each implementing a question generator. Each generator defines a single question model
and produces multiple isomorphic variants. For simplicity, we refer to a question generator
simply as a “question” in the sections below.
The McqTestGen tool (part of Dividni) generates multiple isomorphic versions of an exam paper.
cd C:\Users\John\samples (Windows)cd ~/samples (macOS/Linux)
McqTestGen.exe -prologue SampleCover.html -paperCount 2 ApplesAndOrangesMCQ.cs (Windows)dotnet ~/Dividni/McqTestGen.dll -prologue SampleCover.html -paperCount 2 ApplesAndOrangesMCQ.cs (macOS/Linux)0000000000.html and 0000000001.html.
Open them in a browser to observe differences between versions.
-paperCount (e.g., to 4) to generate additional scripts.-startId, e.g. -startId 42.McqTestGen.exe -proof -prologue SampleCover.html -paperCount 2 ApplesAndOrangesMCQ.cs (Windows)dotnet ~/Dividni/McqTestGen.dll -proof -prologue SampleCover.html -paperCount 2 ApplesAndOrangesMCQ.cs (macOS/Linux)
.html scripts, corresponding .txt answer files are generated.
These contain tab-separated values: question number, answer code, and mark.
(Answer codes: 1=A, 2=B, 4=C, 8=D, 16=E.)
.cs files:
... NationalCapitalsMCQ.cs PrancingPonyLocationMCQ.cs
.xx between question files.
McqTestGen.exe -startId 42 -paperCount 200 -prologue SampleCover.html -omr OmrTemplate.svg ApplesAndOrangesMCQ.cs NationalCapitalsMCQ.cs PrancingPonyLocationMCQ.cs (Windows)dotnet ~/Dividni/McqTestGen.dll -startId 42 -paperCount 200 -prologue SampleCover.html -omr OmrTemplate.svg ApplesAndOrangesMCQ.cs NationalCapitalsMCQ.cs PrancingPonyLocationMCQ.cs (macOS/Linux)
Proficient C# programmers may author questions directly in C#. However, many instructors may prefer to generate questions without writing code. To support this workflow, we provide a comprehensive prompt file: Dividni_MegaPrompt.txt.
To generate questions using the prompt file:
Use the generated questions with McqTestGen as described earlier
(see step 3 above).
<img> tag.
-math katex or -math mathjax.
ApplesAndOrangesMCQx2.cs.
-css exam.css.
To administer examinations, the generated HTML exam scripts must be printed. Tools such as ChromiumHtmlToPdf can batch-convert HTML files into PDF format, thereby automating and streamlining large-scale printing workflows.