
Wtyczka CodeRunner rozszerza możliwości testów (Quiz) w Moodle o pytania, w których odpowiedzią jest kod programu. Zamiast wybierania odpowiedzi A/B/C, osoba rozwiązująca tworzy fragment programu (lub uzupełnia wskazane miejsce w kodzie), a system automatycznie uruchamia rozwiązanie i ocenia je na podstawie przygotowanych testów.

Dzięki temu można sprawdzać nie tylko wiedzę teoretyczną, ale przede wszystkim umiejętność praktycznego rozwiązywania problemów programistycznych w warunkach podobnych do pracy „przy komputerze”.
Najczęstsze zastosowania obejmują: zadania z programowania (np. implementacja funkcji, algorytmy, przetwarzanie danych), krótkie ćwiczenia obliczeniowe, elementy programowania w arkuszach lub narzędziach obliczeniowych, a także pytania, w których ważny jest wynik działania programu, a nie sama deklaracja „jak powinno być”. CodeRunner dobrze sprawdza się zarówno w zadaniach treningowych (z informacją zwrotną), jak i w ocenianych kolokwiach czy egzaminach, gdzie liczy się obiektywność i powtarzalność oceny.
Kluczową funkcją CodeRunner jest automatyczna ocena odpowiedzi przez zestaw testów przygotowanych przez prowadzącego.

Testy mogą obejmować różne przypadki (także „brzegowe”), co pozwala oceniać poprawność rozwiązania w sposób bardziej rzetelny niż pojedynczy przykład. W zależności od konfiguracji możliwe jest przyznawanie punktów częściowych (np. gdy program przechodzi część testów) oraz ustawianie zasad związanych z poprawkami w quizie (np. kary za kolejne podejścia, jeśli quiz jest wielokrotnego podejścia).
Wtyczka umożliwia też bogatszą informację zwrotną niż tradycyjne pytania testowe. Po sprawdzeniu można pokazać, które testy zostały zaliczone, a które nie, oraz – zależnie od przyjętej polityki – udostępnić przykładowe dane wejściowe/wyjściowe lub komunikaty pomagające zrozumieć błąd. W trybie ćwiczeniowym taka informacja zwrotna wspiera uczenie się poprzez eksperymentowanie. W trybie egzaminacyjnym można ją ograniczyć, aby nie podpowiadała rozwiązania.
Istotną zaletą CodeRunner jest możliwość standaryzacji sposobu rozwiązywania zadań. Prowadzący może narzucić oczekiwany format odpowiedzi (np. „napisz funkcję o podanej nazwie”, „zwróć wynik w określonej postaci”), co zmniejsza liczbę nieporozumień i ułatwia porównywalność wyników. W wielu scenariuszach CodeRunner pozwala również na losowanie danych testowych lub wariantów zadań, co ogranicza ryzyko bezpośredniego kopiowania odpowiedzi między osobami rozwiązującymi.
Z perspektywy organizacji pracy dydaktycznej CodeRunner pomaga ograniczyć czas ręcznego sprawdzania, szczególnie w dużych grupach. Automatyczne sprawdzanie jest spójne, a wyniki trafiają bezpośrednio do ocen w quizie. Jednocześnie zachowuje się możliwość wglądu w odpowiedzi i ewentualnej korekty oceny (np. w sytuacjach wyjątkowych), zależnie od przyjętych zasad oceniania.
W praktyce warto traktować CodeRunner jako narzędzie do badania umiejętności, a nie tylko pamięci faktów. Dobrą praktyką jest przygotowanie testów obejmujących typowe przypadki użycia i sytuacje brzegowe, jasne opisanie wymagań w treści pytania oraz rozdzielenie zadań „naucz się na błędach” (z większą informacją zwrotną) od zadań weryfikujących (z ograniczoną informacją zwrotną). W przypadku przedmiotów, w których ważna jest czytelność i styl kodu, można uzupełniać CodeRunner o elementy oceny jakości (np. dodatkowe kryteria lub osobne zadania), ponieważ automatyczna ocena najłatwiej mierzy poprawność działania, a nie wszystkie aspekty „dobrego kodu”.
Więcej informacji można znaleźć na stronie producenta wtyczki: https://trampgeek.github.io/moodle-qtype_coderunner/