Look at one first
/class/demo is a sample class, and it opens signed out. The roster is made up and every control on it refuses to change anything with a sentence saying so, but the dashboard is the real one. That is there so you can decide whether this is worth an account before you make one.
Making a class
Go to /class. It is both ends of the thing: a student types the code their teacher read out, and a teacher makes a class and gets a code to read out.
Under Create your class, give it a Class name, the number of Students, and what to Start from (A blank class, the 12-week course or a curriculum pack), then press Create class. The step by step version, through to the first hand-in, is assignments and submissions.
Classes come with Pro and Classroom, not Free. A Free account can join any class as a student, and can run one class with the 30-day trial: on Free the form's button reads Create my class and starts the trial. What you may set is capped by your plan:
| Plan | People in one class | Classes you may own |
|---|---|---|
| Free | none of its own | 0 |
| Pro, Student | 11 (ten students and you) | no limit |
| Classroom | the students you pay for, and you | 20 |
These are class seats. A live room on one of your projects is a different limit, set by the same plan: see how many people fit.
You count as one of the people in the class, but not one of the ones you pay for. For more than ten students the plan is Classroom: $9.99 a student a year in the US (less where a regional price applies), from 5 students, with your own seat free, everything in Pro for you, and Pro's room (unlimited projects, two hundred saves, no badge on exports and embeds) for your students while they are in your classes. Pay by card, or get a written quote for an invoice or purchase order on /classroom. Either way the students are shared between all of your classes, and a student in two of them counts once. See the plans.
Ask for more seats than your plan holds and the class is made with what the plan allows, and says so rather than letting you believe otherwise.
The dashboard
/class/<id> is the class: the roster, the work assigned, and who has handed
what back.
- The roster: everybody in the class, with a Remove button beside each name and Roster CSV and Gradebook CSV at the top.
- The join code, which only you can see. A student who is already in has no use for it.
- Assignments: each with its title, its due date, how many have submitted, and a grid showing where each student is. Where a submission is a project, you can open it.
The student's dashboard is the same page. It just arrives with their own submissions in it and nobody else's, because the rules about who may see what live on the server rather than in the page.
The wall
The class head has two tabs: Class, which is everything above, and Wall, which is the room while the lesson is on.
The wall is a card for every student on the roster, with their name on it and the circuit they submitted under it. It is whatever they submitted for the newest assignment, or, before they have submitted that, the last thing they submitted to this class. Their other projects are private and never on the wall. The drawing is the circuit itself rather than a screenshot, so it is what the editor would draw this minute, and it keeps up on its own: the page asks for the class every fifteen seconds while the Wall tab is the one in front of you, and stops the moment you leave it or switch browser tab.
A card that has not changed for ten minutes says stuck? beside the time. It asks rather than tells: a student who is thinking looks exactly like a student who is stuck, and the point of the card is that you know which end of the room to walk to. After an hour and a half of nothing the hint goes, because that is not a student who is stuck, it is a student who is not here.
On a phone the wall is two cards across, which is the one you hold while walking the room.
Pressing a card
Every card opens. Press one and that student's work comes up beside the wall on a wide screen, or over it as a full-height sheet on a phone:
- Their canvas, running. The circuit as it stands on their screen, on the same engine the editor runs. Press Run it and it runs; press a button on the board and it does what it does for them.
- Their sketch, the file the compiler starts from.
- Serial, whatever their board prints while it runs here.
- Last saved, in words, and, on a card that is asking stuck?, a badge that explains itself when you press it: how long the silence has been, what the rule is, and why it is a question rather than an answer.
- What they changed, where the work came from a starter you assigned: the same diff the submission row draws, against the starter itself.
- A comment back. The same box as Send feedback on the submission row, writing the same one note per submission, and it is on the student's own class page the next time they open it.
- Follow, which happens in a live room: the panel points at the room for this assignment where there is one, and says what to start where there is not.
- Open in the editor, which makes a copy of their circuit in your own account. Nothing you do to it touches their work. Beside it, Open theirs, read-only, which opens their project itself: it is not yours, so the editor says whose it is and saving forks it. Either way the copy is private, on every plan, Free included, and it never counts toward your plan's projects: copying a student's work for the class never publishes it.
A card that says nothing submitted yet opens too, and says so: they have not submitted a circuit to this class. There is no messaging in Mokxi, so Nudge them puts the class link on your clipboard for you to send the way you already talk to your class.
Opening a student is the one place work leaves its owner's hands without being shared: a teacher can read what somebody in a class they teach submitted to that class, and nobody else can, not even their classmates. The rest of a student's projects stay private to them.
A wall with nobody on it
Before anybody has joined, the Wall tab says so and gives you the next thing to do rather than an empty grid: the invite link for this class, with a button that copies it, and the join code to read out. A student who follows the link lands on the join form with the code already in it and presses Join.
A live session
For a lesson where nobody has signed in yet. On a class page press Start a live session, pick a starter or a blank circuit, and the projector shows a six-character code, a QR code to /join and the students arriving as nickname chips you can rename or remove. A student types the code and a nickname and is in the editor on the session's circuit, with no account and no email. Your class's seats cap how many can come in, and a full session says so. A session ends when you end it, and at the latest after four hours.
You own the main circuit. It is a new private project in your account, made when the session starts, from a blank one or a fresh copy of the starter you picked, so a hand-out is never written over. When you press End session, tick whose work to keep. Each student you keep gets a class login and their own copy of the circuit, and changes to a copy never touch the main circuit. Everyone you do not keep loses access, and nothing about them is stored. Anyone with the class tools (a paid plan, or the 30-day trial) can start one.
The rules underneath
Three, and every one of them is a test:
- A class you are not in is indistinguishable from one that does not exist.
- A student sees their own submission and nobody else's. You see all of them, which is what a dashboard is for.
- Seats are capped by your plan.
Mokxi AI for your class
Mokxi AI, Mokxi's helper, is off for students in a class until you turn it on. On the class page press Mokxi AI: off and confirm. Then your students can ask Mokxi AI about their circuits and code, and the Circuit Doctor becomes Checkup for them. The class shares its questions for the day: five for each student, and no student more than ten. Students never see a price. Press Mokxi AI: on to turn it off again. Mokxi AI stays off for class logins and younger children's accounts whatever the switch says. What a question sends is in the Student and School Privacy Policy.
The EE lab for a class
The EE lab has twelve modules of graded challenges and viva practice. On /lab, under Your classes, pick the modules for each class you teach and press Save assigned modules. Your students then have those modules on any plan, and you see their progress there. Students in a class get no public certificate.
Everything else
- Join codes, rosters and seats
- Assignments and submissions
- Joining a class and submitting work, which is what to send your students
- A twelve week scheme of work: /curriculum
- What a class needs before it can start: /teachers