Module also offered within study programmes:
General information:
Name:
Programming in Java
Course of study:
2019/2020
Code:
ZIIE-1-412-n
Faculty of:
Management
Study level:
First-cycle studies
Specialty:
-
Field of study:
Information Technology and Econometrics
Semester:
4
Profile of education:
Academic (A)
Lecture language:
Polish
Form and type of study:
Part-time studies
Course homepage:
 
Responsible teacher:
dr inż. Duda Jerzy (jduda@zarz.agh.edu.pl)
Module summary

Moduł poświęcony jest podstawom programowania obiektowego w środowisku Java. Po jego ukończeniu studenci będą mogli tworzyć samodzielne aplikacje klienckie na komputery stacjonarne oraz potencjalnie aplikacje internetowe i dla systemu Android.

Description of learning outcomes for module
MLO code Student after module completion has the knowledge/ knows how to/is able to Connections with FLO Method of learning outcomes verification (form of completion)
Skills: he can
M_U001 potrafi, współdziałając w zespole, zaprojektować i utworzyć prosty graficzny interfejs użytkownika oparty o bibliotekę Swing lub Java FX dla aplikacji wspomagającej wybrany proces zarządzania IIE1A_U09, IIE1A_U04, IIE1A_K02, IIE1A_U06 Execution of laboratory classes,
Project
M_U002 potrafi zaprojektować i utworzyć aplikację w języku Java bazującą na autonomicznych klasach IIE1A_U05, IIE1A_U06 Project,
Execution of laboratory classes
Knowledge: he knows and understands
M_W001 zna i rozumie ogólne zasady tworzenia aplikacji desktopowych (konsola, Swing) i sieciowych (JSP) w środowisku Java IIE1A_W06 Test results
M_W002 zna i rozumie podstawy programowania obiektowego w języku Java IIE1A_W06 Test results
Number of hours for each form of classes:
Sum (hours)
Lecture
Audit. classes
Lab. classes
Project classes
Conv. seminar
Seminar classes
Pract. classes
Zaj. terenowe
Zaj. warsztatowe
Prace kontr. przejść.
Lektorat
16 8 0 0 8 0 0 0 0 0 0 0
FLO matrix in relation to forms of classes
MLO code Student after module completion has the knowledge/ knows how to/is able to Form of classes
Lecture
Audit. classes
Lab. classes
Project classes
Conv. seminar
Seminar classes
Pract. classes
Zaj. terenowe
Zaj. warsztatowe
Prace kontr. przejść.
Lektorat
Skills
M_U001 potrafi, współdziałając w zespole, zaprojektować i utworzyć prosty graficzny interfejs użytkownika oparty o bibliotekę Swing lub Java FX dla aplikacji wspomagającej wybrany proces zarządzania - - - + - - - - - - -
M_U002 potrafi zaprojektować i utworzyć aplikację w języku Java bazującą na autonomicznych klasach - - - + - - - - - - -
Knowledge
M_W001 zna i rozumie ogólne zasady tworzenia aplikacji desktopowych (konsola, Swing) i sieciowych (JSP) w środowisku Java + - - - - - - - - - -
M_W002 zna i rozumie podstawy programowania obiektowego w języku Java + - - - - - - - - - -
Student workload (ECTS credits balance)
Student activity form Student workload
Summary student workload 75 h
Module ECTS credits 3 ECTS
Udział w zajęciach dydaktycznych/praktyka 16 h
Preparation for classes 20 h
przygotowanie projektu, prezentacji, pracy pisemnej, sprawozdania 18 h
Realization of independently performed tasks 20 h
Examination or Final test 1 h
Module content
Lectures (8h):
  1. Wprowadzenie do języka Java i maszyny wirtualnej

    Rozwój języka Java. Platformy Java. Środowiska programistyczne. Maszyna wirtualna Java (JVM). Dokumentacja języka Java.

  2. Podstawy programowania obiektowego w języku Java

    Tworzenie klas w języku Java. Pakiety i ich wykorzystanie. Podstawowe klasy z pakietów java.lang i java.util. Obsługa wyjątków.

  3. Zaawansowane techniki programowania obiektowego

    Dziedziczenie i interfejsy. Kolekcje i kolekcje generyczne. Klasy anonimowe.

  4. Tworzenie GUI w środowisku Java. Obsługa baz danych (JDBC)

    Biblioteka AWT. Biblioteka Swing. Podstawowe komponenty GUI. Interfejs Matisse w środowisku NetBeans. Definiowanie połączenia z bazą danych JDBC. Standardowe bazy danych. Obsługa baz danych w środowisku NetBeans

Project classes (8h):
  1. Tworzenie i uruchamianie aplikacji konsolowej w języku Java

    Środowisko JDK. Kompilator javac. Uruchamianie aplikacji w maszynie wirtualnej. Wykorzystanie środowiska programistycznego NetBeans.

  2. Tworzenie aplikacji obiektowej w języku Java

    Tworzenie klas i obiektów. Wykorzystanie pakietów java.lang i java.utll. Obsługa wyjątków w bloku try..catch.

  3. Wykorzystanie klas kolekcji w języku Java

    Wykorzystanie tablic. Tablice a kolekcje. Kolekcje generyczne. Pętla foreach.

  4. Tworzenie GUI w środowisku NetBeans

    Projektowanie GUI z wykorzystaniem interfejsu Matisse. Podstawowe kontrolki. Obsługa zdarzeń.

  5. Wykonanie projektu

    Przygotowanie projektu w grupie 3-4 osobowej, składającego się z kilku klas, wykorzystującego agregacje. Dane powinny być zapisywane i pobierane z pliku lub bazy SQL. Na wyższą ocenę konieczne jest zaprojektowanie GUI do obsługi aplikacji.

Additional information
Teaching methods and techniques:
  • Lectures: Treści prezentowane na wykładzie są przekazywane w formie prezentacji multimedialnej w połączeniu z klasycznym wykładem tablicowym wzbogaconymi o pokazy odnoszące się do prezentowanych zagadnień.
  • Project classes: Studenci wykonują zadany projekt samodzielnie, bez większej ingerencji prowadzącego. Ma to wykształcić poczucie odpowiedzialności za pracę w grupie oraz odpowiedzialności za podejmowane decyzje.
Warunki i sposób zaliczenia poszczególnych form zajęć, w tym zasady zaliczeń poprawkowych, a także warunki dopuszczenia do egzaminu:

1. Wykonanie zadań prezentowanych na ćwiczeniach i przesłanie ich na platformę UPEL.
2. Zaliczenie testu.
3. Wykonanie projektu.
Test poprawkowy zostanie zorganizowany w dodatkowych godzinach, nie wcześniej niż tydzień po pierwszym terminie.

Participation rules in classes:
  • Lectures:
    – Attendance is mandatory: No
    – Participation rules in classes: Studenci uczestniczą w zajęciach poznając kolejne treści nauczania zgodnie z syllabusem przedmiotu. Studenci winni na bieżąco zadawać pytania i wyjaśniać wątpliwości. Rejestracja audiowizualna wykładu wymaga zgody prowadzącego.
  • Project classes:
    – Attendance is mandatory: Yes
    – Participation rules in classes: Studenci wykonują prace praktyczne mające na celu uzyskanie kompetencji zakładanych przez syllabus. Ocenie podlega sposób wykonania projektu oraz efekt końcowy.
Method of calculating the final grade:

cena końcowa wystawiana jest na podstawie wyniku testu zaliczeniowego (waga 0,5), oddania ćwiczeń laboratoryjnych (waga 0,1) oraz oceny z aplikacji przygotowanej w zespole (projekt, waga 0,4).

Sposób i tryb wyrównywania zaległości powstałych wskutek nieobecności studenta na zajęciach:

Zaległe ćwiczenia student wykonuje samodzielnie i przedstawia wyniki prowadzącemu.

Prerequisites and additional requirements:

Wymagane ukończenie modułu Programowanie komputerów.

Recommended literature and teaching resources:

Literatura:
1. Bruce Eckel: Thinking in Java, Helion 2006
2. Cay Horstmann, Gary Cornell: Java. Podstawy, Helion 2008
3. Marcin Lis: Praktyczny kurs Java, Helion 2007
4. Marcin Lis: Java. Ćwiczenia praktyczne, Helion, 2006
5. Patrick Niemeyer, Jonathan Knudsen: Java. Wprowadzenie, Helion, 2003
6. The Java Tutorials, http://java.sun.com/docs/books/tutorial/
Oprogramowanie:
Java SDK wersja 5.0 lub wyższa
NetBeans Java SE wersja 6.0 lub wyższa

Scientific publications of module course instructors related to the topic of the module:

Semantic search extension based on Polish WordNet relations in business document exploration / Piotr POTIOPA, Michał KARWATOWSKI, Jerzy DUDA, Paweł Sasor, Maciej WIELGOSZ, Bartłomiej Muzykiewicz // W: IML 2017 [Dokument elektroniczny] : international conference on Internet of things and Machine Learning : October 17–18, 2017, Liverpool, United Kingdom (implementacja w Java)

Multi-agent approach to production scheduling in foundries / J. DUDA, A. STAWOWY // Archives of Foundry Engineering / Polish Academy of Sciences. Commission of Foundry Engineering ; ISSN 1897-3310 (wykorzystane środowisko JADE)

Additional information:

Wykłady nie są obowiązkowe. Nieobecność na ćwiczeniach projektowych jest dopuszczalna pod warunkiem, że student we własnym zakresie nadrobi zaległości – wykona zadane na platformie UPEL ćwiczenia i prześle rozwiązania. Nieobecność na teście wymaga zaliczenia go na konsultacjach, po wcześniejszym uzgodnieniu terminu.