school Платформа для класса

Тренажёр Python Задания, автопроверка, журнал

Учитель заводит класс и выдаёт задания, ученик пишет код прямо в браузере, а тесты проверяют решение сами. Python исполняется на стороне ученика — ставить на школьные компьютеры ничего не нужно.

2 Роли: учитель и ученик
100% Бесплатно
🌐
В браузере
🚫
Без установки
Журнал · 9«Б» · Циклы
Ученик1234
Зоркий Гаусс✓✓✓•
Точная Нётер✓✓✗
Смелый Эйлер✓✓✓✓
Тихая Хоппер✓•
✓ зачтено • решает ✗ тесты не прошли
lightbulb О проекте

Кому и зачем

Обычный тренажёр учит одного человека. Этот — ведёт класс

checklist

Проверяет не учитель, а тесты

К заданию прикладываются тесты: входные данные и ожидаемый вывод. Ученик жмёт «Проверить» и сразу видит, что не сходится, — а учителю не приходится читать тридцать почти одинаковых программ.

АвтопроверкаЖурналКлассы
visibility_off

Скрытые тесты

Часть тестов ученику не видна. Программу, подогнанную под один пример из условия, это отсекает сразу.

table_chart

Журнал класса

Одна таблица: кто какое задание сдал, кто застрял. Видно код каждой попытки, а не только оценку.

quiz

Не только код

Кроме задач на программирование — тесты с выбором ответа: теория, синтаксис, чтение чужого кода.

key

Ученики без имён

Учитель указывает только, сколько учеников завести. Платформа выдаёт каждому логин-псевдоним вида «Стойкий Колмогоров 3F2A» и PIN-код — одной таблицей на печать. Ни фамилий, ни почты детей сервис не знает.

import_export

Уроки переносятся файлом

Готовый курс выгружается и загружается JSON-ом: можно поделиться с коллегой или перенести на другой сервер.

touch_app Стенд проверки

Выберите решение и прогоните тесты

Три ответа на одну задачу — такие и приходят от класса. Открытые тесты ученик видит и отлаживается по ним, скрытые узнаёт только по вердикту.

Стенд проверки требует JavaScript. Сам тренажёр с редактором кода и автопроверкой открывается кнопкой ниже.

Здесь вердикты заранее записаны — стенд показывает логику проверки, а не выполняет Python. В самом тренажёре код ученика по-настоящему исполняется у него в браузере.

auto_awesome Возможности

Что внутри

🐍

Python в браузере

Настоящий CPython, собранный в WebAssembly (Pyodide)

  • Ничего не ставить на ПК
  • Код не уходит на сервер
  • Работает и дома
✅

Тесты к заданию

Открытые — для отладки, скрытые — для честной сдачи

  • Ввод и ожидаемый вывод
  • Мгновенный вердикт
  • Видно, что не сошлось
📊

Журнал и классы

Успеваемость всего класса на одном экране

  • Прогресс по каждому
  • Код любой попытки
  • Отметка о списывании
📝

Уроки и темы

Курс из тем, уроков и заданий; выдача — по классам

  • Свой порядок заданий
  • Бонусные задачи
  • Импорт и экспорт
rocket Начать

Как начать вести класс

1

Зарегистрируйтесь учителем

Нужен только пароль: логин вида «Везучая медуза 1A2B» выдаст сервис. Ни почты, ни телефона, ни ФИО

2

Заведите класс и учеников

Укажите, сколько учеников: логины-псевдонимы и PIN-коды платформа выдаст сама, одной таблицей

3

Соберите урок с заданиями

К каждой задаче добавьте тесты — часть открытыми, часть скрытыми

4

Выдайте урок классу

Ученики входят по логину и PIN и решают; результаты сходятся в журнал

menu_book Справка

Как учить программированию целым классом

Почему проверка «глазами» не масштабируется

Первая же самостоятельная работа по программированию упирается в арифметику: тридцать учеников, у каждого своя программа на пятнадцать строк, и каждую надо прочитать, запустить в голове и найти, где мысль свернула не туда. На один класс это час работы, на пять классов — вечер. Именно поэтому программирование в школе часто сводится к переписыванию примеров с доски: проверить переписанное быстро, а проверить придуманное — долго.

Автопроверка снимает ровно эту часть. Тест — это пара «что подали на вход» и «что должно получиться на выходе»; программа ученика запускается на всех тестах, и ученик видит результат сам, до сдачи. Учителю остаётся то, ради чего он и нужен: разобрать с застрявшим, почему не сходится. Журнал показывает, у кого какое задание зачтено, а у кого решение не проходит третий тест уже пятую попытку — это и есть список тех, к кому стоит подойти.

Открытые и скрытые тесты: зачем делить

Открытые тесты ученик видит целиком — с входными данными и ожидаемым ответом. Они нужны для отладки: непонятно, почему не сходится, — посмотри, на каком именно наборе. Без них проверка превращается в угадайку, а ученик злится на «красную кнопку», которая ничего не объясняет.

Скрытые тесты решают другую задачу. Программу можно подогнать под конкретный пример из условия — вплоть до «напечатать 15», — и открытые тесты она пройдёт. Скрытые ломают этот путь: подгонять не под что. Заодно они ловят честные, но неполные решения — те, где не продуман граничный случай: пустой ввод, ноль, единственный элемент. В стенде выше это показывает третье решение: рекурсия работает на обоих примерах из условия и разваливается на n = 0.

Почему Python исполняется в браузере

Обычно тренажёры с проверкой кода запускают программы ученика на сервере — и это две проблемы сразу: чужой код надо изолировать, чтобы он не положил машину, а на тридцать одновременных запусков нужны ресурсы. Здесь код выполняется прямо в браузере ученика: Pyodide — это настоящий CPython, собранный в WebAssembly. Сервер хранит задания, тесты и журнал, но чужой код не исполняет.

Для школы у этого есть практическое следствие: на компьютеры в кабинете не нужно ставить ни Python, ни IDE, ни расширения — а значит, не нужно и договариваться с тем, у кого есть права администратора. Работает на школьных машинах, на домашнем ноутбуке и на планшете одинаково. Оборотная сторона честная: первый запуск подгружает интерпретатор, это несколько секунд и заметный объём трафика, поэтому на уроке лучше открыть тренажёр заранее, а не по звонку.

quiz FAQ

Часто задаваемые вопросы

Нужно ли ставить Python на школьные компьютеры? expand_more
Нет. Python здесь настоящий, но собранный в WebAssembly и запускаемый прямо в браузере ученика (проект Pyodide). Нужен только браузер — подойдут и слабые машины в кабинете, и домашний ноутбук.
Код учеников уходит на сервер? expand_more
Программа выполняется в браузере ученика, а не на сервере. На сервер сохраняется текст решения — чтобы учитель видел его в журнале и мог разобрать ошибку.
Какие данные детей нужны? expand_more
Никаких. Имён и фамилий платформа не принимает: учитель указывает только количество учеников, а каждый получает логин-псевдоним из фамилии учёного с коротким кодом — «Стойкий Колмогоров 3F2A», «Точная Лавлейс 07B1» — и PIN-код. Кому какую карточку раздать, решает учитель, и это соответствие остаётся у него, а не в системе. Заодно у класса появляется повод узнать, кто такие Колмогоров и Лавлейс.
Что мешает списать? expand_more
Скрытые тесты: решение, подогнанное под пример из условия, на них падает. Плюс учитель видит код каждой попытки и отметки о подозрительной активности — например, о вставке большого куска кода целиком.
Можно ли давать не только задачи на код? expand_more
Да, кроме задач с автопроверкой есть тесты с выбором ответа — для теории и разбора чужого кода.
Для каких классов подходит? expand_more
Для 7–11 классов и для внеурочных занятий: с момента, когда начинается текстовое программирование. Тем, кто ещё пишет блоками, лучше начать со Scratch или Blockly Games.
Это бесплатно? expand_more
Да, платформа бесплатна. Исходный код открыт — при желании школа может поднять свою копию на своём сервере.
🐍

Готовы завести класс?

Регистрация занимает минуту: пароль и галочка — логин выдаст сервис

rocket_launch Открыть тренажёр open_in_new