PythonTeaching Python для всего класса
Соберите урок из задач с автопроверкой и квизов, заведите класс за минуту и смотрите в журнале, кто что решил и каким кодом. Программы учеников выполняются у них в браузере, а имён детей сервис не хранит вовсе.
Задача 3. Сумма от 1 до n
Что умеет PythonTeaching
Не задачник, а рабочее место учителя: уроки, класс и журнал в одном окне
Класс за минуту, без имён
Скажите, сколько учеников в классе, — сервис выдаст столько же логинов-псевдонимов вида «Стойкий Колмогоров» с PIN-кодами. Карточки печатаются из одноразового отчёта, а имён, фамилий и почты детей в базе нет вовсе.
Задачи с автопроверкой
Условие, заготовку кода и тесты «вход → ожидаемый вывод» задаёт учитель. Ученик запускает проверку сам и видит, какой тест не сошёлся, ещё до сдачи.
Квизы
Вопросы с одним или несколькими вариантами ответа и с вводом текста — чтобы проверить теорию между задачами.
Журнал с кодом попыток
По каждому классу и уроку видно, кто что решил. Код любой попытки открывается одним щелчком — разбирать ошибку можно по тому, что ученик написал на самом деле.
Хронология работы
Для каждой задачи видно, как шла работа: запуски с ошибкой, успешные проверки, копирование, вставка из буфера и уходы со вкладки.
Уроки в папках, экспорт и импорт
Уроки раскладываются по темам-папкам и назначаются нужным классам. Урок, тему или все уроки сразу можно выгрузить в файл и загрузить обратно — например, коллеге.
Как провести урок
Заведите класс
Укажите число учеников и распечатайте карточки с логинами и PIN-кодами. Ученик потерял карточку — PIN сбрасывается в карточке класса.
Соберите урок
Добавьте задачи с тестами и квизы и расставьте их по порядку. Изменения сохраняются сами.
Назначьте урок
Один урок можно назначить сразу нескольким классам — ученики увидят его у себя после входа.
Смотрите журнал
Кто решил, кто застрял на третьем тесте и каким кодом — всё в одной таблице. Подойти стоит к тем, у кого красное.
Как учить программированию целым классом
Почему проверка «глазами» не масштабируется
Первая же самостоятельная работа по программированию упирается в арифметику: тридцать учеников, у каждого своя программа на пятнадцать строк, и каждую надо прочитать, запустить в голове и найти, где мысль свернула не туда. На один класс это час работы, на пять классов — вечер. Именно поэтому программирование в школе часто сводится к переписыванию примеров с доски: проверить переписанное быстро, а проверить придуманное — долго.
Автопроверка снимает ровно эту часть. Тест — это пара «что подали на вход» и «что должно получиться на выходе»; программа ученика запускается на всех тестах, и ученик видит результат сам, до сдачи. Учителю остаётся то, ради чего он и нужен: разобрать с застрявшим, почему не сходится. Журнал показывает, у кого какое задание зачтено, а у кого решение не проходит третий тест уже пятую попытку — это и есть список тех, к кому стоит подойти.
Открытые и скрытые тесты: зачем делить
Открытые тесты ученик видит целиком — с входными данными и ожидаемым ответом. Они нужны для отладки: непонятно, почему не сходится, — посмотри, на каком именно наборе. Без них проверка превращается в угадайку, а ученик злится на «красную кнопку», которая ничего не объясняет.
Скрытые тесты решают другую задачу. Программу можно подогнать под конкретный пример из условия — вплоть до «напечатать 15», — и открытые тесты она пройдёт. Скрытые ломают этот путь: подгонять не под что. Заодно они ловят честные, но неполные решения — те, где не продуман граничный случай: пустой ввод, ноль, единственный элемент. Например, рекурсивная сумма от 1 до n с условием остановки n == 1 проходит оба примера из условия и уходит в бесконечную рекурсию на n = 0.
Почему Python исполняется в браузере
Обычно тренажёры с проверкой кода запускают программы ученика на сервере — и это две проблемы сразу: чужой код надо изолировать, чтобы он не положил машину, а на тридцать одновременных запусков нужны ресурсы. Здесь код выполняется прямо в браузере ученика: Pyodide — это настоящий CPython, собранный в WebAssembly. Сервер хранит задания, тесты и журнал, но чужой код не исполняет.
Для школы у этого есть практическое следствие: на компьютеры в кабинете не нужно ставить ни Python, ни IDE, ни расширения — а значит, не нужно и договариваться с тем, у кого есть права администратора. Работает на школьных машинах, на домашнем ноутбуке и на планшете одинаково. Оборотная сторона честная: первый запуск подгружает интерпретатор, это несколько секунд и заметный объём трафика, поэтому на уроке лучше открыть тренажёр заранее, а не по звонку.
Данные и разрешения
Сервис работает с детьми, поэтому про данные — сразу и прямо.
-
Без имён детей
Ученика в сервисе представляют только псевдоним, который выдаёт сам сервис, и хеш PIN-кода. Имён, фамилий, почты и других сведений о личности ученика PythonTeaching не принимает.
-
Код выполняется у ученика
Программы запускаются в браузере ученика (Pyodide, Python в WebAssembly). На сервер приходят сохранённый код и результат проверки — чтобы учитель видел их в журнале.
-
Всё с нашего домена
Интерпретатор, редактор и шрифты раздаются с app.педобраз.рф, без CDN. Счётчик посещений и реклама включаются только после согласия в баннере.
Подробно о том, что и зачем хранит сервис, — в политике обработки персональных данных; отозвать согласие можно в настройках приватности.
Часто задаваемые вопросы
Сколько это стоит? expand_more
Нужно ли вводить имена учеников? expand_more
Ученик потерял PIN — что делать? expand_more
Где выполняется код учеников? expand_more
Можно ли перенести уроки коллеге? expand_more
Чем PythonTeaching отличается от PythonTutor 2.0? expand_more
Проведите следующий урок Python здесь
Класс заводится за минуту, урок собирается из задач с тестами и квизов. Бесплатно и без имён учеников.
rocket_launch Открыть PythonTeaching open_in_new