Nazwa przedmiotu:
Zaawansowane programowanie obiektowe i funkcyjne
Koordynator przedmiotu:
Dr inż. Marcin Luckner
Status przedmiotu:
Obowiązkowy
Poziom kształcenia:
Studia I stopnia
Program:
Inżynieria i Analiza Danych
Grupa przedmiotów:
Wspólne
Kod przedmiotu:
1120-DS000-ISP-0236
Semestr nominalny:
3 / rok ak. 2021/2022
Liczba punktów ECTS:
4
Liczba godzin pracy studenta związanych z osiągnięciem efektów uczenia się:
1. godziny kontaktowe – 47 h; w tym a) obecność na wykładach – 15 h b) obecność na laboratorium – 30 h c) konsultacje – 2 h 2. praca własna studenta – 60 h; w tym a) zapoznanie się z literaturą – 15 h b) przygotowanie do laboratorium – 45 h Razem 107 h, co odpowiada 4 pkt. ECTS
Liczba punktów ECTS na zajęciach wymagających bezpośredniego udziału nauczycieli akademickich:
1. obecność na wykładach – 15 h 2. obecność na laboratorium – 30 h 3. konsultacje – 2 h Razem 47 h, co odpowiada 2 pkt. ECTS
Język prowadzenia zajęć:
polski
Liczba punktów ECTS, którą student uzyskuje w ramach zajęć o charakterze praktycznym:
1. obecność na laboratorium – 30 h 2. przygotowanie do laboratorium – 45 h Razem 75 h, co odpowiada 3 pkt. ECTS
Formy zajęć i ich wymiar w semestrze:
  • Wykład15h
  • Ćwiczenia0h
  • Laboratorium30h
  • Projekt0h
  • Lekcje komputerowe0h
Wymagania wstępne:
Programowanie obiektowe
Limit liczby studentów:
.
Cel przedmiotu:
Celem przedmiotu jest zaznajomienie studentów z zaawansowanymi cechami języka Java SE. Efektem kształcenia będzie umiejętność tworzenia programów wykorzystujących zaawansowane cechy języka.
Treści kształcenia:
Wykład: 1. Wprowadzenie 2. Klasy wewnętrzne i abstrakcyjne 3. Programowanie funkcyjne. Wyrażenie lambda i interfejsy funkcyjne 4. Wyrażenia generyczne 5. Przetwarzanie strumieni danych 6. Struktury dynamiczne 7. Refleksje i Java Beans 8. Zaawansowane przetwarzanie danych 9. Współpraca z bazami danych 10. Sieć i bezpieczeństwo 11. Obliczenia asynchroniczne 12. Czas i lokalizacja 13. Skryptowanie 14. Funkcje natywne 15. Dalszy rozwój programisty Javy Laboratorium: Przez połowę semestru studenci wykonują podczas zajęć zadania punktowane (5 lub 6 zadań). Poszczególne zadania ilustrują treści przekazane podczas wykładu. Dodatkowo można wykonać jedno zadanie poprawkowe. Druga połowa semestru jest przeznaczona na samodzielną realizację zadania projektowego.
Metody oceny:
Końcowa ocena wyliczana jest jako średnia z punktów za zadania i z projektu. Do zaliczenia przedmiotu konieczne jest zdobycie przynajmniej 50% punktów za cztery zadania programistyczne i 50% punktów za projekt.
Egzamin:
nie
Literatura:
1. C.S. Horstmann, Java 8. Przewodnik doświadczonego programisty, Helion, 2015 2. Herbert Schildt, Java. Kompendium programisty. Wydanie IX, Helion, 2015 3. Robert C. Martin, Czysty Kod, Helion 2010 4. Robert C. Martin, Mistrz Czystego Kodu, Helion 2013
Witryna www przedmiotu:
.
Uwagi:
.

Efekty uczenia się

Profil ogólnoakademicki - wiedza

Charakterystyka W01
Zna zaawansowane metody, techniki i narzędzia stosowane przy rozwiązywaniu zadań informatycznych realizowanych w języku Java SE
Weryfikacja: punktowane zadania laboratoryjne
Powiązane charakterystyki kierunkowe: DS_W08, DS_W14
Powiązane charakterystyki obszarowe: I.P6S_WG

Profil ogólnoakademicki - umiejętności

Charakterystyka U01
Ma umiejętność tworzenia aplikacji w języku Java SE
Weryfikacja: punktowane zadania laboratoryjne
Powiązane charakterystyki kierunkowe: DS_U11
Powiązane charakterystyki obszarowe: I.P6S_UW
Charakterystyka U02
Potrafi przetwarzać w sposób funkcjonalny strumienie danych
Weryfikacja: Zadanie projektowe
Powiązane charakterystyki kierunkowe: DS_U13
Powiązane charakterystyki obszarowe: I.P6S_UW

Profil ogólnoakademicki - kompetencje społeczne

Charakterystyka K01
Rozumie potrzebę uczenia się przez całe życie i podnoszenia kompetencji zawodowych związaną z rozwojem języków programowania
Weryfikacja: punktowane zadania laboratoryjne
Powiązane charakterystyki kierunkowe: DS_K01
Powiązane charakterystyki obszarowe: I.P6S_KK