Course detail

Computers and Programming 2

FEKT-BKC-PC2TAcad. year: 2023/2024

General introduction to algorithmization, a general introduction to object-oriented programming, the control sequence of higher-order languages, the JAVA Eclipse application programming environment.

Language of instruction


Number of ECTS credits


Mode of study

Not applicable.

Entry knowledge

The subject knowledge on the secondary school level and ANSI C programming knowledge are required.

Rules for evaluation and completion of the course

The student can obtain up to 20 points for the activity in computer labs, 20 points for tests during the semester, 30 points for the final test, and 30 points for an individual project in JAVA.
The content and forms of instruction in the evaluated course are specified by a regulation issued by the lecturer responsible for the course and updated for every academic year.


Educating students in algorithmic thinking and object-orientated programming. Explaining the basic properties and structures of the JAVA language. Preparing students for exploration of JAVA Eclipse.
Mastering the basics of algorithmic thinking and object-orientated programming. Understanding the basic properties and structures of JAVA and the ability to apply them. Basic ability to program in JAVA Eclipse.

Study aids

Not applicable.

Prerequisites and corequisites

Not applicable.

Basic literature

Keogh, J.: Java bez předchozích znalostí, Computer press, 2005, ISBN: 9788025108390 . (CS)
Pecinovský, R.: Myslíme objektově v jazyku Java -- kompletní učebnice pro začátečníky, Grada , 2008, ISBN: 978-80-247-2653-3. (CS)
Schildt , H.: Java: A Beginner's Guide, McGraw-Hill Education, 2014, ISBN: 978-0071809252. (EN)
Schildt , H.: JAVA 8 - výukový kurz, Computer Press, 2016, ISBN: 9788025146651. (CS)

Recommended reading

Not applicable.


Classification of course in study plans

  • Programme BKC-TLI Bachelor's, 2. year of study, summer semester, compulsory

Type of course unit



26 hours, optionally

Teacher / Lecturer


1) Basic algorithms in JAVA: loops, branching, methods, basic data types (primitives), reference vs. indicators, variables, visibility of variables.
2) Classes and objects. Basic data types (primitives) vs. objects. References. Visibility of variables and attributes in the program.
Inheritance. Class vs. abstract class vs. interface. Polymorphism. Inner classes.
3) Exceptions and the principle of treating unexpected events. Exception is thrown. Multiple nested exceptions and their handling. Hierarchical breakdown of exceptions. Own exception creation. Text files and standard input and output. The input / output streams, work with file systems, files, folders, creation, delete, modify access rights.
4) Advanced data types, Collections, lists (ArrayList, LinkedList), sets (HashSet, TreeSet), maps (HashMap, TreeMap), iterators. Browsing the collections in the cycle. String class, operations with strings . Enumeration type, envelope type. Generic programming.
5) Graphical user interface. Design pattern Model-View-Controller. Event-driven programming.

Exercise in computer lab

26 hours, compulsory

Teacher / Lecturer


1) Implementing classes and objects. Communication between objects. Static data entries and methods. Implementing child from parent class. Constructors and methods overriding. Implementing abstract class. Implementing interface.
2) Work with lists (ArrayList and LinkedList). Work with sets (HashSet and TreeeSet). Work with maps (HashMap and TreeMap). Envelope type usage. Enumeration type usage. Implementing and usage of generic class.