SubjectsSubjects(version: 901)
Course, academic year 2021/2022
Computer programming fundamentals II - MC260P26
Title: Základy programování II
Czech title: Základy programování II
Guaranteed by: Department of Physical and Macromolecular Chemistry (31-260)
Faculty: Faculty of Science
Actual: from 2016
Semester: winter
E-Credits: 3
Examination process: winter s.:
Hours per week, examination: winter s.:2/0 Ex [hours/week]
Capacity: 16
Min. number of students: 8
Virtual mobility / capacity: no
State of the course: taught
Language: Czech
Explanation: nedojde-li k jine dohode, kurz probiha pouze v letech x, kde (x+1) mod 3=0
Note: enabled for web enrollment
Guarantor: doc. RNDr. Filip Uhlík, Ph.D.
Teacher(s): doc. RNDr. Filip Uhlík, Ph.D.
Pre-requisite : MC260P25
Annotation -
Last update: ZUSKOVA (29.01.2003)
Computer programming fundamentals II

This lecture covers basic data structures (e. g., lists and trees), algorithms and their analysis (e. g., searching, sorting and graph algorithms). General programming techniques (e. g., "divide and conquer" and "dynamical programming") are also discussed. This lecture is a loose continuation of Computer Programming I. Examples are given in the C programming language.
Literature -
Last update: doc. RNDr. Filip Uhlík, Ph.D. (07.06.2019)

D. E. Knuth: The Art of Computer Programming, Addison-Wesley, 1969.

Requirements to the exam -
Last update: doc. RNDr. Filip Uhlík, Ph.D. (15.10.2020)

Exam consists in two parts, a written one when student creates a program for an agreed problem and an oral one when students defends its correctness and eventual changes. If necessary, the couse and the exam will have a distant form.

Syllabus -
Last update: doc. RNDr. Filip Uhlík, Ph.D. (07.06.2019)

Algorithms and complexity

what is an algorithm? time and space complexity, asymptotic complexity and big O notation

Basic data structures and algorithms

sequential allocation, linked allocation, stack, queue, trees, heap

Divide and Conquer

Dynamic programing


sequential searching, binary searching, binary searching trees, AVL trees, 2-3 trees, B-trees, hashing, external searching


insert and select sort, quick, heap and merge sort, external sorting

Graph algorithms

graph traversal, graph components, shortest path, minimal spanning tree

Charles University | Information system of Charles University |