PV168 Seminar in Java programming

Faculty of Informatics
Autumn 2023
Extent and Intensity
2/2/0. 3 credit(s) (plus extra credits for completion). Recommended Type of Completion: k (colloquium). Other types of completion: z (credit).
Taught in person.
Teacher(s)
Ing. Pavel Hrdina (lecturer)
Mgr. Jiří Weiser (lecturer)
Ing. Jiří Koudelka (lecturer)
Ing. Ondřej Konečný (lecturer)
Mgr. Vojtěch Sassmann (lecturer)
Mgr. Peter Balčirák (lecturer)
Bc. Vilém Obrátil (seminar tutor)
Bc. Oliver Mačejovský (seminar tutor)
Mgr. Tereza Tesařová (seminar tutor)
Mgr. Dominik František Bučík (seminar tutor)
Ing. Jan Šimonek (seminar tutor)
Mgr. Šimon Mačejovský (assistant)
Mgr. Vendula Teuchnerová (assistant)
Ing. Andrej Vaculčiak (assistant)
Mgr. Jakub Čecháček (assistant)
doc. Ing. RNDr. Barbora Bühnová, Ph.D. (lecturer)
Bc. Matej Hakoš (assistant)
Ing. Daniela Hostačná (assistant)
Mgr. Michael Koudela (assistant)
Ing. Samuel Kulíšek (assistant)
Ing. Tomáš Ondruško (assistant)
Mgr. Peter Šípoš (assistant)
Bc. Kryštof-Mikuláš Štys (assistant)
Bc. Jitka Viceníková (assistant)
Guaranteed by
doc. Ing. RNDr. Barbora Bühnová, Ph.D.
Department of Computer Systems and Communications – Faculty of Informatics
Contact Person: doc. Ing. RNDr. Barbora Bühnová, Ph.D.
Supplier department: Department of Computer Systems and Communications – Faculty of Informatics
Timetable
Wed 18:00–19:50 D2
  • Timetable of Seminar Groups:
PV168/01: Mon 16:00–17:50 B130, P. Balčirák, P. Hrdina
PV168/02: Mon 18:00–19:50 B130, V. Obrátil, J. Weiser
PV168/03: Tue 16:00–17:50 B130, J. Koudelka, O. Mačejovský, T. Tesařová
PV168/04: Wed 16:00–17:50 B130, D. Bučík, O. Konečný, J. Šimonek
PV168/05: Wed 16:00–17:50 Virtuální místnost, V. Sassmann
Prerequisites
PB162 Java || SOUHLAS
Java programming knowledge covered by the course PB162.
Course Enrolment Limitations
The course is also offered to the students of the fields other than those the course is directly associated with.
The capacity limit for the course is 160 student(s).
Current registration and enrolment status: enrolled: 154/160, only registered: 4/160, only registered with preference (fields directly associated with the programme): 4/160
fields of study / plans the course is directly associated with
there are 74 fields of study the course is directly associated with, display
Course objectives
The goal of this course is to extend the basic knowledge of Java and master its practical application in concrete team projects. The student will be able to appropriately decompose simple programming tasks and write robust code including automated tests. The student will get acquainted with basics of GUI development, multithreaded applications, fundamental APIs, and simple database (JDBC). After passing the course, the student is expected to be capable of designing and developing simple applications in Java. Furthermore, the student is also expected to know how to cooperate with colleagues during the development process.
Learning outcomes
Student will be able to:
- do object design in Java;
- use presented design patterns;
- use and write unit tests in JUnit;
- access relational databases in Java via JDBC;
- use SwingWorker class for asynchronous computations
- describe the principles of applications with a graphical user interface;
- write simple applications with GUI in Java;
- cooperate with colleagues during software development.
Syllabus
  • GUI Applications
  • Object-oriented design in Java
  • Design patterns
  • Testing, Unit Testing, JUnit
  • Databases in Java, JDBC
  • Immutable objects
  • Logging, Error reporting
  • Asynchronous desktop applications
Literature
    required literature
  • BLOCH, Joshua. Java efektivně : 57 zásad softwarového experta. Translated by Karel Voráček. 1. vyd. Praha: Grada, 2001, 230 s. ISBN 8024704161. info
    recommended literature
  • FOWLER, Martin. Refaktoring : zlepšení existujícího kódu. 1. vyd. Praha: Grada, 2003, 394 s. ISBN 8024702991. info
  • ECKEL, Bruce. Myslíme v jazyku Java : knihovna programátora. Praha: Grada, 2001, 431 s. ISBN 8024790106. info
  • WONG, Henry. Java threads. Edited by Scott Oaks. 3rd ed. Sebastopol, CA: O'Reilly & Associates, 2004, 340 s. ISBN 0596007825. info
  • BECK, Kent. Programování řízené testy. Praha: Grada Publishing, 2004, 204 s. ISBN 80-247-0901-5. info
  • SHIRAZI, Jack. Java - vylaďování výkonu. 1. vyd. Praha: Grada, 2003, xvi, 597. ISBN 8024707527. info
Teaching methods
The course uses method of experiential learning. Students form groups of four. Within these group, students study methods shown in labs in PC rooms and incorporate those methods in the semester project. Lectures are dedicated to explanation and to enlargement of the concepts shown in labs.
Assessment methods
For the successful completion, the participant is required to attend the labs regularly and to cooperate on the team project together with the final presentation.
Language of instruction
Czech
Follow-Up Courses
Further Comments
Study Materials
The course is taught annually.
Listed among pre-requisites of other courses
Teacher's information
https://pv168.pages.fi.muni.cz/
The course is also listed under the following terms Spring 2005, Spring 2006, Spring 2007, Spring 2008, Spring 2009, Spring 2010, Spring 2011, Spring 2012, Spring 2013, Spring 2014, Spring 2015, Spring 2016, Spring 2017, Spring 2018, Spring 2019, Autumn 2019, Autumn 2020, Autumn 2021, Autumn 2022.
  • Enrolment Statistics (recent)
  • Permalink: https://is.muni.cz/course/fi/autumn2023/PV168