lecturer of 2025/2026 Spring semester
Not opened for teaching. Click the study programme link below to see the nominal division schedule.
lecturer of 2026/2027 Autumn semester
Not opened for teaching. Click the study programme link below to see the nominal division schedule.
Course aims
The objective is to establish the prerequisites for understanding the nature, basic concepts, and fundamental methods of programming. The course supports the acquisition of the basics of procedural programming, understanding typical language constructs, and the development of problem analysis skills and algorithmic thinking. It also prepares students for the successful completion of other programming-related subjects.
Brief description of the course
The course introduces the foundations of programming, providing a comprehensive overview of the representation of numerical and text data in a computer, number systems, and programming languages. The course covers the syntax and semantics of high-level programming languages, including the use of variables, simple and structured data types, arithmetic and logical expressions, input and output, and assignment. Students learn to apply control structures, such as sequence, selection, and repetition, and to create subprograms with parameter passing. Skills for working with files are also acquired. The course emphasizes the development of algorithmic thinking, focusing on the analysis of simpler problems and the application of typical algorithms. Students learn to translate algorithms into a programming language, following good coding practices, and develop skills for writing, debugging, and testing program code. Within the scope of the course, previously learned version control tools (e.g., Git and GitHub) are applied for code management and enhancing collaboration.
Learning outcomes in the course
Upon completing the course the student:
- can write, compile and debug simple computer programs, given the problem statements;
- can identify particular arrangements of program constructs to use as solution patterns for simple programming problems;
- can model aspects of real life problems as data objects so that they can be manipulated in a computer program;
- uses a suitable environment for processing, debugging, and testing program code;
- uses version control for managing program code and documentation.