Module also offered within study programmes:
General information:
Name:
Programming in Java
Course of study:
2017/2018
Code:
ZIE-1-008-n
Faculty of:
Management
Study level:
First-cycle studies
Specialty:
-
Field of study:
Information Technology and Econometrics
Semester:
0
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)
Academic teachers:
dr inż. Duda Jerzy (jduda@zarz.agh.edu.pl)
Gaweł Bartłomiej (bgawel@zarz.agh.edu.pl)
dr Basiura Beata (bbasiura@zarz.agh.edu.pl)
Module summary

Kurs 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 dla systemy 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)
Social competence
M_K001 potrafi samodzielnie studiować dokumentację środowiska Java oraz śledzić jego rozwój IE1A_K07, IE1A_K01, IE1A_K06 Test,
Execution of laboratory classes
M_K002 potrafi współpracować w zespole; potrafi rozwiązywać problemy związane z realizacją projektu IE1A_K05, IE1A_K02 Project
Skills
M_U001 potrafi, współdziałając w zespole, zaprojektować i utworzyć prosty graficzny interfejs użytkownika oparty o bibliotekę Swing dla aplikacji wspomagającej wybrany proces zarządzania IE1A_U10, IE1A_U06, IE1A_U12 Project,
Execution of laboratory classes
M_U002 potrafi zaprojektować i utworzyć aplikację w języku Java bazującą na autonomicznych klasach IE1A_U10, IE1A_U06 Execution of laboratory classes,
Project,
Test
Knowledge
M_W001 zna ogólne zasady tworzenia aplikacji desktopowych (konsola, Swing), sieciowych (JSP) oraz mobilnych w środowisku Java IE1A_W24, IE1A_W12, IE1A_W11 Test results,
Execution of laboratory classes
M_W002 zna podstawy programowania obiektowego w języku Java; wymienia podstawowe klasy z pakietów java.lang i java.util. IE1A_W24, IE1A_W12 Test results,
Test,
Execution of laboratory classes
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
Others
E-learning
Social competence
M_K001 potrafi samodzielnie studiować dokumentację środowiska Java oraz śledzić jego rozwój + - - + - - - - - - -
M_K002 potrafi współpracować w zespole; potrafi rozwiązywać problemy związane z realizacją projektu - - - + - - - - - - -
Skills
M_U001 potrafi, współdziałając w zespole, zaprojektować i utworzyć prosty graficzny interfejs użytkownika oparty o bibliotekę Swing 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 ogólne zasady tworzenia aplikacji desktopowych (konsola, Swing), sieciowych (JSP) oraz mobilnych w środowisku Java + - - - - - - - - - -
M_W002 zna podstawy programowania obiektowego w języku Java; wymienia podstawowe klasy z pakietów java.lang i java.util. + - - - - - - - - - -
Module content
Lectures:
  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

    Biblioteka AWT. Biblioteka Swing. Podstawowe komponenty GUI. Interfejs Matisse w środowisku NetBeans.

  5. Obsługa baz danych (JDBC) i programowanie wielowątkowe

    Definiowanie połączenia z bazą danych JDBC. Standardowe bazy danych. Obsługa baz danych w środowisku NetBeans. Pojęcie wątków. Tworzenie wątków w języku Java. Cykl życia wątków.

  6. Tworzenie aplikacji dla urządzeń mobilnych

    Środowisko Java Micro Edition. Pojęcie MIDletu. Profile MIDP. Konfiguracje CLDC i CDC. Cykl życia MIDletu.

  7. Tworzenie aplikacji sieciowych w środowisku J2EE

    Środowisko Java Enterprise Edition (J2EE). Java Server Pages (JSP). JavaServer Faces (JSF). Pojęcie servletu. Serwery J2EE.

Project classes:
  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. Komunikacja z bazą danych za pomocą JDBC

    Tworzenie bazy danych w środowisku NetBeans. Obługa baz za pomocą obiektów JDBC. Wykorzystanie gotowych szablonów do obsługi baz w środowisku NetBeans.

  6. Obsługa wątków w Java

    Definiowanie wątków za pomocą klasy Thread. Cykl życia wątków. Synchronizacja wątków.

Student workload (ECTS credits balance)
Student activity form Student workload
Summary student workload 75 h
Module ECTS credits 3 ECTS
Preparation for classes 16 h
Realization of independently performed tasks 16 h
Examination or Final test 1 h
Participation in project classes 8 h
Participation in lectures 8 h
Completion of a project 16 h
Contact hours 10 h
Additional information
Method of calculating the final grade:

Ocena końcowa wystawiana jest na podstawie wyniku kolokwium zaliczeniowego (waga 0,6) oraz oceny z aplikacji przygotowanej w zespole (projekt, waga 0,4).

Prerequisites and additional requirements:

Wymagana znajomość podstaw programowania w języku C/C++ lub C#. Wymaga znajomość relacyjnych baz danych i podstaw języka SQL.

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:

1. Potiopa P., Duda J., Sasor P., Muzykiewicz B., Semantic search extension based on WordNet relations in business documents exploration – złożone do: International Journal on Semantic Web and Information Systems
2. Krzysztof WRÓBEL, Maciej WIELGOSZ, Marcin PIETROŃ, Michał KARWATOWSKI, Jerzy DUDA, Aleksander SMYWIŃSKI-POHL: Improving text classification with vectors of reduced precision, 10th International Conference on Agents and Artificial Intelligence : January 16–18, 2018, Funchal, Portugal

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.