/algoritmi-avansati-custom-checkers

Verificatori personalizați pentru problemele de pe CMS de la cursul de Algoritmi Avansați

Primary LanguagePython

Verificatori personalizați pentru problemele de pe platforma CMS

Începând cu anul universitar 2021-2022, în cadrul cursului de Algoritmi Avansați (curs de anul II, la programul de studiu Informatică de la FMI-UniBuc) se folosește platforma CMS pentru evaluarea și punctarea automată a problemelor de laborator.

Aplicația este un fork al proiectului online-judge, dezvoltat de DMOJ. Pe lângă customizările estetice și funcționale făcute la nivel de aplicație, pentru majoritatea problemelor avem configurați verificatori personalizați (custom checkers), care oferă un feedback mult mai detaliat și informativ studenților atunci când rezolvarea lor nu afișează soluția corectă.

Un custom checker se implementează definind o funcție Python care este încărcată și apelată de către evaluator după ce termină de executat o submisie. Această funcție are acces la output-ul generat de program și la fișierul cu output-ul „corect” (cel configurat de editor). Ea trebuie să compare cele două output-uri și să verifice dacă cel produs de submisie este conform cu cel așteptat.