← Back to the teacher panel QuizCast

Your exam control room, fully explained

A teacher-focused operating reference—from configuring access and running the live room to recovery, scoring, bulk imports, tables, code and mathematical notation.

01 For teachers

From blank page to published result

Teachers control the whole lifecycle. Create the pool, choose who can join, start the shared clock, watch the live roster, end the exam and export the result.

PrepareCreate the exam and question pool
AdmitShare the code and check the waiting room
RunStart once and monitor the live roster
PublishEnd, review and export results

Every exam option

Title

The name students see in the waiting room, exam screen and result review.

Time limit

Blank or zero means teacher-controlled. Otherwise the server uses one shared deadline and automatically submits when it expires.

Who can join

Same network restricts entry to allowed public IPs or CIDR ranges. Anyone with the link relies on the code and identity rules.

Registration policy

Allow any registration number, require a fixed-length pattern where * is one character, or provide an exact allow-list.

Disconnect grace

After this many offline seconds, the server adds a warning. Set it to zero to flag the disconnect without adding a warning.

Question delivery

Deal the whole pool or choose counts by topic and marks. Questions marked “Present to all” are included for everyone.

Option order

On by default: every student sees each question’s options in their own random order, so what is A for one is D for the next. Marking is unaffected — answers are recorded against the question, not the position. Turn it off if a question uses options like “All of the above”.

Negative marking

Off by default. When on, 1 mark is deducted for every X wrong answers, with X your choice. Whole marks only, a paper never goes below zero, and only questions the student actually answered count — a blank costs nothing, so the rule discourages guessing instead of encouraging it. Students are told the rule before they start, and the deduction is itemised in their review and in the results CSV.

Retention

Exams, answers, figures and results are automatically deleted after the configured retention period. Export before expiry.

Live time control

Add or remove minutes while the exam is running. The same revised deadline reaches every connected student.

Illustration of one teacher computer securely coordinating student phones and laptops
Illustration · one teacher-controlled exam, one shared clock and one active session per student.

Late joining

Once an exam is live, a completely new student is never admitted automatically. Their request appears above the roster. Check the exact name and registration number, then use Approve, Reject, or Approve all. Duplicate names and registration numbers are rejected before approval.

The timer is centralized. A late joiner receives only the time still remaining for everyone. Approval never restarts or extends the exam clock.

During and after the exam

WaitingStudents can join and confirm their identity. The teacher starts the exam for everyone.
LiveWatch presence, submission state, warnings and alerts. Unblock a student only after checking the incident.
SubmittedThe student can sign back in and see the correct-answer count, but not the questions while the exam remains live.
EndedThe already-open accepted tab receives one review of that student’s assigned paper until the page closes or refreshes. Ended exams reject credential sign-in.
ExportedDownload CSV results before the retention deadline. Ending an exam does not disable the teacher’s export tools.

Question analysis, and fixing a wrong answer key

Once an exam has ended, its card carries a Question analysis button. It opens a page with one block per question showing exactly what the class answered: how many students chose each option, how many left it blank, and — for typed questions — every distinct answer that was given, most common first. The counts cover the papers that were submitted and not disqualified, which is the same set the marks are computed from.

This is how a mis-keyed question is usually caught: not by re-reading the paper, but by seeing most of the class choose the same “wrong” option. So the fix sits next to the evidence. Each block has Correct answer, which lets you set a different correct option, a different set of options, or a different accepted pattern for a typed answer.

Changing a key re-marks the whole class immediately. Every submitted paper is graded again against the new answer, including negative marking and the difficulty bonus, so some results go up and others go down. What each student actually answered is never altered, so setting the key back and saving again restores every original mark. The previous answer is kept in the exam’s correction history, shown at the bottom of the same page.

Students see the corrected mark the next time they open their result; anyone still looking at their review sees it update on the spot. If results are being withheld, a correction changes the marks silently and students see nothing until you release them.

02 Security & recovery

Strict by default, recoverable by the teacher

Question answers never need to be trusted to the browser: grading, strikes, identity, session ownership and result access are checked by the server.

Exclusive live session

The accepted socket receives a short-lived in-memory lease. Sensitive exam requests require both the attempt token and that active lease.

Browser binding

The first browser profile is cryptographically bound to the attempt. Another tab cannot replace it, and another browser or device is refused.

Server-authoritative warnings

Warnings and blocks are recorded on the server. Offline incidents are retained locally and synchronized when the connection returns.

Review isolation

After publication, a one-tab capability opens only that student’s assigned paper. It is consumed immediately and remains visible only in that page; names and registration numbers cannot recover it.

If a phone fails and the student needs a laptop

  1. The student closes the failed phone browser and tells the teacher.
  2. The teacher finds that student in the roster and chooses Reset device. This revokes the old token, disconnects the old session, and clears any block together with its warnings — one action, nothing else to press.
  3. The student signs in on the laptop with their registration number. For this one re-entry the name does not have to be punctuated exactly as before, so a student who first typed “Md. Karim” and now types “Md Karim” still gets back in. The laptop becomes the new bound browser.
  4. Previously autosaved answers return. The shared deadline does not change, so the most recent unsaved keystrokes or time lost during the switch cannot be restored.
Do not reset a device casually. The first browser that successfully signs in after the reset becomes the replacement. The teacher should confirm the student’s identity and tell them when to proceed.

Changing a running exam

The full editor closes when an exam starts, because rewriting the question paper would break the papers already handed out. Three changes stay open, from ✎ Edit while live on the exam card.

  • Add an IP range — for a student who turns up on a different network. Adding is always safe; narrowing the list while the exam runs can cut off someone mid-paper.
  • Add a registration number — for a name missing from the allow-list. Both rules are checked when someone joins, so changing them never affects anyone already writing.
  • Add questions — pasted in the same format as the bulk import. Choose every student to put them on every paper still open and on everyone who joins from here on, or the random pool only to leave current papers alone. Students already in the exam see the extra questions appear without reloading. A student who has already submitted keeps the paper they were marked on.
New topics cannot be created mid-exam. A topic decides how questions are distributed across the whole paper, so a question added while the exam runs must use a topic the exam already has, or none.

Removing a student from the list

Remove from list in a roster row’s menu deletes the attempt entirely — the name, the registration number, the browser binding, the warnings and any answers so far. It is the one action that means they never joined, so their registration number is free again and they can start over. Use it for a student in the wrong exam, a duplicate row from a mistyped number, or your own test join.

  1. The removed student’s page returns to the join form by itself and says you removed them.
  2. They join again through the normal route. Before the exam starts, they go straight back onto the roster.
  3. Once the exam is live, they arrive in the late entry queue and you approve them like any other latecomer — removing someone is never a way to re-admit them silently.
Removing a submitted attempt discards its marks. There is no undo; you are asked to confirm twice. Blocking or disqualifying is what you want when the attempt should be kept on record.

Warning and block rules

  • Desktop focus/fullscreen/visibility violations accumulate; three warnings block the attempt.
  • On mobile, leaving the browser or app for more than five seconds can block immediately.
  • A network loss longer than the configured disconnect grace adds a warning unless the teacher configured flag-only mode.
  • Connecting another monitor is checked where the browser supports multi-screen detection.
  • System notifications are not required. All enforcement and recovery happens inside QuizCast.
03 Individual question

Build one question at a time

Choose Add question when you want the clearest, most visual workflow. Every change appears in the Preview below the question, exactly as students will see it.

  1. Select the answer type, then write the question and its answers.
  2. Set marks, topic, sharing and an optional figure.
  3. Check the live Preview, then add the next question.

Everything you can set

Answer type

Single choice has one correct option. Multiple choice can have several. Text answer grades typed responses with a pattern.

Question text

Write the prompt. It accepts Markdown and KaTeX, so you can add emphasis, lists, tables, code and mathematical notation.

Correct answer

For choices, tick the correct option or options. For text answers, enter a case-insensitive regular expression such as ^(red|crimson)$.

Review answer

Text questions can have a clean answer shown after the exam. This is for display only; the accepted-answer pattern performs the grading.

Marks

Sets the weight of the question. Use a positive whole number. A 3-mark correct answer contributes three times as much raw score as a 1-mark answer.

Topic

Place questions into topics such as Algebra or Networking. Topics can later be used to deal a balanced selection to each student.

Present to all students

Turn this on when every student must receive the question. It still counts toward the relevant delivery bucket.

Figure

Attach a PNG, JPEG, GIF or WebP image up to 4 MB. You can change or remove it before saving the exam.

Answer options

Choice questions start with four option fields. Empty options are ignored when the question is saved.

Live Preview & remove

Preview verifies the rendered question and options. Remove question deletes that draft card from the pool.

Text-answer tip. Patterns are case-insensitive. Use ^ and $ to require the whole answer, and escape special regex characters: \(, \), \.. Example: ^=?sum\(a1:a10\)$ accepts both SUM(A1:A10) and =SUM(A1:A10).
04 Bulk question

Create a pool from a .txt file

Bulk import is fastest when you already have many questions. Write ordinary text in any editor, paste it into Import questions from text, or upload a UTF-8 .txt file.

  1. Write one question block after another using the syntax below.
  2. Choose Preview and fix any reported line.
  3. Use Add to pool to keep existing questions, or Replace pool to discard the current draft pool.
Already have a question paper? You do not have to retype it. Download the AI conversion prompt, paste it into any capable AI assistant, and attach your PDF, Word file, scanned paper, spreadsheet or photograph. It returns a pool in exactly the format described below, reads the answer key wherever it sits in the document, and flags anything it could not verify. Paste the result into Import questions from text and press Preview — Preview is still the authority, and any line it rejects can be handed straight back to the assistant to fix. The same link is in the import panel.

The smallest valid block

Start with Q:. Put each answer on its own line. An asterisk * means correct; a hyphen - means incorrect. Blank lines between blocks are optional but recommended.

Q: Which symbol starts an Excel formula?
* =
- #
- @

What every text marker means

WriteMeaningExample
Q:Starts a single-choice question.Q: Capital of Japan?
[single] Q:Explicit single-choice form; equivalent to Q:.[single] Q: 2 + 2?
[multi] Q:Starts a multiple-choice question.[multi] Q: Select primes.
[text] Q:Starts a typed-answer question.[text] Q: Symbol for pi?
* answerA correct choice. Single-choice needs exactly one; multiple-choice can have several.* Canberra
- answerAn incorrect choice.- Sydney
= patternAccepted regular expression for a text answer.= ^(pi|π)$
answer:Optional clean answer shown in review for a text question.answer: π
marks:Positive question weight; defaults to 1.marks: 3
topic:Question topic. topic: none removes it.topic: Algebra
all:yes/true gives it to everyone; no/false does not.all: yes
@marks:Default marks for all following questions until changed.@marks: 2
@topic:Default topic for all following questions until changed.@topic: Geometry
Continuation lineExtends the current prompt, or the most recent option, with block Markdown or maths.| Name | Value |
# or //A whole comment outside a question block. Inside a prompt, # is a Markdown heading; use // for an unambiguous comment.// Chapter 2 starts here

The three question formats

# SINGLE CHOICE — exactly one *
Q: What is the default QuizCast port?
* 3000
- 8080
- 443

# MULTIPLE CHOICE — one or more *
[multi] Q: Which are private IPv4 ranges?
* 10.0.0.0/8
- 8.8.8.8/32
* 192.168.0.0/16

# TEXT ANSWER — regex after =
[text] Q: Which function adds A1:A10?
= ^=?sum\(a1:a10\)$
answer: =SUM(A1:A10)

Marks, topics and defaults

Put marks:, topic: and all: inside one question to affect only that question. Put @marks: or @topic: above a group to set a default for everything that follows. A per-question value overrides the group default. There is no @all:, which prevents accidentally making a whole file mandatory.

@topic: Geometry
@marks: 2

Q: What is the area of a circle of radius $r$?
* $\pi r^2$
- $2\pi r$

# This question overrides the 2-mark default
Q: What do a triangle's angles sum to?
marks: 1
all: yes
* $180^\circ$
- $360^\circ$

@topic: none
@marks: 1

Complete copyable template

# QuizCast bulk question template
# Outside a question, # or // starts a comment. Use // inside a question.

@topic: General knowledge
@marks: 1

Q: What colour is a clear daytime sky?
* Blue
- Green
- Red

Q: What is the capital of Australia?
marks: 2
* Canberra
- Sydney
- Melbourne

[multi] Q: Which of these are programming languages?
* JavaScript
* Python
- HTML
- CSS

@topic: Mathematics
@marks: 3

[text] Q: Solve for $x$: $2x + 5 = 15$.
= ^5$
answer: 5
Formatting in a bulk file. A prompt can continue on the lines after Q:, so all formatting shown below—including paragraphs, headings, lists, quotes, tables, fenced code, display maths, and literal HTML tags—can be imported directly. Once an answer starts with * or -, later continuation lines belong to that option. Leave a blank line after a prompt's hyphen-bulleted list before starting the answer choices, so the importer can distinguish the list from wrong-answer markers.
Q:
## Use the reference table

| Item | Qty | Price |
|:-----|:---:|------:|
| Pen  |  2  | \$3.00 |
| Book |  1  | \$8.00 |

Which expression gives the total?
* `2 * 3 + 1 * 8`
- `2 + 3 + 1 + 8`

Common Preview errors

MessageHow to fix it
appears before any Q:Move the first Q: above its answers or metadata.
needs at least 2 optionsAdd at least two */- answer lines.
mark the correct option with *Change the correct answer's leading - to *.
single-choice has more than one *Keep one correct answer or change the header to [multi] Q:.
text question has no accepted-answer patternAdd an = regex line.
invalid regular expressionCheck brackets and escape literal parentheses or dots.
question text is emptyAdd prompt text on the Q: line or on continuation lines beneath it.

Final example: formatted bulk questions

This ready-to-import example uses bold, italic, inline code and maths while keeping every question and option on the lines understood by the bulk parser.

# Formatted questions still use the normal bulk markers.
@topic: Mixed practice
@marks: 2

Q: Solve the **linear equation** $2x + 5 = 15$.
* **$x = 5$**
- $x = 10$
- $x = 20$

[multi] Q: Which are *valid* JavaScript declarations?
* `const total = 10;`
* `let name = "Asha";`
- `number score = 5;`
- `make value = 2;`

[text] Q: Type the chemical formula for **water**, shown as $H_2O$.
= ^h2o$
answer: H2O

Q: Read the [reference note](https://example.com) and choose the value of $\sqrt{81}$.
* **9**
- 8
- 10
05 Formatting

Make questions clear and expressive

Question text and choice options support Markdown. Maths is written with LaTeX-style commands and rendered by KaTeX. The examples below show the text you type beside the result students see.

Bold, italic and strikethrough

Wrap text with the matching symbols. You can combine bold and italic.

Type this
Use **bold** for key facts.
Use *italic* for emphasis.
Use ***both together***.
Use ~~strikethrough~~ for a correction.
Students see

Headings, paragraphs and separators

Use one to four # symbols for headings. Leave a blank line for a new paragraph. Three hyphens make a horizontal separator. A normal single line break is also preserved in QuizCast.

Type this
## Read the passage
This is the first paragraph.

This is a second paragraph.

---
### Now answer
Students see

Bulleted and numbered lists

Use - for bullets and 1. for numbered steps. Indent nested items with spaces.

Type this
Consider these conditions:

- The server is online
- The code is correct
  - Uppercase is accepted

Then:
1. Join the exam
2. Wait for the teacher
Students see

Start a quote with >. Write a named link as [label](https://address). A bare web address becomes a link automatically.

Type this
> Knowledge is power.

Read the [course notes](https://example.com/notes).
Or visit https://example.com
Students see

Inline code and code snippets

Put one backtick around a short command or variable. Put triple backticks above and below a multi-line code block. A language name after the opening fence is allowed, although syntax colouring is not applied.

Type this
What does `total` contain?

```javascript
const price = 25;
const total = price * 4;
console.log(total);
```
Students see

Tables

Separate columns with vertical bars. The second row is required; colons set left, centre or right alignment.

Type this
| Item | Qty | Price |
|:-----|:---:|------:|
| Pen  |  2  | \$3.00 |
| Book |  1  | \$8.00 |
Students see

Inline and display maths

Put maths inside single dollar signs to keep it in a sentence. Use double dollar signs on separate lines for a centred display equation.

Type this
The roots of $ax^2+bx+c=0$ are:

$$x=\frac{-b\pm\sqrt{b^2-4ac}}{2a}$$
Students see

Useful maths commands

NeedCommandType thisStudents see
Power / subscriptx^2 / a_n$x^2+a_n$
Fraction\frac{top}{bottom}$\frac{3}{4}$
Square / nth root\sqrt{x} / \sqrt[3]{x}$\sqrt{x^2+y^2}$
Greek letters\alpha \beta \theta \pi$\theta=2\pi$
Multiply / divide\times / \div$6\times4\div2$
Inequalities\le \ge \ne \approx$x\ge 0$
Sum / product\sum / \prod$\sum_{i=1}^{n}i$
Integral / limit\int / \lim$\int_0^1 x^2\,dx$
Vector\vec{v}$\vec{v}=\langle2,3\rangle$
Text in maths\text{words}$P(\text{rain})$

Matrices and multi-line equations

Use an environment inside a display-math block. Separate columns with & and rows with \\.

Type this
$$
A=\begin{bmatrix}
1 & 2 \\
3 & 4
\end{bmatrix}
$$

$$
\begin{aligned}
2x+5 &= 15 \\
2x &= 10 \\
x &= 5
\end{aligned}
$$
Students see

Show Markdown symbols literally

Put a backslash before a Markdown symbol when it should appear as ordinary text. Inline code is another easy way to show syntax literally.

Type this
\*This is not italic\*
\# This is not a heading
The symbol is \$5, not maths.
Type `**bold**` to make text bold.
Students see
Safe by design. Raw HTML such as <script> or custom <div> tags is displayed as text, not executed. Teacher question content is rendered safely; student-typed answers are never Markdown-rendered.
Use the live Preview. A missing dollar sign, backtick or brace can change the result. The individual editor's Preview uses the same renderer as the student exam page, so it is the final check before saving.
? Troubleshooting

Fast answers during a live exam

Wrong networkConfirm the student is on the intended network and verify the allowed IP or range configured for the exam.
Waiting for approvalCheck the late-join queue above the roster, verify identity and choose Approve, Reject or Approve all.
Already connectedAsk the student to close duplicate tabs. If the original device failed, verify the student before using Reset device.
BlockedReview the alerts and incident with the student. Use Unblock only when it is appropriate to restore the attempt.
Answers look oldThe server restores the most recently completed autosave. Unsaved keystrokes cannot be reconstructed.
No review yetSubmitted students see only their correct-answer count, plus a countdown to when the exam ends, until you end it.
Exam ended while awayAn ended exam cannot be reopened with a name and registration number. The student reopens the same exam link in the browser they sat the exam on — results are bound to that device, not to a tab being left open.
Second monitor warningHave the student disconnect the external display. There is no button that lets them into the exam themselves — before joining they may only acknowledge and come through to the roster (that raises display-unverified), and at exam start they are held until you decide. Detection is browser-reported and can be wrong (virtual, wireless and docked displays register as real ones, as do some laptops with nothing plugged in). Their row shows an amber — check the machine physically, and if there really is one screen, choose Bypass external display from that menu. It lasts the whole attempt, stops the repeat warnings, is recorded in the alert feed, and can be revoked from the same menu. Continue physical supervision.
QuizCast — teacher operations and question authoring. Pricing · Feature guide · Teacher panel