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.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.
Projekt powinien zawierać interfejs graficzny/okienkowy (np. GTK+) chyba, że cele programu będą wystarczająco rozbudowane.
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:
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.