Zadanie jest luźno oparte o Problem ośmiu hetmanów (ang. eight queens puzzle) i polega na pobraniu danych z pliku tekstowego z opisem konfiguracji hetmanów na szachownicy i przetworzeniu na dokument LaTeX-owy z wykorzystaniem pakietu xskak.
Główne założenia projektowe:
- Realizacja zadania będzie podzielona etapy, z których każdy jest oceniany osobno.
- Głównym celem projektu jest nauka wykorzystania poznanych narzędzi z warsztatu programisty (ang. learn by doing).
- W trakcie realizacji projektu obowiązkowo wykorzystujemy następujące narzędzia: CMake, LaTeX, Bash, Git, GTest (od drugiego etapu).
- Wraz z tworzeniem projektu piszemy od razu testy jednostkowe zgodnie z metodologią TDD (ang. Test-driven development).
- Główne elementy programu piszemy w języku C.
- Zadanie nie jest od początku znane w całości, w związku z tym może się pojawić konieczność wprowadzenia zmian w już istniejących elementach.
- Na każdym etapie realizacji projektu wywołanie programu dla poprawnych danych wejściowych powinno wytworzyć plik z rozszerzeniem w formacie PDF.
- Na każdym etapie realizacji projektu program wywołany dla niepoprawnych danych wejściowych powinien zgłosić błąd.
- Proszę przyjąć, że błąd krytyczny powinien zatrzymać działanie programu, tzn. w przypadku błędu dokument nie powinien powstać, a program powinien zgłosić niepoprawne zakończenie. Przykładowe błędy, które należy brać pod uwagę:
- Błędy przy operacjach plikowych. Np.: nie udało się zapisać danych w pliku tymczasowym albo nie udało się ich później odczytać; brak dostępu do pliku konfiguracyjnego, błąd przy odczycie danych wejściowych itp.
- Błąd elementu składowego programu. Np. jeśli program w C zakończył się niepoprawnie, to powinno to zostać zauważony w skrypcie wywołującym, podobnie jeśli pdflatex zgłosi błędy, wtedy główny skrypt/program również powinien zgłosić błąd.
Elementy i tryb oceny
- Zadania są oceniane w obecności studenta.
- Ocenie podlegają wyniki pracy nad projektem: kod źródłowy, historia zmian wraz z opisem oraz odpowiedzi na pytania zadane w trakcie oceny zadania.
- Warunkiem koniecznym jest znajomość i rozumienie własnej pracy. W tym umiejętność wprowadzenia drobnej zmiany w warunkach kontrolowanej samodzielności.
- Wykorzystanie w projekcie elementów nie wykonanych samodzielnie (takich jak fragmenty kodów źródłowych udostępnionych na wolnej licencji) jest dozwolone w zgodzie z prawem autorskim oraz pod warunkiem dokładnego ich oznaczenia w pracy.
- Korzystanie z pomocy prowadzącego lub innych studentów jest również dozwolone z zastrzeżeniem jak wyżej: elementy skopiowane za zgodą autora muszą być oznaczone i opisane. (Patrz Ustawa z dnia 4 lutego 1994 r. o prawie autorskim i prawach pokrewnych, Art 115, p. 1 "Kto przywłaszcza sobie autorstwo albo wprowadza w błąd co do autorstwa całości lub części cudzego utworu albo artystycznego wykonania, podlega grzywnie, karze ograniczenia wolności albo pozbawienia wolności do lat 3.").
- Każdy etap ma swój termin oddania. Przekroczenie terminu o każdy kolejny rozpoczęty tydzień kosztuje 20% punktów możliwych do uzyskania za dany etap.