# FPF:UIMOIBP001 Algorithms and programming I - Course Information

## UIMOIBP001 Algorithms and programming I

**Faculty of Philosophy and Science in Opava**

Winter 2023

**Extent and Intensity**- 2/2/0. 4 credit(s). Type of Completion: z (credit).
**Teacher(s)**- Ing. Jiří Blahuta, Ph.D. (lecturer)

RNDr. Jiří Martinů (lecturer)

doc. RNDr. Lucie Ciencialová, Ph.D. (seminar tutor)

RNDr. Jiří Martinů (seminar tutor)

RNDr. Šárka Vavrečková, Ph.D. (seminar tutor) **Guaranteed by**- doc. RNDr. Lucie Ciencialová, Ph.D.

Institute of Computer Science - Faculty of Philosophy and Science in Opava **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**- Information and communication technologies (programme FPF, MOI)

**Course objectives**- The course is an introduction to the programming, students will learn to design algorithms, will understand their logical structure, the syntax, and semantics of the programming language. Students will also learn to use the data types properly (the standard as well as user-defined data types), loops, procedures, and functions. The students will also learn the basic methods of algorithm optimization.
**Learning outcomes**- Students will learn to design algorithms, understand the logic structure of the algorithm, syntax, and semantics of the programming language. Students will also learn to use the data-types correctly (primitive, as well as user-defined), use the loops, procedures, and functions.
**Syllabus**- 1. The algorithm, types of the algorithms, recursion, iteration, representation of an algorithm
- 2. Asymptotic analysis, time and space complexity
- 3. Basic terms and syntax: variable, array, operators, arithmetic expressions, branching, loops, functions
- 4. Flow charts
- 5. C++ language: basic syntax, comments, the structure of the program, variables and data-types
- 6. Functions, function main, structures IF THEN ELSE, SWITCH
- 7. WHILE, DO WHILE, FOR loops
- 8. Sorting, properties and complexity of the sorting algorithms, Bubble sort, Shaker sort, Quick sort, Insert sort, Select sort, Merge sort, Heap sort, Radix sort, Bogo sort, Bozo sort
- 9. Structured data types, structures
- 10. Pointers

**Teaching methods**- Lecture, tutorial
**Assessment methods**- Homework, final project, defending the final project.

Mandatory attendance at tutorials at least 75%. **Language of instruction**- Czech

- Enrolment Statistics (Winter 2023, recent)
- Permalink: https://is.slu.cz/course/fpf/winter2023/UIMOIBP001