Programowanie obiektowe
Informacje ogólne
Kod przedmiotu: | 1000-212cPO |
Kod Erasmus / ISCED: |
11.301
|
Nazwa przedmiotu: | Programowanie obiektowe |
Jednostka: | Wydział Matematyki, Informatyki i Mechaniki |
Grupy: |
Przedmioty obowiązkowe dla I roku informatyki Przedmioty obowiązkowe dla I roku JSIM |
Punkty ECTS i inne: |
8.00
|
Język prowadzenia: | polski |
Rodzaj przedmiotu: | obowiązkowe |
Wymagania (lista przedmiotów): | Wstęp do programowania 1000-211bWPI |
Skrócony opis: |
Podstawowe pojęcia i zagadnienia występujące w programowaniu obiektowym: klasy, obiekty, kapsułkowanie, dziedziczenie, polimorfizm oraz podstawy projektowania obiektowego oraz formalizmy do zapisywania projektów i programów obiektowych. |
Pełny opis: |
Wykład: • Wprowadzenie do obiektowości, pojęcie klas, UML • Składnia Javy (identyfikatory, literały, proste instrukcje, typy ref. i wart., tablice, GC, new, null, ref/wart, funkcje (met.), parametry, dokumentacja) • Kapsułkowanie, konstruktory i inicjalizacja • Dziedziczenie, klasy abstrakcyjne, interfejsy, polimorfizm • Wyjątki nadzorowane i nienadzorowane • Typy uogólnione • Kolekcje • GUI • Wzorce projektowe z przykładami (singleton, fabryka, adapter, dekorator, obserwator i inne) • Wejście/wyjście • Wyrażenia regularne • Opcjonalnie: łączenie z funkcyjnością, JVM, obiektowość w innych językach (C++ czy Python) Laboratorium: • Kompilacja, maszyna wirtualna Javy, pakiety, IDE, dokumentacja • Interfejs dla klasy (tablice opakowane w klasę, kolejka/stos, graf) • Programowanie imperatywne i tablice, klasy stos/kolejka, listy • Narzędzia: git, debugger, ew. inne jak np. SpotBugs • Wyrażenia • Wyjątki nadzorowane i nienadzorowane • Rozdzielanie odpowiedzialności między klasy, luźne sprzężenie/wysoka spójność • JUnit • Typy uogólnione • Kolekcje - używanie istniejących • Kolekcje - tworzenie nowych • Lambdy oraz java.util.stream • Wzorce • Narzędzia np. maven lub google guava |
Literatura: |
1. J. Gosling, B. Joy, G. Steele, G. Bracha, A. Buckley, The Java Language Specification, Java SE 8 Edition , Addison-Wesley Professional, 2014. 2. G. Booch, J. Rumbaugh, I. Jacobson, UML przewodnik użytkownika, Wydawnictwa Naukowo-Techniczne, 2001. 3. E. Gamma, R. Helm, R. Johnson, J. Vlissides, Wzorce projektowe. Elementy oprogramowania obiektowego wielokrotnego użytku , Wydawnictwa Naukowo -Techniczne, 2005. 4. C. Larman, Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development, Prentice Hall, 3st edition, 2004. 5. B. Eckel, Thinking in Java, Helion, wydanie 4., 2006. |
Efekty uczenia się: |
Wiedza - ma uporządkowaną wiedzę w zakresie programowania obiektowego [K_W02] - stosuje kapsułkowanie i rozumie problemy wynikające z jego braku, [K_W09] - zna i stosuje ze zrozumieniem dziedziczenie, rozumie zasadę podstawialności, [K_W09] - rozumie i potrafi zastosować polimorfizm, [K_W09] - zna podstawowe rodzaje kolekcji, [K_W09] - zna pojęcie wyjątku, [K_W09] - rozumie pojęcie interfejsu, [K_W09] - zna wybrane wzorce projektowe, [K_W10] - rozumie znaczenie testów jednostkowych. [K_W10] Umiejętności - potrafi kompilować i wykonywać programy w wybranym języku obiektowym, [K_U05] - potrafi wykonać analizę wymagań dla postawionego problemu oraz obiektowo projektuje oprogramowanie, [K_U17] - posługuje się wzorcami projektowymi [K_U18, K_U24] - potrafi obiektowo zaimplementować prosty system zgodnie z podaną specyfikacją [K_U19] - potrafi zastosować w swoich programach wyjątki, [K_U19] - potrafi pisać programy przetwarzające duże zbiory danych za pomocą kolekcji, [K_U08] - potrafi definiować testy jednostkowe i wykorzystać do przetestowania stworzonego przez siebie oprogramowania. [K_U21] Kompetencje - jest przygotowany do krytycznej oceny posiadanej wiedzy i odbieranych treści [K_K01] - jest gotów do pracy z zachowaniem uczciwości intelektualnej w działaniach własnych i innych osób [K_K02] - znaje znaczenie wiedzy w rozwiązywaniu problemów poznawczych i praktycznych, potrafi wyszukiwać informacje w literaturze [K_K03] |
Zajęcia w cyklu "Semestr letni 2023/24" (jeszcze nie rozpoczęty)
Okres: | 2024-02-19 - 2024-06-16 |
![]() |
Typ zajęć: |
Laboratorium, 60 godzin
Wykład, 30 godzin
|
|
Koordynatorzy: | Janusz Jabłonowski | |
Prowadzący grup: | Paweł Brach, Jacek Chrząszcz, Janusz Jabłonowski, Michał Kutwin, Jarosław Paszek, Karol Pieniący, Przemysław Rutka, Marcin Waniek, Łukasz Wnuk, Artur Zaroda, Marek Zbysiński | |
Lista studentów: | (nie masz dostępu) | |
Zaliczenie: | Egzamin |
Właścicielem praw autorskich jest Uniwersytet Warszawski, Wydział Fizyki.