Projekt:

Propozycje tematu projektu należy uzgodnić z prowadzącym na zajęciach najlepiej 12.XII, najpóźniej do 19.XII.2012.

Do 20.XII.2011 należy przekazać krótki opis projektu: tytuł, czego będzie dotyczył, jakie biblioteki zewnętrzne będą użyte. Dokument można przekazać osobiście w formie wydrukowanej albo przesłac e-mailem w formacie txt,pdf lub html.

Skończony lub prawie skończony projekt należy przedstawić na przedostatnich zajęciach 23.I.2013. Ostateczny termin oddania projektu to ostatnie zajęcia w semestrze: 30.I.2013.

Celem projektu jest napisanie większego programu, w sposób czytelny i udokumentowany. Program powinien być podzielony na moduły z odpowiednimi plikami nagłówkowymi oraz zawierać dokumentacje w postaci pliku tekstowego (txt, html lub pdf). Dokumentacja powinna zawierać opis funkcji programu, opis sposobu jego użycia oraz opis implementacji w tym opis zawartości modułów, użytych bibliotek zewnętrznych, opis fragmentów kodu jeśli zostały zaczerpnięte z przykładów lub innych źródeł lub napisane na ich bazie.

Projekt powinien zawierać interfejs graficzny/okienkowy (np. GTK+) chyba, że cele programu będą wystarczająco rozbudowane.


Przykłady: o więcej informacji proszę się pytać osobiście

Przykład 1: Na podstawie danych z urządzeń GPS w postaci plików w formacie GPX (XML) napisać program wczytujący dane i wyliczający różne statystyki ze śladu przebytej trasy jak np. długość, czas, średnia prędkość, prędkości średnie dla kolejnych kilometrów, najlepszy czas na kilometr, podobnie na 3km, 5km, na 10km. W zależności od ukierunkowania projektu do biegania należałoby dodać tempo (pace), a w przypadku jazdy rowerem zwiększyc dystanse. Program dobrze wyposażyć w interfejs graficzny i wyswietlać wykresy prędkości,....

Pliki GPX do testów można ściągnąć z urządzeń GPS lub z serwisów np. www.gpsies.com, www.everytrail.com, ...

Przykład 2: Napisać program umożliwiający dwóm graczom gre w GO na ekranie komputera. Program poza rysowaniem planszy, powinien umożliwiać sprawdzanie poprawności ruchów, obliczać punkty po zakończonej grze (być może w sposób półautomatyczny) zapisywać i odczytywać gry np. mógłby odczytać rozegraną partie w formacie SGF i animować jej ruchy.

Przykład 3: Napisać biblioteke do obsługi obrazków w swoich programach pisząc interface/wrapper do istniejących bibliotek:

  1. simage link
  2. freeimage link
  3. DevIL link
  4. GFL link
  5. SDL_image link
Napisać program testujący i zbadać szybkość różnych operacji, zapisywania, odczytywania różnych formatów, kopiowania w pamięci, skalowania, wyświetlania .... itd. dla przykładowych bibliotek.

Biblioteka powinna mieć plik nagłówkowy wspólny, tak aby dopiero przy linkowaniu można było zadecydować, interface do której biblioteki podpiąć.

Przykład 4: Program używający OpenGL do wyswietlenia Ziemi z tekstura Blue Marble i górami/miastami czytanymi z jakiejś bazy danych lub z pliku (jak w jednym z zadań). Dodać i dopracowanć interfejs do obracania używając dodatkowej biblioteki np. AntTweakBar i umożliwić dodatkową funkcjonalość np. zaznaczanie gór i obliczanie między nimi odległości lub wyświetlanie innych informacji. ...

Dodatkowo można by też dodać rysowanie śladów z GPS np. w formacie plików GPX, jak w propozycji 1.


Andrzej Łukaszewski (anl(at)ii.uni.wroc.pl)