## UIMOIBP001 Algorithms and programming I

Faculty of Philosophy and Science in Opava
Winter 2020
Extent and Intensity
2/2/0. 4 credit(s). Type of Completion: z (credit).
Teacher(s)
RNDr. Miroslav Langer, Ph.D. (lecturer)
RNDr. Miroslav Langer, Ph.D. (seminar tutor)
Guaranteed by
RNDr. Miroslav Langer, Ph.D.
Institute of Computer Science – Faculty of Philosophy and Science in Opava
Timetable
Tue 8:05–9:40 B1
• Timetable of Seminar Groups:
UIMOIBP001/A: Tue 13:05–14:40 B3a, M. Langer
UIMOIBP001/B: Tue 9:45–11:20 B3a, M. Langer
UIMOIBP001/C: Wed 10:35–12:10 B3a, M. Langer
Prerequisites (in Czech)
TYP_STUDIA ( B )
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. 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