apricot.§ H / сравнение систем проверки заданий
ОБНОВЛЕНО 07.09.2026

Системы автоматической проверки заданий по программированию — сравнение для кафедры вуза

Одиннадцать систем, которыми проверяют код студентов в российских вузах: от бесплатного Яндекс.Контеста и плагинов Moodle до специализированных автогрейдеров и самописных решений кафедр. Сравниваем по шести критериям, которые решают судьбу внедрения: какие задания система умеет проверять, куда попадает балл, кто держит инфраструктуру, где лежат данные, сколько это стоит и что придётся освоить преподавателю. Без рекламных обобщений: у каждой системы названы её сильные стороны.

Apricot работает на кафедрах МФТИ, ВШЭ, МГТУ и Центрального университета · пилот на курс бесплатно

01систем в сравнении
11
02критериев
6
03бесплатных вариантов
7
04факты сверены
07.09.2026
§ 01

Что такое система автоматической проверки заданий и какими они бывают

Пять классов решений, которые в вузах называют одним словом «автопроверка».

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

На практике под этим названием живут пять разных классов решений. Контест-системы — Яндекс.Контест, Ejudge, Contester — пришли из олимпиад: задача со входом и выходом, лимиты времени и памяти, таблица результатов. Плагины к LMS — CodeRunner и VPL для Moodle — встраивают проверку кода в уже существующий курс и журнал оценок. Платформы курсов — Stepik, Codio — дают конструктор курса с теорией и практикой и классы для преподавателя. Специализированные автогрейдеры для кафедр — Apricot, CodeGrade, SmartClass на GitVerse — принимают репозитории и файлы, проверяют не только код и ведут ведомость курса. И наконец самописные вузовские системы вроде T-BMSTU в МГТУ или КАППА в ЧелГУ, сделанные под нужды одной кафедры.

Почему нельзя выбирать по одному критерию

Бесплатная система с открытым кодом стоит времени администратора, а сервис без своей инфраструктуры может не уметь проверять SQL или Docker. Контест с идеальной проверкой алгоритмов не ведёт ведомость семестра, а платформа курсов с ведомостью не принимает репозитории. Поэтому ниже шесть критериев и одна таблица: выбор делается по их сочетанию, а не по цене или популярности.

§ 02

Шесть критериев, по которым сравниваем

Именно эти вопросы всплывают на второй неделе внедрения, когда менять систему уже дорого.

  • 01

    Класс решения

    Контест, плагин к LMS, платформа курсов, автогрейдер для кафедры или самописная система: класс определяет, что система умеет по умолчанию и чего от неё не стоит ждать.

  • 02

    Типы заданий

    Код по тестам умеют все. Разница начинается на SQL-запросах, Git-репозиториях, Dockerfile, Kubernetes-манифестах и ML-моделях, которые оцениваются по метрике.

  • 03

    Оценка, ведомость, дедлайны

    Куда попадает балл: в таблицу контеста, в журнал Moodle или в ведомость курса со штрафами за просрочку, весами и пересдачами. Это определяет, сколько ручной работы остаётся после проверки.

  • 04

    Инфраструктура и данные

    Кто держит серверы проверки и где хранятся данные студентов. Для российского вуза это вопрос и бюджета ИТ-отдела, и требований к локализации данных.

  • 05

    Оплата

    Бесплатно, за студента в валюте или подписка кафедры в рублях. Бесплатные системы с открытым кодом оплачиваются временем администратора.

  • 06

    Порог входа преподавателя

    Что нужно освоить, чтобы завести первое задание: конструктор в браузере, формат тестов контеста, вопросы Moodle или CI-пайплайн в Git.

§ 03

Сравнение систем проверки заданий по программированию

Одиннадцать систем по шести критериям. Первая строка — 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 ActionsCodio: да; Classroom 50: баллы из тестов, ведомость вне утилитыCodio: серверы за рубежом; Classroom 50: ваш сервер плюс GitHubCodio: вузам 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».

§ 04

Альтернатива Яндекс.Контест для учебного курса: когда она нужна

Контест остаётся лучшим бесплатным инструментом для алгоритмических задач. Вопрос в том, что происходит после них.

Яндекс.Контест закрывает алгоритмический курс целиком: задачи со входом и выходом, лимиты, свои чекеры на testlib, группы участников и таблица результатов в реальном времени. Он бесплатен, не требует своей инфраструктуры и знаком студентам по олимпиадам. Если курс состоит из таких задач, альтернатива не нужна.

Альтернатива нужна, когда задание перестаёт помещаться в формат «ввод — вывод». Репозиторий с историей коммитов, SQL-запрос к базе, Dockerfile и стек docker-compose, обученная модель, которую надо оценить по метрике, — всё это проверяется не сравнением вывода, а запуском в окружении курса. Вторая причина — ведомость: контест считает баллы тура, а семестровому курсу нужны дедлайны, штрафы за просрочку, веса заданий, пересдачи и история попыток каждого студента в одном месте. Третья — аналитика по группам: кто завис на каком задании и где тесты слишком жёсткие.

Как сочетать, а не заменять

Рабочая схема многих кафедр: алгоритмическую часть курса оставить в Контесте, а лабораторные с репозиториями, SQL и Docker проверять в автогрейдере, который ведёт ведомость. Так контест остаётся тем, чем он хорош, а всё остальное не превращается в ручную проверку.

§ 05

Какую систему выбрать: по сценарию кафедры

Шесть типовых ситуаций и честный ответ для каждой — не всегда в нашу пользу.

  • Если

    Курс алгоритмический, задачи со входом и выходом

    Яндекс.Контест или Ejudge. Бесплатно, привычно студентам, свои чекеры. Автогрейдер здесь избыточен.

  • Если

    Курс уже живёт в Moodle и есть администратор

    CodeRunner для небольших задач как вопросов теста, VPL для проектных работ с редактором и поиском сходства. Оба бесплатны и пишут балл в журнал Moodle.

  • Если

    Нужен массовый открытый курс с теорией и практикой

    Stepik. Конструктор курса, больше двадцати типов шагов, классы для преподавателя, данные в России.

  • Если

    Курс учит промышленной разработке через Git и CI

    SmartClass на GitVerse или SourceCraft Education: репозитории, пайплайны, code review и ИИ-анализ решений. Ведомость придётся вести рядом.

  • Если

    Кафедра проверяет SQL, Docker, ML и хочет ведомость без ручной сводки

    Apricot. Все типы заданий из коробки, балл сразу в ведомости со штрафами и пересдачами, инфраструктуру держим мы, данные в России, пилот на курс бесплатно.

  • Если

    Есть свои DevOps-силы и нестандартные требования к проверке

    Ejudge или собственная система на базе CI. Максимальная гибкость в обмен на установку, поддержку и разработку своими силами.

§ 06

Вопросы о системах проверки заданий

  • 01Что такое система автоматической проверки заданий по программированию?+
  • 02Чем автогрейдер для кафедры отличается от контест-системы?+
  • 03Можно ли обойтись Яндекс.Контестом?+
  • 04Что выбрать, если вуз уже работает в Moodle?+
  • 05Нужен ли кафедре свой сервер?+
  • 06Как автоматически проверять SQL, Docker и ML-задания?+
  • 07Сколько стоят такие системы?+
  • 08Как проверить систему до выбора?+
Автор страницы

Павел Ахтямов

Преподаватель МФТИ и факультета компьютерных наук НИУ ВШЭ: распределённые системы, облачные вычисления, DevOps и инфраструктура разработки. Создатель Apricot — автогрейдера, выросшего из его курсов.

Проверьте на своём курсе, а не по таблице

Расскажите, какие задания и сколько студентов. Настроим два-три ваших задания за 1–2 дня и прогоним посылки прошлого семестра. Пилот на один курс — бесплатно.

APRICOT © 2022–2026·EdTech Automation · RU / EN·BUILD 2026.09