BaCa
BaCa (http://baca.ii.uj.edu.pl ) to automatyczna testerka zadań. Po przesłaniu kodu źródłowego zadania, system sam sprawdza, czy twój program działa poprawnie i w zależności od tego ile testów uda ci się zaliczyć przydziela odpowiednią ilość punktów. Działa tam też antyplagiatorka - pamiętaj więc o uczciwości!
Hasło
Hasło do BaCy dostaniesz od prowadzącego dany kurs (na początek z Programowania 1) w USOSwebie w zakładce sprawdziany. Niestety, nie jest to hasło globalne i każdy kurs ma osobne konto. W razie potrzeby, prowadzący grupę może zresetować ci hasło do konta.
Wysyłanie rozwiązań
Rozwiązanie należy opracować zgodnie z zasadami podanymi w treści zadania (zazwyczaj konieczne jest również spakowanie plików do postaci .zip). Bardzo ważne jest umieszczenie w rozwiązaniu odpowiedniego nagłówka - zazwyczaj komentarza zawierającego imię i nazwisko (czasami również nr grupy ćwiczeniowej). Następnie na podstronie wysyłanie rozwiązań należy wybrac odpowiednie zadanie, wybrać plik z dysku a następnie przesłać rozwiązanie klikając przycisk submit. Po przesłaniu zadania system automatycznie przechodzi na stronę z wynikami.
Status rozwiązania
Strona z wynikami prezentuje w tabeli wszystkie rozwiązania przesłane do sprawdzenia w systemie. Oprócz informacji o czasie wykonania, nazwie zadania, id czy rozmiarze pliku znajdziemy tutaj również status. Możliwe statusy:
- ignorowany - zgłoszenie nie będzie sprawdzane, np. wysłanie po czasie,
- ręcznie odrzucone - prowadzący odrzucił rozwiązanie, np. niedozwolone rozwiązanie,
- w kolejce - zgłoszenie oczekuje na rozpoczęcie sprawdzania, jest sprawdzane lub oczekiwanie na wynik sprawdzania
- czekanie na przetworzenie - zgłoszenie oczekuje na przetwarzanie (tylko jedno zgłoszenie użytkownika może być przetwarzane, czyli w stanie “w kolejce”, pozostałe oczekuje)
- błąd wewnętrzny testerki - lepiej, żeby się nie pojawił :)
- naruszenie regulaminu - wykryto operacje niezgodną z regulaminem
- brak nagłówka - brak podpisu w pierwszej linii programu
- błąd kompilacji - kompilacja zakończyła się błędem (w takiej sytuacji przeważnie można zobaczyć też logi kompilacji ze szczegółami błędu)
- błąd wykonania - program wykonał nieprawidłową operacje, np. wyjście poza pamięć, dzielenie przez zero, zwrócił wartość inna niż 0
- błąd wykonania: przekroczony czas - program działa zbyt długo, niekoniecznie wykonując jakiekolwiek operacje
- przekroczony czas - program zużył zbyt wiele czasu procesora
- przekroczony rozmiar wyjścia - program wypisał zbyt wiele na standardowe wyjście
- zła odpowiedz - odpowiedź udzielona przez program jest niepoprawna (warto sprawdzić czy program nie wypisuje zachęt np. “podaj M i N”, wartości pośrednich wykorzystywanych do debugowania czy format jest dokładnie taki jak w przykładowym rozwiązaniu),
- program zaakceptowany - o tym wszyscy marzą :)
Rankingi
Każdy ze studentów może sprawdzić swoje osiągniecia w porównaniu do innych w zakładce Rankingi. Rankingi prezentują zdobyte punkty oraz czasy wykonania programów poprzez poszczególnych użytkowników, jednak ich dane są anonimowe (prezentowane są tylko pseudonimy). Niektórzy prowadzący udostępniają również rankingi długości rozwiązania - nie są one brane pod uwagę przy ocenie.
Ogólna pomoc
Ogólna pomoc dostępna jest pod adresem https://sites.google.com/site/bacahelp/.
Bonus - Mam ten kod!
Na koniec drobna uwaga od nas - w czasie zmagań z BaCą nigdy nie zapominaj, że Masz ten kod!.