UIMOIBP001 Algorithms and programming I

Faculty of Philosophy and Science in Opava
Winter 2022
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ů, Ph.D. (lecturer)
doc. RNDr. Lucie Ciencialová, Ph.D. (seminar tutor)
RNDr. Jiří Martinů, Ph.D. (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
Mon 16:25–18:00 B1
• Timetable of Seminar Groups:
UIMOIBP001/A: Wed 16:25–18:00 B3b, Wed 16:25–18:00 B3a, J. Martinů
UIMOIBP001/B: Thu 8:55–10:30 B3a, Š. 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. 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