Online judge
Online judge (dosł. tłumaczenie sędzia internetowy, sprawdzarka (także sprawdzaczka), testerka) – strona internetowa dla programistów, której uczestnicy mogą nadsyłać napisane przez siebie programy, rozwiązując zadania algorytmiczne. W uproszczeniu, online judge to zbiór zadań dla programistów z automatycznym sprawdzaniem poprawności nadesłanych rozwiązań.
Zadania umieszczane w takich systemach są często podobne do tych spotykanych na takich konkursach programistycznych jak ACM ICPC lub Olimpiada informatyczna. Większość z nich sama organizuje własne konkursy. Istnieją również systemy przeznaczone dla poszczególnych konkursów.
Działanie systemu polega na skompilowaniu kodu wysłanego przez użytkownika i jego uruchomieniu na serwerze dla przygotowanych danych testowych. Sprawdzeniu podlega, czy program podaje poprawne wyniki w określonym limicie czasowym, limicie użytej pamięci i innych ograniczeniach.
Niektóre systemy typu online judge na świecie:
- SPOJ (Sphere Online Judge) – ponad 5000 problemów sformułowanych m.in. w językach angielskim, polskim, wietnamskim i portugalskim. Przyjmuje kody źródłowe w 39 językach programowania, jest możliwość organizowania własnych konkursów.
- Valladolid Problem Archive with Online Judge, ponad 2500 problemów
- Ural State University Problem Archive with Online Judge, ponad 700 problemów
- URI Online Judge, ponad 700 problemów
Niektóre polskie systemy typu Online Judge:
- Solve System – stworzony przez Karola Pokorskiego. Solve obsługuje języki C, C++, Pascal. Posiada zadania pogrupowane na 10 poziomów trudności, przygotowujące do olimpiad i konkursów.
- Themis – stworzony przez Wiktora Janasa, absolwenta LO nr 14 we Wrocławiu. Themis posiada ponad 2300 zadań z różnych źródeł, takich jak Olimpiada Informatyczna czy Potyczki Algorytmiczne. Obsługuje 3 języki programowania: C, C++ oraz „Maszyna”RAM" (abstrakcyjny model obliczeń).