Programowanie i projektowanie obiektowe 3501-KOG-PPO
Przedstawienie podstawowych pojęć i zagadnień występujących w programowaniu obiektowym. W ramach wykładu wprowadzone są pojęcia klasy i obiektu oraz zagadnienia związane z kapsułkowaniem, dziedziczeniem i polimorfizmem. Omówione są podstawy projektowania obiektowego. Wprowadzone są formalizmy do zapisywania projektów i programów obiektowych. W ramach laboratorium studenci mają pisać szereg małych programów ilustrujących kolejne zagadnienia przedstawiane na wykładzie oraz opisywać swoje rozwiązania w przyjętej notacji projektowej.
Szacowana liczba godzin, które student powinien przeznaczyć na osiągnięcie efektów uczenia się: 30h (wykład) + 30h (laboratorium) + 90h pracy własnej.
Obiektowe modelowanie dziedziny
Wprowadzenie do programowania obiektowego
Podstawy programowania obiektowego w Javie
Ochrona danych, kapsułkowanie
Wprowadzenie do UMLa
Tworzenie, inicjalizacja i niszczenie obiektów
Dziedziczenie i polimorfizm
Interfejsy
Wyjątki
Typy uogólnione i kolekcje
Strumienie, serializacja
Wzorce projektowe
Rodzaj przedmiotu
Tryb prowadzenia
Efekty kształcenia
Nabyta wiedza:
Student zna:
- podstawowe pojęcia projektowania obiektowego [K_W05, K_W06, K_W10, K_W21]
- zasady tworzenia klas [K_W05, K_W06, K_W10]
- metody ochrony danych [K_W05, K_W06, K_W10]
- reguły tworzenia hierarchii klas [K_W05, K_W06, K_W10]
- podstawy obsługi wyjątków [K_W05, K_W06, K_W10]
Nabyte umiejętności:
Student potrafi:
- tworzyć proste diagramy klas [K_U13, K_U14]
- kompilować i uruchamiać programy w Javie [K_U13, K_U14]
- deklarować klasy [K_U13, K_U14]
- prawidłowo używać atrybutów public, private, protected [K_U13, K_U14]
- definiować konstruktory [K_U13, K_U14]
- tworzyć proste hierarchie klas [K_U13, K_U14]
- korzystać z polimorfizmu [K_U13, K_U14]
Nabyte kompetencje społeczne:
Student rozumie znaczenie:
- umiejętności zarządzania swoim czasem [K_K04]
- umiejętności jasnego komunikowania trudnych i abstrakcyjnych zagadnień [K_K02]
- umiejętności selekcjonowania i porządkowania zdobywanych informacji [K_K02,
- umiejętności śledzenia toku myślenia innych osób [K_K09].
Kryteria oceniania
Na ocenę końcową składają się zadania programistyczne. Końcowa ocena zostanie wyliczona wg wzoru:
L + max((3/2) * E, E + K)
gdzie:
L - liczba punktów z laboratorium (0..30),
K - liczba punktów z klasówki (0..20),
E - liczba punktów z egzaminu (0..40).
Do zdania egzaminu potrzeba 60% punktów (54). Skala ocen liniowa (progi poszczególnych ocen to: 54, 61, 68, 75, 82).
Zaliczenie
Ponadto należy zaliczyć zajęcia (jest to warunek dopuszczenia do egzaminu w pierwszym terminie). Zaliczenie polega na:
zdobyciu co najmniej 8 punktów z klasówki,
oraz co najmniej 15 punktów z laboratorium.
Literatura
J . Gosling, B. Joy, G. Steele, G. Bracha, Java Language Specification, Addison-Wesley Professional, wydanie 3, 2005.
G. Booch, J. Rumbaugh, I. Jacobson, UML przewodnik użytkownika, Wydawnictwa Naukowo-Techniczne, 2002.
E. Gamma, R. Helm, R. Johnson, J. Vlissides, Wzorce projektowe. Elementy oprogramowania obiektowego wielokrotnego użytku, Wydawnictwa Naukowo-Techniczne, 2005.
C. Larman, Applying UML and Patterns, Prentice Hall, wydanie 3, 2005.
B. Eckel, Thinking in Java, Prentice Hall, wydanie 4, 2006.
Więcej informacji
Dodatkowe informacje (np. o kalendarzu rejestracji, prowadzących zajęcia, lokalizacji i terminach zajęć) mogą być dostępne w serwisie USOSweb: