Faculty of Electronics, Telecommunications and Informatics
11/12 Gabriela Narutowicza Street, 80-233 Gdańsk-Wrzeszcz, Poland
Tel.: +48 58 347 2277, +48 58 347 1784    Fax: +48 58 348 6373    E-mail:
WETI
 
Krzysztof Bruniecki
Materiały Dydaktyczne Semestr Letni 2011/2012

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

Telemonitoring Środowiska i Systemy GIS

Laboratorium 3:

Wariant 1
Instrukcja
materiały pomocnicze

Wariant 2
aplikacje Android

Laboratorium 4:

Instrukcja
JOSM Editor
trakt1
trakt2

printer friendlyRemarks and errors please submit to: Change to small size