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.
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.
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.
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: