Help
RU

CodeBoard Help for Teachers

Practical documentation for running programming lessons: lesson rooms, several students in one room, editing access, files, materials, Python execution, Turtle, templates, snapshots, and common issues.

First Lesson in 5 Minutes

Use this walkthrough for the first class, from teacher sign-in to a saved lesson snapshot.

1

Sign in to CodeBoard

Open the CodeBoard address provided by your school, training center, or course administrator. Sign in with your teacher email and password.

2

Create a room

Open “Rooms”, enter the lesson name, and create a basic room. If you leave the name blank, CodeBoard will pick a neutral-funny title automatically. If you need starter code, open “Templates” and create the room from a template.

3

Prepare the task

In the room, open “Task”. If needed, click “Edit”, update the title and instructions, then save.

4

Invite students

Click “Copy invitation” in the room top bar and send the link to your students. The same link can be used by the whole group.

5

Give access and run code

Open “Students”, choose the active student, and grant editing access. The student writes code and clicks “Run”; the result appears in “Output” or “Turtle”.

6

Capture the result

When the solution is ready, click “Snapshot” in the top bar. CodeBoard saves the task, code, output, and Turtle result for later review.

Sign-In and Access

Teachers work from teacher accounts. Students usually join a specific room through an invitation link.

1

Open the platform address

Use the main CodeBoard URL provided by your organization. If you do not know it, ask the course administrator or internal support.

2

If you do not have an account

Ask the administrator or course coordinator for a teacher invitation or a pre-created account. You cannot sign in as a teacher without one.

3

Set up the interface

The top panel lets you switch the language and the “Dark / Light” theme. Theme preference is saved in the browser.

Roles and Permissions

Role / modeAvailable actionsUnavailable actions
TeacherCreate rooms, edit tasks, write code, draw annotations, run Python, upload files and materials, create snapshots, copy invitations, rename students, and manage editing access.Cannot sign in without a teacher account or invitation.
Student with editing accessEdit code, view task and materials, run Python, provide input(), and view Output or Turtle.Cannot upload files or materials, change the task, create snapshots, or manage participants.
Read-only studentView code, task, materials, output, Turtle, annotations, and current room state.Cannot edit code, draw annotations, run the program, or upload files.

Teacher Workspace Tabs

TabWhere to clickWhat is insideWhen to use it
RoomsClick “Rooms”, then “Create room” or an existing room row.Lesson list, search, status filter, open room, multi-select, and delete one or several rooms.Start a lesson, return to a previous class, or clean up the room list.
TemplatesClick “Templates”, then choose a task family, difficulty, and format.Template library with starter code and task text.Create a room quickly from a prepared lesson scenario.
AccountClick “Account”.User details, password change, and sign-out.Change password or finish work on a shared computer.

Lesson Templates

Templates help prepare a room with task text, starter code, difficulty, and lesson format.

ActionWhere to clickImportant details
Browse the libraryWorkspace → “Templates”.Templates are grouped by families. You can search by title, key, description, and task text.
Filter tasksUse difficulty and format filters.Difficulty: introductory, basic, advanced. Format: teacher-led lesson or independent practice.
Preview contentsClick a template card.The side panel shows task text, family, difficulty, format, and starter code.
Create a lesson from a templateEnter the lesson name and click “Create from template”.The room receives the selected task and starter code. You can edit both inside the room.

How to Create a Lesson

1

Open “Rooms”

In the teacher workspace, click “Rooms”. Enter a lesson name, for example “Grade 8 — Loops”, or leave it blank for an automatic title.

2

Create an empty room or use a template

Use “Rooms” for a basic room. Use “Templates” when you want starter code and task text already filled in.

3

Open the room

After creation, click “Open”. Inside the room you can update the task, upload files, create snapshots, and copy the student invitation link.

Lesson Room

A room combines the code editor, lesson top bar, run controls, and the right panel with lesson tabs.

Grade 8 — Loops
SnapshotSnapshot and nextCopy invitation
main.py
CodeAnnotationsResetRun
1 name = input("Student name: ")
2 print(f"Hello, {name}!")
3 for number in range(1, 4):
4     print("Step", number)
Lesson Panel
TaskMaterialsSnapshotsFilesOutputTurtleStudents

What the teacher does here

Open instructions, add materials, upload working files, view output, inspect Turtle graphics, create snapshots, and manage student access.

Python runtime readyTeacher editing · students synchronized

Editor, Run Controls, and Annotations

FeatureWhere it isHow it works
Code modeAbove the editor, “Code / Annotations”.Normal Python editing. If a student does not have editing access, the editor becomes read-only.
Annotation modeAbove the editor, “Annotations”.Draw visual marks over the code while explaining. Tools include marker, line, arrow, three colors, undo, and clear. Annotations synchronize and persist in the room; read-only students can see them but cannot draw.
Run“Run” button above the editor.Runs the current code in the browser Python runtime. CodeBoard opens “Output” or “Turtle” depending on the result.
Reset runtime“Reset” next to Run.Restarts Python runtime if it hangs, keeps old state between runs, or runs out of memory.
Access indicatorAbove the editor.Shows whether the current user can edit. A read-only student cannot run code either.

Room Tabs: What They Contain

TabHow to open itWhat you can do
TaskClick “Task” in the right panel.View task text, edit title and instructions, and save the update for all participants. Editing the task does not delete code.
MaterialsClick “Materials”.Upload PDF or images, choose a material, preview it, paste/drag a file, or delete a material.
SnapshotsClick “Snapshots”.View snapshot history, delete snapshots, copy notes, copy the PDF-summary prompt, download markdown, or print results.
FilesClick “Files”.Import working files for code, save current code as a file, download or delete files. You can drag, paste, or select files.
OutputOpens after Run or manually.View stdout, errors, input prompts, duration, and approximate resource metrics.
TurtleOpen “Turtle” or run code with Turtle commands.View browser-rendered Turtle graphics.
StudentsClick “Students”.See participants, online/editing status, rename students, copy invitation, grant or revoke editing access.

Files and Materials

CodeBoard has two different upload types: working files for code and lesson materials for viewing.

TypeWhere to uploadSupported formatsLimits and behavior
Working filesRoom → “Files” → “Upload files”, drag-and-drop, or paste..py, .txt, .csv, .jsonUp to 20 MB per file and 20 MB total. A .py file becomes main.py; uploading a Python file replaces the current code. Text, CSV, and JSON files are available to the program in the working directory.
Lesson materialsRoom → “Materials” → “Upload” or drag-and-drop..pdf, .png, .jpg, .jpeg, .webp, .gifUp to 20 MB per material. PDFs and images are available for viewing. Students cannot upload or delete materials.
Important: uploading a .py file replaces the current editor code in main.py. If you need to keep the current version, create a snapshot or download the code first.

Students and Editing Access

1

Copy the invitation link

Click “Copy invitation” in the room top bar or open “Students” and copy it there. Send the link to the class.

2

Student opens the link

If required, the student enters a name. After joining, the student appears in the “Students” tab.

3

Manage several students

Use “Students” to see all participants. For each student, grant or revoke editing access and rename them if needed.

The teacher can always edit. Among students, only one student can be the active editor; the others are read-only. If only one student joins, CodeBoard may assign editing access automatically. For group work, manage access manually in “Students”.
Collaboration synchronizes in real time. The teacher sees participants, statuses, and cursors. If the connection is unstable or access is revoked, the interface may temporarily switch a student to read-only and synchronize the latest code.

Run Python

Python runs in the browser through a WebAssembly runtime. This covers standard learning scenarios without local Python installation.

Output

Click “Run”. print() results, the value of the last expression, and errors appear in “Output”.

Input

If the program calls input(), “Output” asks for a line or EOF. One input line can be up to 64 KB.

Turtle

If the code uses import turtle, graphics appear in “Turtle” after running.

The runtime lives in the browser. If a program uses too much memory, hangs, or behaves strangely after several runs, click “Reset”.

Check output and input

name = input("What is your name? ")
print(f"Hello, {name}!")

for number in range(1, 4):
    print("Step", number)

Check Turtle

import turtle

t = turtle.Turtle()
for _ in range(4):
    t.forward(100)
    t.right(90)

Python Modules and Runtime Limits

CodeBoard runs Python through Pyodide. Most standard teaching tasks work, but browser runtime has limits.

CapabilityHow to use itLimits
Standard modulesUse regular imports such as import math, import random, or import json.Modules that depend on the local operating system, sockets, GUI, or system files may not work in the browser.
Pyodide packagesAdd an import. The runtime tries to load available Pyodide packages automatically from imports.Only packages available in Pyodide and usable in the browser can work. If a package is unavailable, the error appears in “Output”.
Your own filesUpload .py, .txt, .csv, or .json in “Files”.Before execution, runtime writes working files to the current directory. Old files, except main.py, are cleared and replaced by the room file list.
pip installationThere is no separate package installation button in the interface.If a lesson needs a non-standard library, test it in CodeBoard first. For unsupported packages, prepare an alternative task or request support for the library.
TurtleUse import turtle and basic movement, color, width, circle, dot, and fill commands.This is browser compatibility for teaching graphics, not the full desktop Turtle window. Keyboard/mouse handlers and dialogs may be stubbed.
Quick check: if the module imports and the code runs in CodeBoard, it can be used in the lesson. If an import fails, check the official Packages built in Pyodide list for Pyodide 0.29.3 or prepare an alternative.

Lesson Snapshots and Results

A snapshot saves the task, code, output, Turtle commands, and timestamp. Use snapshots to preserve intermediate solutions, final results, or homework context.

1

Open “Snapshots”

Go to “Snapshots” in the right panel.

2

Create a snapshot

Click “Snapshot” in the top bar when the code and output should be saved.

3

Move on or export results

“Snapshot and next” saves the current state and opens task editing for the next step. In “Snapshots”, you can copy notes, copy the PDF-summary prompt, download markdown, or print results.

“Next task” is not taken from an automatic queue. After “Snapshot and next”, CodeBoard saves the current step, opens “Task” in edit mode, and clears the draft title/instructions so the teacher can enter the next step.

FAQ

Do students need to install Python?

No. Basic Python runs directly in the browser. Students need a modern browser and stable internet.

Why can’t a student upload a file?

Working files and lesson materials can be uploaded by the teacher. Students work with files prepared by the teacher.

Can several students join one room?

Yes. Send the same invitation link to several students. The “Students” tab shows the participant list and lets you manage editing access.

Can only one student edit?

Yes. Open “Students”, revoke access for students who should only watch, and grant access to the student who should edit.

Can I replace starter code with a file?

Yes. Upload a .py file in “Files”. It becomes the current main.py and replaces the code already open in the editor. Create a snapshot or download the file first if you need to keep the current version.

How do I use a Python module?

Write a normal import. Standard modules work normally; available Pyodide packages are loaded automatically when possible. If the package is unavailable, the error appears in “Output”.

Which packages should be checked before class?

Standard teaching modules such as math, random, json, and statistics are usually suitable. Libraries with system dependencies, GUI, networking, local processes, or unsupported binary extensions should be checked in the official Packages built in Pyodide list and with a test run in the room.

Why does a program behave strangely after several runs?

The runtime may keep state between runs. Click “Reset” to restart Python runtime and clear accumulated state.

Troubleshooting and Quick Checks

SituationWhat to checkWhat to send support
Code does not runOpen “Output”, read the error, check syntax, imports, and working files.Room link, error text from “Output”, and code sample.
File does not uploadCheck extension, size up to 20 MB, and that the teacher is uploading.File name, size, extension, and whether you used “Files” or “Materials”.
Student does not see updatesAsk the student to refresh, check internet, open the correct room link, and check status in “Students”.Time of the issue, student name in the room, and room link.
Module does not importCheck that it is a standard module or an available Pyodide package. For local files, check that the file is uploaded in “Files”.Module name, import error, code with import, and room link.
Student cannot editOpen “Students” and check whether that student has editing access. If not, click “Grant access”.Student name, screenshot of “Students”, and room link.
Turtle is emptyMake sure the code actually runs Turtle commands after import turtle.Program code and screenshot of “Turtle”.
Support channel depends on your organization: use the chat, email, or form provided with CodeBoard access. If there is no channel, contact the course coordinator or administrator who issued the teacher account.
Minimum support request templateAttach
Subject:
Room link:
Who has the issue:
What was clicked:
Expected result:
Actual result:
Error text:
Screenshot, error text from “Output”, student name, file name and size, browser, and approximate time of the issue.