PV168 Seminar in Java programming

Faculty of Informatics
Autumn 2024
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).
In-person direct teaching
Teacher(s)
Mgr. Jiří Weiser (lecturer)
Ing. Pavel Hrdina (lecturer)
Ing. Jiří Koudelka (lecturer)
Bc. Oliver Mačejovský (lecturer)
Mgr. Martin Lazar (seminar tutor)
Ing. Samuel Kulíšek (seminar tutor)
Mgr. Dominik František Bučík (seminar tutor)
Ing. Marek Kadlečík (seminar tutor)
Ing. Tomáš Neugebauer (seminar tutor)
Leoš Otáhal (seminar tutor)
Mgr. Vojtěch Sassmann (seminar tutor)
Mgr. Josef Ludvíček (seminar tutor)
Bc. Jitka Viceníková (assistant)
Bc. Kryštof-Mikuláš Štys (assistant)
Ing. Andrej Vaculčiak (assistant)
Mgr. Tereza Tesařová (assistant)
Mgr. Šimon Mačejovský (assistant)
Mgr. Vendula Teuchnerová (assistant)
Mgr. Michael Koudela (assistant)
Matúš Gindl (assistant)
Bc. Matěj Klíma (assistant)
Bc. Šárka Portešová (assistant)
Bc. Lukáš Bátora (assistant)
Pavel Vyskočil (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
Thu 26. 9. to Thu 19. 12. Thu 16:00–17:50 D2
  • Timetable of Seminar Groups:
PV168/01: Mon 23. 9. to Mon 16. 12. Mon 16:00–17:50 B130, P. Hrdina, S. Kulíšek, M. Lazar
PV168/02: Tue 24. 9. to Tue 17. 12. Tue 18:00–19:50 B130, D. Bučík, M. Kadlečík
PV168/03: Wed 25. 9. to Wed 18. 12. Wed 16:00–17:50 B130, T. Neugebauer, L. Otáhal, J. Weiser
PV168/05: Wed 25. 9. to Wed 18. 12. Wed 16:00–17:50 Virtuální místnost, J. Ludvíček, 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: 151/160, only registered: 2/160, only registered with preference (fields directly associated with the programme): 2/160
fields of study / plans the course is directly associated with
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, Autumn 2023.
  • Enrolment Statistics (recent)
  • Permalink: https://is.muni.cz/course/fi/autumn2024/PV168