Aplikacje w środowisku Java (wykład)

Opis przedmiotu
Informacje ogólne
Organizator:Wydział Matematyki, Informatyki i Architektury Krajobrazu - Instytut Matematyki i Informatyki
Kod ECTS:11900-XXXX-1001WYK0017
Kierunek studiów: Informatyka (stacjonarne II stopnia)
Lokalizacja w planach rocznych:
Etap:Rok I - Semestr 1
Punkty ECTS: 6
Forma zaliczenia: Egzamin
Rozkład zajeć
Cele przedmiotu
C1 - Przedstawienie języka Java
C2 - Zaprezentowanie podstawowych metod tworzenia aplikacji w języku Java
C3 - Zaprezentowanie zaawansowanego, różnorodnego aparatu dostępnego każdemu programiście do kodowania aplikacji w języku Java
C4 - Wyrobienie w studentach umiejętności pisania i kompilowania programów w języku Java w postaci aplikacji bądź apletów z obsługą błędów, użyciem środowiska graficznego i programowania wielowątkowego oraz podstawowych struktur i bibliotek języka
Wymagania wstępne
Wstęp do programowania
Podstawy informatyki i programowania
Efekty kształcenia dla przedmiotu
WIEDZA
W1 - rozpoznawać wybrane elementy składni języka Java i porównywać je z innymi językami (np. C++) -- K_W01(INF) K_W02(INF) K_W07 (INF) K_W11(MAT)
W2 - definiować konstrukcje programistyczne, w tym różne algorytmy -K_W01(INF) K_W02(INF) K_W05(INF) K_W07(INF) K_W08(MAT) K_W09(MAT) K_W10(MAT) K_W11(MAT)
UMIEJĘTNOŚCI
U1 - rozpoznawać i stosować typy danych, wyrażenia, operatory, instrukcje sterujące, pakiety, klasy, interfejsy, kolekcje, strumienie i pliki, wątki, lambda-wyrażenia, zdarzenia, komponenty Swing i metody adekwatne do problemu, oprogramowywać algorytmy - K_U04(INF) K_U05(INF) K_U06(INF) K_U19(INF) K_U20(INF) K_U19(MAT) K_U20(MAT)
U2 - tworzyć aplikacje konsolowe, aplety, aplikacje w środowisku graficznym (grafika dwuwymiarowa i trójwymiarowa) oraz posługiwać się środowiskiem programistycznym IDE - K_U04(INF) K_U05(INF) K_U11(INF) K_U12(INF) K_U13(INF) K_U19(INF) K_U20(INF) K_U19(MAT) K_U20(MAT) K_U21(MAT) K_U22(MAT)

KOMPETENCJE SPOŁECZNE (POSTAWY)
K1 - postępować zgodne z obowiązującą wszystkich inżynierów oprogramowania etyką, a w szczególności dbać o jakość tworzonej przez siebie aplikacji - K_K01(INF)
K_K03(INF) K_K06(INF) K_K07(INF) K_K08(INF) K_K10(INF) , K_K01(MAT) K_K02(MAT) K_K04(MAT) K_K06(MAT)

K2 - pracować efektywnie i sprawnie, indywidualnie i zespołowo, umiejętnie oceniając priorytety w realizacji projektu -K_K02(INF) K_K03(INF) K_K04(INF) K_K05(INF) K_K08(INF) K_K03(MAT)
Metody dydaktyczne
Wykład: Wykład informacyjny (konwencjonalny) z prezentacją multimedialną
Ćwiczenia: Ćwiczenia praktyczne w pracowni komputerowej z wykorzystaniem rzutnika multimedialnego, indywidualna praca przy komputerze, implementacja i testowanie omawia-nych algorytmów.
Metody dydaktyczne: klasyczna problemowa, giełda pomysłów, dyskusja, indywidualna praca ze studentem, nauczanie wspierane technikami informacyjnymi, praca z tekstem, praca w grupie.
Treści programowe przedmiotu
Wprowadzenie.
Podstawowe elementy języka.
Klasy i obiekty.
Dziedziczenie, polimorfizm.
Działania na napisach.
Wyjątki.
Interfejsy, klasy abstrakcyjne, anonimowe i wewnętrzne.
Typy i metody sparametryzowane. Programowanie generyczne.
Kolekcje.
Strumienie i pliki.
Programowanie współbieżne (wątki, zadania i wykonawcy, synchronizacja).
Podstawowe komponenty biblioteki Swing, szkielet aplikacji z interfejsem graficznym.
Obsługa zdarzeń w Swing.
Inne komponenty Swing interfejsu użytkownika.
Grafika trójwymiarowa.
Elementy programowania funkcyjnego. Lambda-wyrażenia i przetwarzanie strumieniowe.
Kryteria oceny i sposoby weryfikacji zakładanych efektów kształcenia
Warunkiem zaliczenia przedmiotu jest obecność studenta na zajęciach dydaktycznych i zaliczenie ćwiczeń i wykładu:
- zaliczenie ćwiczeń – 1 kolokwium (50%), projekt zaliczeniowy (50%)
- egzamin ustny przy wykorzystaniu aplikacji zaliczeniowej

wynik końcowy poniżej 50% punktów – ocena niedostateczna
szczegółowe zasady oceniania są podawane studentom z każdą edycją przedmiotu.

W1 - W2 - egzamin, kolokwium, projekt zaliczeniowy, przygotowanie do zajęć, aktywność na zajęciach
U1 - U2 - egzamin, kolokwium, projekt zaliczeniowy, przygotowanie do zajęć, aktywność na zajęciach
K1 - K2 - przygotowanie do zajęć, aktywność na zajęciach

GODZINOWE EKWIWALENTY PUNKTÓW ECTS
Godziny realizowane w ramach programu studiów
Wykład 30
Ćwiczenia 30
Łączna liczba godzin 60
Praca własna
Przygotowanie do zajęć 30
Studiowanie literatury 20
Przygotowanie do kolokwium i zaliczenia 50
Łączna liczba godzin 100
Sumaryczna liczba punktów ECTS dla modułu 6
Literatura podstawowa i uzupełniająca
Literatura podstawowa
1. Barteczko, JAVA Programowanie praktyczne od podstaw, PWN, 2014
2. J. Bloch, Java. Efektywne programowanie, Helion, Gliwice 2009
3. http://docs.oracle.com/javase/8/docs/
4. http://docs.oracle.com/javase/9/docs/
5. C. S. Horstmann, G. Cornell, Java. Podstawy, Helion, Gliwice 2013
6. C. S. Horstmann, Java. Techniki zaawansowane, Helion, Gliwice 2017
7. The Java Tutorials, http://download.oracle.com/javase/tutorial/
Literatura uzupełniająca
1. B. Bylina, J. Bylina, J. Mycka, Podstawy technologii informacyjnej i informatyki w przykładach i zadaniach, Wydawnictwo UMCS, Lublin 2007
2. B. Eckel, Thinking in Java, 4th Edition, Prentice Hall, Upper Saddle River, NJ, 2006
3. M. Lis, Java. Ćwiczenia praktyczne, Helion, Gliwice 2002
4. M. Lis, Java. Ćwiczenia zaawansowane, Helion, Gliwice 2002
5. R. C. Martin, Czysty kod. Podręcznik dobrego programisty, Helion, Gliwice 2010
6. L. Miękina, Inżynieria oprogramowania, Uczelniane Wydawnictwa Naukowo–Dydaktyczne AGH, Kraków 2009
7. M. Weisfeld, Myślenie obiektowe w programowaniu, Helion, Gliwice 2010