PB112 Foundations of Object Oriented Programming in Java

Faculty of Informatics
Spring 2026
Extent and Intensity
2/2/0. 3 credit(s) (plus extra credits for completion). Recommended Type of Completion: zk (examination). Other types of completion: z (credit).
In-person direct teaching
Teacher(s)
Mgr. Marek Trtík, Ph.D. (lecturer)
RNDr. Jaroslav Pelikán, Ph.D. (seminar tutor)
Bc. Patrik Rosecký (seminar tutor)
Karel Pýcha (seminar tutor)
Michaela Grendelová (seminar tutor)
Tomáš Kantor (seminar tutor)
RNDr. Aleš Zlámal (assistant)
doc. RNDr. Radek Ošlejšek, Ph.D. (assistant)
Guaranteed by
Mgr. Marek Trtík, Ph.D.
Department of Computer Systems and Communications – Faculty of Informatics
Contact Person: Mgr. Marek Trtík, Ph.D.
Supplier department: Department of Computer Systems and Communications – Faculty of Informatics
Timetable
Wed 18. 2. to Wed 13. 5. Wed 8:00–9:50 A217
  • Timetable of Seminar Groups:
PB112/01: Thu 19. 2. to Thu 14. 5. Thu 14:00–15:50 A215, P. Rosecký
PB112/02: Thu 19. 2. to Thu 14. 5. Thu 12:00–13:50 A215, J. Pelikán
PB112/03: Thu 19. 2. to Thu 14. 5. Thu 8:00–9:50 C118, J. Pelikán
PB112/04: Tue 17. 2. to Tue 12. 5. Tue 10:00–11:50 A215, J. Pelikán
PB112/05: Thu 19. 2. to Thu 14. 5. Thu 16:00–17:50 A219, P. Rosecký
PB112/06: Tue 17. 2. to Tue 12. 5. Tue 16:00–17:50 C119, J. Pelikán
PB112/07: Tue 17. 2. to Tue 12. 5. Tue 8:00–9:50 A215, M. Trtík
PB112/08: Tue 17. 2. to Tue 12. 5. Tue 12:00–13:50 C122, M. Trtík
PB112/09: Tue 17. 2. to Tue 12. 5. Tue 18:00–19:50 C122, K. Pýcha
PB112/10: Tue 17. 2. to Tue 12. 5. Tue 8:00–9:50 C119, M. Grendelová
PB112/11: Thu 19. 2. to Thu 14. 5. Thu 18:00–19:50 C118, T. Kantor
Prerequisites
!( PB162 Java Programming ) && ! NOW( PB162 Java Programming )
Knowledge of programming basics (especially the concepts of data type, variable, value, reference, expression, command, function, procedure, loop, recursion, passing parameters). Furthermore, the ability to read and write (shorter) programs in C or Python.
Course Enrolment Limitations
The course is also offered to the students of the fields other than those the course is directly associated with.
fields of study / plans the course is directly associated with
there are 9 fields of study the course is directly associated with, display
Abstract

The primary objective of the course is to develop knowledge of the basic principles of object-oriented programming. The principles are illustrated in Java. Emphasis is placed on the practical applicability of the knowledge.

The secondary objective is to gain basic knowledge of other programming styles (other than object-oriented), specifically functional and logical.

Learning outcomes

The graduate will be able to:

  • Design an object model of the behavior of the studied system and implement it in Java.
  • Understand the principle of the behavior of the model of the studied system from its implementation in Java. The student will also be able to modify or extend this implementation according to the specified requirements.
  • Use the standard Java library when programming.
  • Use development tools for versioning, building, testing and debugging programs in Java.

The graduate will also know the basic principles of the functional and logical programming style.

Key topics
  • Introduction to the Java language, basic development tools, source code, translation, execution.
  • Basic concepts of object-oriented programming, cooperation between objects.
  • Interface and its implementation by class.
  • Unit testing of Java programs.
  • Inheritance, program architecture.
  • Primitive and object data types and data structures, arrays.
  • Working with exceptions, handling non-standard situations at runtime.
  • Inputs and outputs.
  • Principles of functional and logical programming style.
Study resources and literature
  • PECINOVSKÝ, Rudolf. Java 14 : kompletní příručka jazyka. První vydání. Praha: Grada Publishing, 2020, 576 stran. ISBN 9788027113699. URL info
Approaches, practices, and methods used in teaching
The primary teaching activity is the work of each student on a semester project. Programming is done in the seminars under the supervision of the teacher, and the students completes the work at home (if it was not done in the  seminar). Furthermore, feedback on the project is provided to each student by the teacher continuously throughout the semester. Lectures provide a theoretical basis for programming in the seminars and at home.
Method of verifying learning outcomes and course completion requirements
During the semester, students gradually solve a graded semester project in seminars. The main assessment is the fulfillment of the assignment (correctness of the solution) and the quality of the code. There are also two practical exams based on programming directly on the computer during the semester. The final exam, which is more complex than the previous two, is also conducted in a practical form on the computer.
Language of instruction
Czech
Follow-Up Courses
Further Comments
Study Materials
The course is taught annually.
Listed among pre-requisites of other courses
The course is also listed under the following terms Spring 2024, Spring 2025.
  • Enrolment Statistics (recent)
  • Permalink: https://is.muni.cz/course/fi/spring2026/PB112