Skip to content

faramir/ZawodyWeb

Repository files navigation

ZawodyWeb

Serwis konkursowy ZawodyWeb został stworzony jako wynik analiz prowadzonych w ramach laboratorium z przedmiotu Modelowanie i Analiza Systemów Informatycznych (MASI) w roku akademickim 2008/2009 na Wydziale Matematyki i Informatyki Uniwersytetu Mikołaja Kopernika w Toruniu.

Zespół rozwijający ZawodyWeb

  • Marek Nowicki (kierownik)
  • Sławomir Krysztowiak
  • Bartosz Paprzycki
  • Jakub Prabucki
  • Łukasz Siewierski

Zarys historii systemu

Aktualna wersja systemu ZawodyWeb jest już trzecią z kolei wersją systemu do automatycznego testowania rozwiązań.

Historia rozpoczęła się w 2002 roku. W tym czasie powstał system informatyczny pozwalający na rejestrację uczestników Konkursu Informatycznego WMiI UMK i zgłaszanie rozwiązań zadań przez system www. System się rozbudowywał i w kolejnych latach pozwalał na ocenianie rozwiązań w samym systemie i generowanie rankingu uczestników po skończonym etapie.

W 2006 roku, na potrzeby Minikonkursu Programistycznego TFNiS (Toruński Festiwal Nauki i Sztuki), powstał system automatycznie sprawdzający rozwiązania stworzone w języku PHP i Java. Interfejs webowy również był napisany w języku PHP, a po stronie serwera działał deamon napisany w języku Python wykorzystujący rozwiązania stworzone w języku C. Była to samodzielna praca Marka Nowickiego.

W 2007 roku, w ramach zajęć z Programowania Obiektowego (Java), powstał nowy system, który został nazwany ZawodyWeb. Pozwalał on na automatyczne testowanie rozwiązań stworzonych w językach Pascal, C, C++, Java, PHP, etc.). Cały system (interfejs WWW, JudgeManager i Judge) został napisany w języku Java. Z perspektywy czasu okazało się, że nie był zaawansowany technologicznie i wszelkie prace rozwojowe, związane z konserwacją i utrzymaniem były bardzo uciążliwe a dodawanie nowych funkcjonalności trudne. Ta wersja systemu również została wykonana samodzielnie przez Marka Nowickiego.

Aktualna wersja systemu ZawodyWeb powstała w 2009 roku w ramach zajęć z Modelowania i Analizy Systemów Informatycznych. Założenia systemu pozostały takie same jak wersji poprzednich. Również wykorzystano język Java. Zastosowano jednak nowsze technologie. Ponadto zmodernizowano interfejs użytkownika. System pozwala na automatyczne sprawdzanie poprawności rozwiązań napisanych w językach Pascal, C, C++, Java, Python a także na ręczną ocenę wysłanych prac. Dzięki zastosowaniu nowych technologii możliwe było łatwiejsze rozszerzanie funkcjonalności. Tym razem oprócz Marka Nowickiego, system był rozwijany przez Sławomira Krysztowiaka, Bartosza Paprzyckiego, Jakuba Prabuckiego, Łukasza Siewierskiego.

System ZawodyWeb został wdrożony na Wydziale i używany w ramach zajęć Konwersatorium Algorytmiki Turniejowej (KAT), jak również innych zajęć z programowania ze studentami (m.in. Podstawy Programowania, Programowanie I (C), Programowanie II (C++), Algorytmy i Struktury Danych), a także w ramach Ragionalnego Koła Informatycznego czy w ramach zajęć z informatyki w IV Liceum Ogólnokształcącym. Wykorzystuje się ten system także do eliminacji do krajowych i międzynarodowych zawodów w programowaniu zespołowym (tj. Akademickie Mistrzostwa Polski w Programowaniu Zespołowym, ACM ICPC CERC Central European Regional Contest).

Mimo swoich lat, nadal jest aktywnie wykorzystywany i rozwijany.