Course detail

Programming Language Java

FSI-SPJ Acad. year: 2024/2025 Summer semester

The course provides the basics of the Java language and an introduction to object-oriented programming. It will familiarize students with classes, objects, the concept of inheritance, polymorphism, encapsulation, etc. The course will introduce work with files, a graphical environment, or the technique of designing simple applications in the Java language.

Language of instruction

Czech

Number of ECTS credits

4

Entry knowledge

Basic knowledge of algorithmization and programming, basic knowledge of C, C # or C ++ languages.

Rules for evaluation and completion of the course

The evaluation of the course consists of points for the semestral project (presentation of a Java program) (70 %) and points for unassisted homework (30 %) . The condition for obtaining course credits is to obtain at least 50% points from the semestral project.
The attendance at lectures is recommended, the attendance at PC labs is mandatory.

Aims

The goal of the subject is to teach students the Java programming language and to the basics of object-oriented language to design simple applications. They will learn the basics of programming using primitive and reference data types, classes and objects, exceptions, threads, etc. They will learn about Java Virtual Machine or a graphical user interface suitable for Java.
Students will gain a knowledge of Java programming language, incl. object-oriented programming. They will learn to write simple Java applications and they will be able to create an application in graphical user interface.

The study programmes with the given course

Programme N-MAI-P: Mathematical Engineering, Master's, compulsory-optional

Type of course unit

 

Lecture

13 hours, optionally

Syllabus


  1. Introduction to object-oriented programming and introduction to the Java Language.

  2. Basics of the Java language: data types, variables, operators, expressions.

  3. Classes and objects.

  4. Interfaces and special types of classes.

  5. Inheritance, polymorphism, encapsulation.

  6. Working with files.

  7. Graphical user interface.

  8. Exceptions.

  9. Genericity, generic data types.

  10. Threads.

  11. Collections, containers.

  12. Testing, debugging.

  13. Lecturer's reserve.

Computer-assisted exercise

26 hours, compulsory

Syllabus

The PC labs are focused on the practical understanding of the material covered in the lecture topics. Emphasis is placed on the ability to work independently, i.e. on creating a simple application, often within individual tasks.