Teacher Guide - Kush-Kelaiya22/imPress GitHub Wiki
Teacher Guide
How to teach with imPress: your classes, quizzes, polls, live results, students and the room's devices. Admins can do all of this too, for every class.
Contents
- Your classes
- The class page
- Before class: a two-minute check
- Quizzes
- Polls
- During class: what you see live
- Results
- Students and attendance
- What students see and do
- Good practice
- When something goes wrong
Your classes
My Classes lists the classes you teach: as the primary teacher, or as co-faculty. Each shows its course and section, schedule, student count, and number of quizzes and polls. Click a class to open its page.
A teacher can create a class too (it lists you as its primary teacher). Admins usually create classes for you, often from a CSV file.
The class page
From top to bottom:
| Section | What it is for |
|---|---|
| Header | class name, course and section, students, faculty (Manage Faculty), join code, room, Activate / Deactivate |
| Quizzes | your quizzes with their mode, timing and state; + New Quiz; βΆ Start, Next β, βΉ Stop, Results |
| Polls | your polls; + New Poll; βΆ Start, βΉ End, Results |
| π‘ Live Devices | the room's gateway and hub (online or offline, last seen, battery, signal), and the student modules in the room: connected or seen, battery, signal. Refreshes every 5 s, and immediately when something changes |
| π Students | the roster with each student's participation; + Enroll Student, β¬ Import CSV, Unenroll |
| π‘ Class Devices | (admins) the gateway and the student modules linked to this class |
| π‘ Live Feed | a running log of what happens: questions sent, answers received, quizzes ended |
Activate the class when it is in session. The room's gateway only links itself to an active class.
Before class: a two-minute check
- Open the class page.
- Live Devices: the gateway is β Online. If not, see When something goes wrong.
- Ask students to switch their modules on. Within a few seconds each module appears under Student modules as connected.
- Optional: run a one-question test poll to check that presses arrive.
Quizzes
Creating a quiz
+ New Quiz on the class page:
| Field | Choices |
|---|---|
| Quiz Title | anything |
| Quiz Mode | Planned: start when ready (saved as a draft). Impromptu: start immediately when created |
| Timing Mode | Manual: you advance questions yourself. Per-Question Timer: each question gets this many seconds, then the next one goes out by itself. Total Time Limit: the whole quiz ends after this many seconds, whatever question it is on |
| Questions | at least one. Each has a text and 2β4 options, one per line; prefix the correct one with * |
Example of one question's options:
3
*4
5
6
Limits from the hardware:
- Student modules have four buttons, so a question has at most 4 options.
- A module's screen shows about 139 bytes of question text and 14 bytes per option. Longer text is accepted, with a warning, and is cut off on the module. Non-Latin scripts use 2β3 bytes per letter.
Import questions from CSV: bring many questions from a spreadsheet. They are checked, previewed, and added to the form for you to review before you create the quiz. See CSV Imports.
Running a quiz
- Click βΆ Start (planned quizzes). The first question goes to every module in the room, and to the Live Feed.
- Students press AβD. The live count rises as answers arrive.
- Click Next β for the next question.
- After the last question, Next β ends the quiz. Or click βΉ Stop at any time.
- Click Results.
Timed quizzes (#73):
- Per-Question Timer: when a question's time is up, the server sends the next one by itself, and ends the quiz after the last. The class page's badge shows the limit (e.g. per question Β· 30s/question).
- Total Time Limit: the server ends the quiz when the time is up. The quiz's buttons switch to Results on their own.
- You stay in control: Next β and βΉ Stop work in every timing mode. Next β starts the next question's full time.
- Modules with a display count down the seconds left and show Time's up. Presses after that are ignored. The server refuses late answers too (it allows about 2 s for the press to cross the mesh).
- The timer runs on the server, so a quiz keeps time even if you close the page. After a server restart it carries on.
What the states mean
stateDiagram-v2
[*] --> draft: created (Planned)
[*] --> active: created (Impromptu)
draft --> active: βΆ Start
active --> active: Next β, or a question's time is up (more questions)
active --> completed: Next β or time up after the last question
active --> completed: βΉ Stop, or the total time is up
A completed quiz can't be started again: its answers are kept, so create a new quiz for a fresh run. A draft can't be stopped, because it never ran (#76). The same rules apply to polls.
Polls
+ New Poll:
| Field | Choices |
|---|---|
| Question | the poll's title (the module shows about 63 bytes) |
| Options | 2β4, one per line |
| Poll Mode | Live: start immediately. Planned: start when you click βΆ Start |
Run it with βΆ Start and close it with βΉ End. Ending shows the final counts. A poll has no correct answer, and each student votes once.
During class: what you see live
| Where | What |
|---|---|
| The quiz or poll counter | the total answers or votes so far, updated after every stored answer |
| Live Feed | π Quiz: β¦ β Q2/5: β¦ when a question goes out; β
Answer received β total: N; π Quiz ended |
| Live Devices | the gateway's status, and which modules are connected |
Only real answers count:
- Each student counts once per question. A module whose press reaches the hub over several relay paths, or a gateway that re-sends a batch after a network error, still counts once.
- Answers are checked: an answer counts only if it comes from a registered student (a known enrollment number), for an active quiz and one of its questions, with a valid option. A press for an earlier question still counts while the quiz is running, if the student hadn't answered it yet.
- Late answers don't count: an answer that arrives after the quiz ended, or after a timed question's time is up, is ignored.
Results
Results shows each question with its options, the correct option, the number of answers, and how many students chose each option. Poll results show the count per option and the total.
Results are only visible to the class's teachers and to admins.
Students and attendance
- Enroll: + Enroll Student searches the student registry by enrollment number or name.
- Import CSV: adds new students and enrolls them (Administrator Guide for the columns). Students who already exist are enrolled with + Enroll Student.
- Participation: for each student, the number of quizzes answered, polls voted and attendance.
- Student page: click a student for their classes and full participation.
What identifies a student:
- Identity: the enrollment number on their module (10 letters or digits).
- Answers that don't count: a module set to an enrollment number that isn't registered in the backend still joins the mesh, but its answers are ignored.
- Who sets it: an admin or teacher sets up each module once (Hardware Guide).
What students see and do
| On the module | Meaning |
|---|---|
| NO ID | the module has no student identity yet: ask an admin or teacher to set it up |
| Connecting⦠| looking for the room's hub (retries for up to 30 s) |
| idle screen | connected; waiting for a question |
| the question and options | answer with AβD |
| answered | the press was sent; it waits for the next question |
A student can press only once per question: the module moves to answered. Students far from the hub are reached through other students' modules, which relay messages automatically.
Good practice
- Activate the class at the start and deactivate it at the end.
- Use Manual timing when you want to discuss each question before moving on, and a timer when the pace matters.
- Keep options short (under 14 characters) so they fit on the modules.
- Check the gateway is online before class. If it isn't, nothing reaches the room, although the web app still works.
- Test new question sets with a short poll or a one-question quiz first.
When something goes wrong
| What you see | What to do |
|---|---|
| The gateway shows β Offline | Check its power and that the room's Wi-Fi works. Ask an admin to look at Modules β Diagnostics |
| The gateway is online, but no module is connected | Check the hub's power (the gateway's diagnostics show "S3 link down" if the hub is off or unplugged). The modules must be on the same mesh channel |
| A module shows NO ID | It needs its student's enrollment number set up |
| A student pressed but the count didn't change | Check that the student is registered (their enrollment number exists in Students) and that the quiz is still active. Answers to an ended quiz are ignored |
| The question text is cut off on modules | Shorten it. Modules show about 139 bytes of question and 14 per option |
| You're signed out unexpectedly | Sessions end after 60 minutes idle or 6 hours in total. Sign in again |
More in Troubleshooting.