## 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)
doc. RNDr. Lucie Ciencialová, Ph.D. (lecturer)
doc. RNDr. Lucie Ciencialová, Ph.D. (seminar tutor)
RNDr. Jiří Martinů, Ph.D. (seminar tutor)
Mgr. Jan Schreier (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
Timetable
Tue 16:25–18:00 H2
• Timetable of Seminar Groups:
UIMOIBP001/A: Wed 9:45–11:20 B3a, Š. Vavrečková
UIMOIBP001/B: Wed 18:05–19:40 B3a, J. Schreier
UIMOIBP001/C: Thu 17:15–18:50 H4, J. Martinů, Š. Vavrečková
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
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. Algorithm, algorithm types, recursion, iteration, representation of algorithms.
• 2. Asymptotics, time and space complexity.
• 3. Basic concepts and syntax: variable, array, operators, arithmetic expressions, branching, cycles, functions.
• 4. Flowcharts.
• 5. C and C++ language: basic syntax, comments, program structure.
• 6. Variables and simple data types.
• 7. Functions, main functions, IF THEN ELSE, SWITCH structures. 8. WHILE, DO WHILE, FOR loops. 9. Working with files.
• 10. Array data type.
• 11. InsertSort, SelectSort, BubbleSort, ShellSort, QuickSort, MergeSort.
• 12. Structures.
• 13. 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