Одиннадцать систем, которыми проверяют код студентов в российских вузах: от бесплатного Яндекс.Контеста и плагинов Moodle до специализированных автогрейдеров и самописных решений кафедр. Сравниваем по шести критериям, которые решают судьбу внедрения: какие задания система умеет проверять, куда попадает балл, кто держит инфраструктуру, где лежат данные, сколько это стоит и что придётся освоить преподавателю. Без рекламных обобщений: у каждой системы названы её сильные стороны.
● Apricot работает на кафедрах МФТИ, ВШЭ, МГТУ и Центрального университета · пилот на курс бесплатно
Пять классов решений, которые в вузах называют одним словом «автопроверка».
Система автоматической проверки заданий по программированию — это сервис, который принимает решение студента, запускает его в изолированной среде на тестах преподавателя и выставляет балл без участия человека. Преподаватель задаёт тесты и критерии один раз, а дальше проверяет только спорные работы. Системы различаются тем, какие задания умеют проверять, куда попадает оценка и кто держит инфраструктуру.
На практике под этим названием живут пять разных классов решений. Контест-системы — Яндекс.Контест, Ejudge, Contester — пришли из олимпиад: задача со входом и выходом, лимиты времени и памяти, таблица результатов. Плагины к LMS — CodeRunner и VPL для Moodle — встраивают проверку кода в уже существующий курс и журнал оценок. Платформы курсов — Stepik, Codio — дают конструктор курса с теорией и практикой и классы для преподавателя. Специализированные автогрейдеры для кафедр — Apricot, CodeGrade, SmartClass на GitVerse — принимают репозитории и файлы, проверяют не только код и ведут ведомость курса. И наконец самописные вузовские системы вроде T-BMSTU в МГТУ или КАППА в ЧелГУ, сделанные под нужды одной кафедры.
Бесплатная система с открытым кодом стоит времени администратора, а сервис без своей инфраструктуры может не уметь проверять SQL или Docker. Контест с идеальной проверкой алгоритмов не ведёт ведомость семестра, а платформа курсов с ведомостью не принимает репозитории. Поэтому ниже шесть критериев и одна таблица: выбор делается по их сочетанию, а не по цене или популярности.
Именно эти вопросы всплывают на второй неделе внедрения, когда менять систему уже дорого.
Контест, плагин к LMS, платформа курсов, автогрейдер для кафедры или самописная система: класс определяет, что система умеет по умолчанию и чего от неё не стоит ждать.
Код по тестам умеют все. Разница начинается на SQL-запросах, Git-репозиториях, Dockerfile, Kubernetes-манифестах и ML-моделях, которые оцениваются по метрике.
Куда попадает балл: в таблицу контеста, в журнал Moodle или в ведомость курса со штрафами за просрочку, весами и пересдачами. Это определяет, сколько ручной работы остаётся после проверки.
Кто держит серверы проверки и где хранятся данные студентов. Для российского вуза это вопрос и бюджета ИТ-отдела, и требований к локализации данных.
Бесплатно, за студента в валюте или подписка кафедры в рублях. Бесплатные системы с открытым кодом оплачиваются временем администратора.
Что нужно освоить, чтобы завести первое задание: конструктор в браузере, формат тестов контеста, вопросы Moodle или CI-пайплайн в Git.
Одиннадцать систем по шести критериям. Первая строка — Apricot, остальные в порядке от контестов к самописным решениям.
Сверено по сайтам и документации систем · 2026-09-07
| Система | Класс решения | Типы заданий | Оценка, ведомость, дедлайны | Инфраструктура и данные | Оплата | Порог входа преподавателя |
|---|---|---|---|---|---|---|
| Apricot | Автогрейдер для кафедры: задания, посылки, проверка, ведомость | Код (Python, C++, Java, Go, Rust, Bash, JS), SQL на реальной PostgreSQL, Git-репозитории, Dockerfile и docker-compose, Kubernetes, ML-модели по метрикам | Балл сразу в ведомости курса: дедлайны, штрафы за просрочку, веса, пересдачи, история попыток | Держим мы, данные в России; on-premise в контуре вуза по запросу | Пилот на один курс бесплатно, дальше подписка кафедры в рублях | Низкий: браузер, готовые шаблоны заданий, первые чекеры пишем вместе |
| Яндекс.Контест | Контест-система: олимпиады, экзамены, домашние задания по алгоритмам | Код на десятках языков с проверкой по тестам stdin/stdout, лимиты времени и памяти, свои чекеры на testlib | Таблица результатов контеста в реальном времени; ведомость курса с штрафами и пересдачами ведёте отдельно | Инфраструктура Яндекса, данные в России | Бесплатно | Низкий для алгоритмических задач; для нестандартных проверок нужен чекер |
| Ejudge | Свободная контест-система для олимпиад и лабораторных | Код на многих языках, тонко настраиваемые чекеры и форматы отчётов | Результаты контеста, штрафы и дедлайны на уровне тура; ведомость курса отдельно | Ваш сервер под Linux, данные у вас | Бесплатно, открытый код | Высокий: установка и администрирование своими силами |
| Contester | Система турниров и индивидуального решения задач | Код: C++, Pascal, Java, C#, Visual Basic — сравнение вывода с эталоном | Результаты турнира; ведомости курса нет | Ваш сервер под Windows или Linux | Бесплатно | Средний: установка на свой сервер |
| Moodle + CodeRunner | Тип вопроса в тесте Moodle, открытый код | Код: Python, C, C++, Java, JavaScript, PHP, SQL и другие — запуск на наборе тестов | Балл в журнал оценок Moodle со всеми его дедлайнами и попытками | Ваш Moodle плюс отдельный сервер-песочница Jobe | Бесплатно | Средний: нужен администратор Moodle и Jobe; задания собираются как вопросы теста |
| Moodle + VPL | Модуль активности Moodle для программирования, открытый код | Код в браузерном редакторе, запуск и тесты; поиск сходства решений; ограничения на вставку и файлы | Балл в журнал Moodle; промежуточные версии и ручная проверка отдельных мест | Ваш Moodle плюс отдельный VPL Jail Server | Бесплатно | Средний: настройка Jail Server и скриптов проверки |
| Stepik | Платформа онлайн-курсов с классами для преподавателей | Больше 20 типов шагов: код в браузере на Python, Java, C++, JavaScript и других, тесты, задачи с ручной проверкой | Класс: решения и оценки учащихся, дедлайны; загрузка оценок преподавателем — в платных курсах | Инфраструктура Stepik, данные в России | Создание курсов и классы бесплатно; расширенные функции платно | Низкий: конструктор курса в браузере |
| SmartClass (GitVerse) | Инструмент управления учебными заданиями на Git-платформе GitVerse от СберТеха | Код в Git-репозиториях: CI/CD, code review; ИИ-анализ решений через GigaCode | Управление заданиями и проверка через ИИ-расширения; ведомость с дедлайнами и штрафами не заявлена | Инфраструктура GitVerse, данные в России | Бесплатно | Средний: преподаватель и студенты работают через Git и CI |
| Codio и Classroom 50 | Преемники закрытого GitHub Classroom: платформа курсов и свободная утилита | Codio: код в браузере и автогрейдинг; Classroom 50: репозитории и автотесты через GitHub Actions | Codio: да; Classroom 50: баллы из тестов, ведомость вне утилиты | Codio: серверы за рубежом; Classroom 50: ваш сервер плюс GitHub | Codio: вузам 50 лицензий на 12 месяцев, дальше в USD; Classroom 50: бесплатно | Codio низкий; Classroom 50 высокий, разворачиваете сами |
| CodeGrade | Западный автогрейдер с интеграцией в LMS | Код на многих языках, Jupyter, тесты и викторины; платный ИИ-помощник | Да, с передачей оценок в Canvas, Moodle, Blackboard, Brightspace | Серверы CodeGrade за рубежом | Бесплатно до 50 студентов на курс, дальше $24–39 за студента за курс | Низкий, но оплата в валюте и данные за рубежом |
| Самописные вузовские системы | Собственные разработки кафедр: T-BMSTU в МГТУ, КАППА в ЧелГУ и подобные | Под задачи конкретной кафедры, обычно код по тестам и поиск заимствований | Как реализовано на кафедре | Серверы вуза | Стоимость разработки и поддержки своими силами | Зависит от кафедры-разработчика; вне неё обычно недоступны |
GitHub Classroom в таблице нет: сервис отключён 28 августа 2026 года, вместо него показаны названные GitHub преемники Codio и Classroom 50. Как перенести курс — на странице «Замена GitHub Classroom».
Контест остаётся лучшим бесплатным инструментом для алгоритмических задач. Вопрос в том, что происходит после них.
Яндекс.Контест закрывает алгоритмический курс целиком: задачи со входом и выходом, лимиты, свои чекеры на testlib, группы участников и таблица результатов в реальном времени. Он бесплатен, не требует своей инфраструктуры и знаком студентам по олимпиадам. Если курс состоит из таких задач, альтернатива не нужна.
Альтернатива нужна, когда задание перестаёт помещаться в формат «ввод — вывод». Репозиторий с историей коммитов, SQL-запрос к базе, Dockerfile и стек docker-compose, обученная модель, которую надо оценить по метрике, — всё это проверяется не сравнением вывода, а запуском в окружении курса. Вторая причина — ведомость: контест считает баллы тура, а семестровому курсу нужны дедлайны, штрафы за просрочку, веса заданий, пересдачи и история попыток каждого студента в одном месте. Третья — аналитика по группам: кто завис на каком задании и где тесты слишком жёсткие.
Рабочая схема многих кафедр: алгоритмическую часть курса оставить в Контесте, а лабораторные с репозиториями, SQL и Docker проверять в автогрейдере, который ведёт ведомость. Так контест остаётся тем, чем он хорош, а всё остальное не превращается в ручную проверку.
Шесть типовых ситуаций и честный ответ для каждой — не всегда в нашу пользу.
Яндекс.Контест или Ejudge. Бесплатно, привычно студентам, свои чекеры. Автогрейдер здесь избыточен.
CodeRunner для небольших задач как вопросов теста, VPL для проектных работ с редактором и поиском сходства. Оба бесплатны и пишут балл в журнал Moodle.
Stepik. Конструктор курса, больше двадцати типов шагов, классы для преподавателя, данные в России.
SmartClass на GitVerse или SourceCraft Education: репозитории, пайплайны, code review и ИИ-анализ решений. Ведомость придётся вести рядом.
Apricot. Все типы заданий из коробки, балл сразу в ведомости со штрафами и пересдачами, инфраструктуру держим мы, данные в России, пилот на курс бесплатно.
Ejudge или собственная система на базе CI. Максимальная гибкость в обмен на установку, поддержку и разработку своими силами.
Расскажите, какие задания и сколько студентов. Настроим два-три ваших задания за 1–2 дня и прогоним посылки прошлого семестра. Пилот на один курс — бесплатно.