Umiejętności: - ma umiejętność programowania obiektowego aplikacji z wykorzystaniem bibliotek API oraz zintegrowanych środowisk programistycznych IDE K_U09 - potrafi stworzyć model obiektowy i implementację programową nieskomplikowanego systemu informatycznego w sposób pozwalający na późniejszy jego rozwój K_U04 - potrafi porozumiewać się w środowisku zawodowym i innych stosując różne techniki, w tym wykorzystujące narzędzia informatyczne K_U08 - potrafi pozyskiwać informacje z literatury, baz danych i innych źródeł; potrafi integrować uzyskane informacje, dokonywać ich interpretacji, a także wyciągać wnioski oraz formułować i uzasadniać opinie KJJ17 Kompetencje społeczne: - rozumie potrzebę podnoszenia kwalifikacji zawodowych spowodowane postępem technicznym K_K01 | |
Pełny opis przcdmiotu/trcści programowe |
Wykład: 1. Przegląd języków i paradygmatów programowania. 2. Definicje dotyczące pojęć programowania imperatywnego, deklaratywnego (declarative), funkcyjnego, logicznego, strukturalnego, proceduralnego, obiektowego, liniowego, aspektowego i inne. Programowanie niskopoziomowe i języki wysokiego poziomu. 3. Programowanie funkcyjne, funkcje jako model programowania, mieszanie paradygmatu funkcyjnego z imperatywnym. Przykładowe języki programowania funkcyjnego Haskell i Lisp. 4. Programowanie logiczne. Rachunek predykatów w Prologu. Mieszanie paradygmatu logicznego z imperatywnym. 5. Programowanie obiektowe i komponentowe 6. Deklarowanie i tworzenie tablic - typy odnośnikowe. Podstawowe operacje na tablicach. Tablice wielowymiarowe i asocjacyjne. 7. Podstawy obiektowości. Klasy, pola i metody. Argumenty metod. Przeciążanie. Konstruktory. Dziedziczenie. Klasa rodzicielska i klasy potomne. Modyfikatory dostępu i pakiety. Przesłanianie metod i składowe statyczne. Klasy i składowe finalne. Dekompozycja algorytmów i projektowanie klas. Polimorfizm. Konwersje typów i rzutowanie obiektów. 8. Konstruktory i klasy abstrakcyjne. Interfejsy. Tworzenie interfejsów. Implementowanie wielu interfejsów. Adaptery. Klasy wewnętrzne. Tworzenie klas wewnętrznych i dostęp do klasy zewnętrznej. Rodzaje klas wewnętrznych i dziedziczenie. Klasy anonimowe i zagnieżdżone. Kontenery. Klasy kontenerowe i przeglądanie kontenerów. Typy uogólnione. Laboratorium: 1. Pisanie i uruchamianie programów przetwarzających tablice, a w tym tablice wielowymiarowe. Programy z zastosowaniem prostych obiektów. Programy ilustrujące przeciążanie metod. Programy z zastosowaniem dziedziczenia klas. Programy |