Programowanie Obiektowe - Projekt
karta
Opis projektu:
Projekt realizowany jest w grupach o liczebności nie
przekraczającej trzech osób. Celem projektu jest realizacja prostej gry (lub innej aplikacji) w języku
C++, Java lub C#. Aplikacja musi być napisana w sposób w pełni obiektowy, z
wykorzystaniem różnych mechanizmów oferowanych przez wybrany język
programowania. W szczególności takich jak:
- Dziedziczenie (po pierwsze zgodne z logiką i zasadami OOP -
object oriented programming, po drugie różnorodnie - wielokrotne dziedziczenie,
wielopoziomowe dziedziczenie)
- Agregacja i kompozycja (projekt powinien uwzględniać i
rozróżniać te relacje zgodnie z logiką i zasadami OOP)
- Polimorfizm (przeciążanie funkcji, późne (dynamiczne) wiązanie,
kolekcje obiektów (referencji do obiektów) różnych typów)
- Modyfikatory dostępu (Po pierwsze hermetyzacja – lepiej private
niż public, po drugie różnorodność)
- Interfejsy (projekt i implementacja własnych interfejsów, np.:
w postaci klas abstrakcyjnych)
- Podział na pakiety lub przestrzenie nazw
- Kolekcje (wymagane wykorzystanie klasy implementującej
interfejs kolekcji, np.: Vector)
- Wyjątki (wymagane rzucanie i przechwytywanie własnych
wyjątków, try-catach- finally)
Na projekcie obowiązują następujące terminy:
Specyfikacja: do 21 lutego
Laboratorium: 27.02-13.03.2012 (szkielet do uzupełnienia, funkcja main)
Projekt: do 27 marca
Prezentacja prototypu: do 24 kwietnia
Prezentacja aplikacji: do 15 maja
Przykładowe tematy projektów:
(lista ma charakter przykładowy - inne mile widziane)
1. modyfikacja Angry-Birds
2. Bilard, Snooker
3. Tower Defense
4. Mini Golf
5. itp.
Wymagania na kolejne etapy projektu:
Specyfikacja wymagań:
opis aplikacji
zakres funkcjonalności realizowanej przez aplikację.
Projekt systemu:
diagram klas
projekt interfejsu użytkownika
przydział klas w systemie do członków grupy projektowej
specyfikacja interfejsów pomiędzy pakietami przypisanymi do
poszczególnych programistów w grupie
Prezentacja prototypu:
Należy zaprezentować działający program będący w co najmniej
50% ukończoną aplikacją
Jeżeli aplikacja będzie ukończona w 100 % i będzie spełniać
wszystkie oczekiwania prowadzącego istnieje możliwość, że będzie to ostatni
etap
Prezentacja działającej aplikacji:
zgodność aplikacji ze specyfikacją i projektem
wysoki poziom obiektowości aplikacji
poziom rozbudowania aplikacji
Zasady zaliczenia:
Zaliczenie projektu następuje poprzez uzyskanie pozytywnych
ocen za każdy z jego etapów (specyfikacja, laboratorium, projekt, prezentacja
prototypu, prezentacja aplikacji).
Warunkiem koniecznym zaliczenia projektu jest napisanie
aplikacji w sposób całkowicie obiektowy.
Każdy tydzień spóźnienia skutkuje obniżeniem oceny za etap (poza
ostatnim etapem) o 10% (np. projekt oceniony na "90%"
spóźniony o tydzień otrzyma ocenę "80%").
Projekt oddany po przedostatnich zajęciach nie otrzyma łącznej oceny
wyższej niż 50%.
Istnieje możliwość otrzymania z projektu oceny powyżej 100%
Programowanie Urządzeń Mobilnych - Laboratorium
Materiały
Instrukcje JavaME
1,2
3,4
5,6
Instrukcje Android
7,8
9,10
11,12
Technologie Map Cyfrowych - Projekt
Opis projektu
Projekt realizowany w grupach dwuosobowych i indywidualnie
Proponowane tematy projektu
(lista niepełna)
ocena dostateczna
1. Przeglądarka/Edytor danych wektorowych (z formatu SHP)
2. Konwersja projekcji w danych wektorowych
3. Konwersja projekcji w danych rastrowych
4. Nawigacja mobilna z mapą Googla
ocena dobra
1. Aplikacja nawigacyjna na urządzenia mobilne z własną mapą (np. shp lub rastrem - z możliwością podmieniania)
2. Generowanie sceny 3D na podstawie danych wektorowych w formacie SHP
3. Narzędzie do wektoryzacji danych rastrowych (ortofotomapa) z eksportem do postaci SHP lub innej bazy danych (np. PostGIS)
4. Przeglądarka/Edytor danych rastrowych i wektorowych
ocena bardzo dobra
1. Narzędzie do mozaikowania serii nakładających się zdjęć wraz z eksportem do docelowej projekcji katrograficznej
2. Aplikacja nawigacyjna z zaczytywaniem mapy z własnego serwera
3. Własna instancja OpenStreetMap
4. Generowanie modelu 3D na podstawie serii zdjęć
5. Serwer WFS-T (zapewniający wydajność i autoryzację dostępu do danych
Uwaga
istnieje możliwość przygotowania ćwiczenia i instrukcji laboratoryjnej - o ocenie wówczas będzie częściowo decydowała ocena koleżanek i kolegów którzy będą ją realizować w drugiej połowie semestru
Terminy
1. Wybór tematu i zarys wymagań odróżniający od innych projektów - 22 lutego
2. Specyfikacja wymagań (wielopoziomowa lista z podpunktami) i opis technologii wykonania (biblioteki, język, środowiska, itp)
3. Prezentacja prototypów - konkretne terminy ustalane indywidualnie
4. Oddanie ostateczne - deadline 16 maja - konkretny termin ustalany indywidualnie
Wszelkie spóźnienia lub niedotrzymanie ustalonego terminu z błahych powodów skutkować będą obniżeniem oceny z danego etapu o 0.5 za każdy tydzień
Technologie Map Cyfrowych - Laboratorium
Laboratorium 1 - GDAL Elbląg - dane
Laboratorium 4 - JOSM Editor, instrukcja, materiały
|