Programowanie i projektowanie obiektowe 3800-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 piszą szereg małych programów ilustrujących kolejne zagadnienia przedstawiane na wykładzie oraz opisują 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 UMLa
- Wprowadzenie do programowania obiektowego
- Podstawy programowania obiektowego w Javie
- Ochrona danych, kapsułkowanie
- Tworzenie, inicjalizacja i niszczenie obiektów
- Dziedziczenie i polimorfizm
- Interfejsy
- Wyjątki
- Typy uogólnione i kolekcje
- Strumienie, serializacja
- Wzorce projektowe
Rodzaj przedmiotu
Założenia (opisowo)
Koordynatorzy przedmiotu
Efekty kształcenia
Nabyta wiedza:
Student zna podstawowe pojęcia projektowania i programowania obiektowego [K_W08, K_W19, K_W25]
Nabyte umiejętności:
Student potrafi tworzyć proste diagramy klas oraz kompilować i uruchamiać programy w Javie [K_U02, K_U07, K_U13, K_U37, K_U45]
Nabyte kompetencje społeczne:
Kompetencje niezbędne przy tworzeniu oprogramowania i w pracy naukowej [K_K01, K_K02, K_K04, K_K05, K_K08, K_K11, K_K12]
Kryteria oceniania
a) Metody weryfikacji efektów uczenia się:
Egzamin pisemny. Na ocenę końcową składają się punkty uzyskane za rozwiązania zadań programistycznych.
b) Składowe oceny końcowej i ich waga:
Końcowa ocena zostanie wyliczona wg wzoru:
L + max((3/2) * E, E + K)
gdzie:
L - liczba punktów z laboratorium (0..20),
K - liczba punktów z klasówki (0..20),
E - liczba punktów z egzaminu (0..40).
c) W wypadku egzaminu – warunki przystąpienia do egzaminu: Zaliczenie ćwiczeń: K >= 8 ∧ L >= 10
d) W wypadku egzaminu – czy przystąpienie do egzaminu w terminie zerowym powoduje utratę prawa do przystąpienia do egzaminy w głównej sesji egzaminacyjnej: tak
e) Semestralna liczba dopuszczalnych nieobecności zajęciach oraz w wypadkach, których to dotyczy, sposoby ich zaliczania.: 3
f) Skala ocen: 5 (bdb.) – od 72p., 4+ (db. plus) – od 66p., 4 (db.) – od 60p., 3+ (dst. plus) - od 54p., 3 – (dst.) od 48p. (60%), 2 – (ndst.) mniej niż 60%
g) Warunki dopuszczenia do poprawy:
Reguły pisania bez zmian, punkty z klasówki poprawkowej zastępują punkty z pierwszego terminu klasówki, do egzaminu poprawkowego może przystąpić każdy, kto ma zaliczone ćwiczenia (tzn. nawet bez 8 punktów z klasówki).
Literatura
J. Gosling, B. Joy, G. Steele, G. Bracha, The Java Language Specification, Java SE 8 Edition, Addison-Wesley Professional, 1st ed., 2014.
J. Gosling, B. Joy, G. Steele, G. Bracha, A. Buckley, D. Smith, G.Bierman, The Java Language Specification, Java SE 19 Edition, https://docs.oracle.com/javase/specs/, 2022.
C.S. Horstmann, Core Java for the Impatient, 3rd ed., Addison-Wesley Professional, 2022.
J. Bloch, Effective Java, 3rd ed., Addison-Wesley Professional, 2017.
G. Booch, J. Rumbaugh, I. Jacobson, The Unified Modeling Language User Guide, Addison-Wesley, 2017.
E. Gamma, R. Helm, R. Johnson, J. Vlissides, Wzorce projektowe. Elementy oprogramowania obiektowego wielokrotnego użytku, Wydawnictwa Naukowo-Techniczne, 2005 (E. Gamma, R. Helm, R. Johnson, J. Vlissides, Design patterns : elements of reusable object-oriented software, Addison-Wesley; 1st ed., 1995).
C. Larman, Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition), Prentice Hall, 3rd ed., 2004.
B. Eckel, Thinking in Java, Prentice Hall, 4th ed., 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: