Ogólne Zasady

Projekt realizowany jest indywidualnie.
Z projektu otrzymać można w sumie 30 pkt, z czego minimum 15 potrzebne jest do zaliczenia przedmiotu:

  • 0-5 pkt - implementacja
  • 0-10 pkt - jakość najlepszego rozwiązania (złożoność obliczeniowa i pamięciowa)
  • 0-15 pkt - dokumentacja końcowa
  • Do -30 pkt - samodzielność pracy
  • W ramach projektu należy wykonać jedno z wybranych przez siebie zadań opisanych poniżej. Chęć realizacji danego projektu proszę zgłaszać mailowo. Jeden temat realizować może tylko jedna osoba. Decyduje kolejność zgłoszeń, w związku z czym można jednocześnie podawać alternatywne preferencje.

    Terminy:

  • Przedstawienie ogólnej koncepcji rozwiązania (pierwsza idea - może być tzw. "brut force") w trakcie konsultacji lub mailowo -
  • Przedstawienie rozwiązania w trakcie konsultacji, dokumentacja końcowa i implementacja -
  • Ostateczny termin zakończenia projektu -
  • Proszę starać się dotrzymywać terminów, wszelkie opóźnienia będą karane ujemnymi punktami. Zapraszam do częstszego spotykania się czy kontaktowania mailowo/hangout. Z chęcią podpowiem jak rozwiązać zadania.

    W ramach dokumentacji wstępnej proszę o dokładne przeanalizowanie problemu, wstępną propozycję rozwiązania (nie musi być jeszcze optymalna), oraz opis sposobu testowania i analizy jakości rozwiązania.

    W końcowej dokumentacji powinny zawrzeć się opis problemu i jego rozwiązania, obliczenia złożoności prezentowanych algorytmów (zarówno obliczeniowej jak i pamięciowej), wyniki testów które potwierdzają tę złożoność, oraz przede wszystkim (najlepiej interesujące) wnioski, obserwacje i analiza wyników. Proszę skupić się na problemie i rozwiązaniu, niekoniecznie na narzędziach. Projekty implementować można w dowolnym języku programowania. W przypadku problemów implementacyjnych mogę pomóc jeżeli wybiorą Państwo Pythona.
    Jeżeli z dowolnego powodu preferują Państwo przygotowanie dokumentacji w języku angielskim, nie widzę przeszkód.