Zasady wykonywania projektów


Kwestie ogólne

Tematy projektów są podane hasłowo. Zadaniem wykonującego jest uszczegółowić hasło w rozmowie z prowadzącym, ustalając dokładnie zakres pracy. Mile widziane są własne tematy, wymagane jest jedynie ich zatwierdzenie przez prowadzącego. Projekty z zasady są dwuosobowe - ocena będzie dokonana dla całego zespołu , niezależnie od własnego wkładu poszczególnych wykonujących.

Zakłada się, że wykonujący nabyli już umiejętność programowania w stopniu wystarczająym do samodzielnego wykonania projektu. Napisanie oprogramowania jest warunkiem koniecznym, lecz nie wystarczającym do zaliczenia projektu. Warunkiem wystarczającym jest gruntowne przetestowanie tego oprogramowania. Testowanie polega na przeprowadzeniu statystycznie wiarygodnych testów, obróbce wyników i wyciągnięciu wniosków. Powinno się ono kończyć sprawozdaniem przedstawiająym wyniki.

Oprogramowanie

Jeśli nie wymaga tego specyfika projektu, oprogramowanie powinno mieć jak najuboższy interfejs i być wykonywane w trybie nieinterakcyjnym, tak aby można było je uruchamiać w tle. Zalecanym rozwiązaniem jest uruchamianie oprogramowania z plikami konfiguracyjnymi defiującymi zadanie i metodę rozwiązania oraz przesyłanie wyników działania również do plików. Oprogramowanie powinno być elastyczne, łatwo parametryzowalne, dobrze ustrukturalizowane i przenośne. Nie dysponuję łatwym dostępem do komercyjnych produktów, w szczególności firmy Microsoft.

W przypadku projektów związanych z algorytmami ewolucyjnymi, jeśli nie zastrzeżono inaczej, mozna korzystac z gabi - napisanego w języku C zestawu funkcji implementujących podstawowe mechanizmy algorytmów ewolucyjnych. W tym przypadku, część związana z implementacją będzie polegać na modyfikacji oprogramowania i udokumentowaniu wprowadzonych zmian. Wykonujący projekt przekazuje oprogramowanie i dokumentację prowadzącemu i zgadza się na ich nieodpłatne rozpowszechnianie w celach dydaktycznych (wraz z adnotacją, kto jest autorem poprawki).

W przypadku innych tematów, można w porozumieniu z prowadzącym korzystać z gotowego oprogramowania niekomercyjnego, m.in. z zasobów www. Szczególnie przydatne do tego celu może się okazać R - darmowe środowisko do obliczeń numerycznych. Wybor R jako srodowiska moze pozytywnie wplynac na ocene koncowa.

Etapy wykonania

Wykonujący oddaje projekt w dwóch fazach. Są to :
specyfikacja wstępna
zdanie kodu źródłowego, dokumentacji i sprawozdania

W specyfikacji wstępnej wykonujący precyzuje temat projektu. Służy ona do zmniejszenia ryzyka nieporozumień w momencie oddawania projektu. Weryfikacja kodu źródłowego ma na celu sprawdzenie postępów prac. Jeśli temat okaże się zbyt trudny, jest to jeszcze moment do jego weryfikacji. Ostatni etap podsumowuje całość prac.

Dokładny harmonogram jest podawany przez prowadzącego.

Kryteria oceny

Podczas oceniania brane będą pod uwagę: jakość oprogramowania, sposób jego opisania, sposób testowania, umiejętność wyciągania wniosków, terminowość, zainteresowanie tematem. Wykonanie projektu niezgodnego z tematem lub nie zaakceptowanego (na etapie specyfikacji wstępnej) powoduje obniżenie oceny w stopniu, w jakim temat zadany jest odległy od wykonanego. Przeciągnięcie terminów wykonania poszczególnych etapów obniża ocenę w zależności od liczby rozpoczętych tygodni spóźnienia w sposób następujący:

oddanie specyfikacji wstępnej: 10% * liczba rozpoczętych tygodni,
oddanie całości projektu: 20% za pierwszy, 50% za drugi, 80% za trzeci, 100% za czwarty rozpoczęty tydzień.
Można uzyskać do 5/% punktów przysługujących za projekt wykonując dokumentację w LaTeXu
Warunkiem koniecznym i wystarczającym przystąpienia do egzaminu ,,0'' jest wcześniejsze uzyskanie oceny z projektu.