The tutorial's focus is on creating paper-based individualized examinations with isomorphic questions. Digital examinations are inherently insecure, whereas paper-based examinations offer a significantly higher level of security. The questions we author can still be exported to learning management systems or digital assessment platforms. For take-home assessments and practice exams, these digital formats can be convenient.
Here is a set of steps to guide you through creating paper-based assessments. While there are a number of steps, most involve one-off preparation (such as installation) and creating examples.
dotnet --version
.
If the .NET installation was successful, you will get a response such as 8.0.404
in the command line.
The instructions below are for Windows. A similar process can be followed for MacOS and Linux.
C:\Dividni
.
C:\Dividni
.
Click a series of Ok
to exit
all windows.
dotnet C:\Dividni\McqTestGen.dll -version
.
If the .NET installation was successful, you will get a response such as McqTestGen version 24.11.12
in the command line.
An exam paper requires two components: (1) a cover page (or prologue) containing details of the exam as well as instructions for students, and (2) questions.
We have provided a sample cover page and sample questions to get started before creating your own. Please download these
from https://dividni.com/tutorial/samples.zip, and extract them to a suitable
folder such as C:\Users\John\samples
.
Recall that we programmatically create several instances of the exam paper - in fact, as many instances as there are students. The cover page is an HTML document while each question is a C# document (C# program, that is). We don't need to worry about the details at this point.
The tool McqTestGen
(part of the Dividni framework) is used to generate multiple instances of an exam paper.
The instructions below are for Windows. A similar process can be followed for MacOS and Linux.
cd C:\Users\John\samples
McqTestGen.exe -prologue SampleCover.html -paperCount 2 ApplesAndOrangesMCQ.cs
The option -prologue
sets the cover page to the given page description in SampleCover.html
, and
the option -paperCount
specifies that we are after two instances of the exam paper.
A successful execution of the command will produce two files: 000000.html
and 000001.html
containing
two exam scripts. Double-click these two files to open them in a browser, and examine the generated exam scripts.
Note the differences between the questions in the two exam scripts and the version number included in each scripts. The last two digits in the version number are checksum digits,
while the rest of the digits contain the actual version.
-paperCount
value (e.g., to 4) and examine the additional exam scripts generated.
-startID
with a value, such as 42, to specify the starting version of the script.
McqTestGen.exe -proof -prologue SampleCover.html -paperCount 2 ApplesAndOrangesMCQ.cs
where we have
added an extra option -proof
. The correct answers will be marked with a *** prefix.
.html
files, McqTestGen
generates .txt
files that contain the answer codes (which can later be used to auto-grade student responses).
Open the answer files 000000.txt
and 000001.txt
to examine their content.
The answer files
have three tab-separated columns: the first value is the question number, the second is the answer code, and third is the
mark associated with the question.
The answer code works as follows: 1 is option A, 2 is option B, 4 is option C, 8 is option D, and 16 is option E.
These .txt
files are used during the grading process.
McqTestGen.exe -prologue SampleCover.html -paperCount 2 ApplesAndOrangesMCQ.cs PrancingPonyLocationMCQ.cs QuadraticEqMCQ.cs
where we have added two additional questions.
View the generated exam scripts on a browser.
.xx
markers, as shown in the example below to add page breaks where you want:
McqTestGen.exe -prologue SampleCover.html -paperCount 2 ApplesAndOrangesMCQ.cs PrancingPonyLocationMCQ.cs .xx QuadraticEqMCQ.cs
.
In this example, a page break is inserted after the first two questions.
You can add as many page break markers as needed.
McqGrader
.
McqTestGen
can generate OMR sheets pre-filled with version numbers.
Try the command:
McqTestGen.exe -startId 42 -paperCount 200 -prologue SampleCover.html -omr OmrTemplateSouthernHem.svg ApplesAndOrangesMCQ.cs PrancingPonyLocationMCQ.cs .xx QuadraticEqMCQ.cs
This generates 200 exam scripts, each script containing OMR answer sheets pre-filled with version IDs.
The prologue page/section is authored in HTML. It uses start and end tags to format text and other content.
The start and end tags should match, and are case-sensitive.
The first level heading is called h1
and the start and end tags for this are <h1> and </h1> respectively.
Therefore, we would specify a first level heading in HTML as <h1>My First Level Heading</h1>.
Similarly, a paragraph is p
and the start and end tags for this are <p> and </p> respectively.
A <div> groups several HTML elements (such as <h1> and <p>) together.
The prologue page/section contains a single <div> which in turn can contain other arbitray HTML elements. Examine the
sample cover page SampleCover.html
to see if that makes sense. You can try making content changes to
this sample cover page. For instance, you may want change the university name to reflect your own university/institution,
and also the course name to reflect something you teach.
You cannot have an ampersand (&) character in HTML: this has to be coded as &
. Similarly,
the less-than sign (<) has to be coded as <
and the greater-than sign (>) has to be
coded as >
. Recall that the start and end tags should match, and are case-sensitive.
Please keep these rules in mind as you make minor adjustments to the cover page.
Major designs for exam prologue page/section is typically done one-off at the institution level, and proficient HTML coders can do this for us.
Proficient C# programmers can use C# to create questions. Most of us are not likely to be in this category. However, we have the means to create these C# questions online without having to program. Dividni.online allows us to create such questions online.
McqTestGen
.
Once the question you created looks satisfactory, you can copy the C# code for
the question to your local computer and use this with McqTestGen
to create exam papers.
See point 3 of section Creating our first exam paper.
imgur
) that allow us to host images, and we can make
use of these if we don't have our own.
ApplesAndOrangesMCQx2.cs
. Try replacing ApplesAndOrangesMCQ.cs
with
ApplesAndOrangesMCQx2.cs
in step 10 above, and view the generated exam paper.
McqTestGen.exe -startId 42 -paperCount 1 -prologue SampleCover.html -omr OmrTemplateSouthernHem.svg
-css exam.css PrancingPonyLocationMCQ.cs ApplesAndOrangesMCQ.cs .xx QuadraticEqMCQ.cs .\NationalCapitalsMCQ.cs
Here we use the option -css
to point to the external stylesheet exam.css
.
To conduct exams, we need to print the HTML exam papers. We have scripts that can automatically convert these HTML exam papers to PDF and merge them into a single PDF file for easy distribution and printing.