SubjectsSubjects(version: 913)
Course, academic year 2021/2022
Programming II - M143016
Title: Programování II
Guaranteed by: Department of Informatics and Chemistry (143)
Faculty: Faculty of Chemical Technology
Actual: from 2019
Semester: summer
Points: summer s.:5
E-Credits: summer s.:5
Examination process: summer s.:
Hours per week, examination: summer s.:2/2, C+Ex [HT]
Capacity: unlimited / unlimited (unknown)
Min. number of students: unlimited
Language: Czech
Teaching methods: full-time
For type:  
Guarantor: Znamenáček Jiří Ing.
Interchangeability : N143037
Annotation -
Last update: Kubová Petra Ing. (12.07.2019)
Second part of the introductional programming course. Students will gain knowledge of basic programming techniques and algorithms. Programming language of the course is Python.
Aim of the course -
Last update: Kubová Petra Ing. (12.07.2019)

Students will be able to:

Understand advanced properties of Python programming language.

Understand basic methods of processing and manipulation of selected binary formats (PNM, PNG, ...).

Use basic properties of distributed concurrent versioning systems (Mercurial, git).

Apply test-driven development.

Have insights into basic programming structures (buffer, queue, graph, tree) and algorithms (sorting).

Literature -
Last update: Kubová Petra Ing. (12.07.2019)

R: Töpfer, Pavel: "Algoritmy a programovací techniky". Prometheus, Praha 2010 (1995). ISBN 978-80-7196-350-9

R: Necaise, Rance D.: "Data Structures and Algorithms Using Python". John Wiley & Sons, 2011. ISBN 978-0-470-61829-5

R: Turzík, Daniel; Pavlíková, Pavla: "Diskrétní matematika". VŠCHT, Praha 2007. ISBN 978-80-7080-667-8

A: Koubková, Alena; Koubek, Václav: "Datové struktury I". Matfyzpress, Praha 2011. ISBN 978-80-7378-166-8

A: Matoušek, Jiří; Nešetřil, Jaroslav: "Kapitoly z diskrétní matematiky". Karolinum, Praha 2010. ISBN 978-80-2461-740-4

A: Koubková, Alena; Pavelka, Jan: "Úvod do teoretické informatiky". Matfyzpress, Praha 2003. ISBN 80-85863-83-9

A: Scott, Michael L.: "Programming Language Pragmatics". Morgan Kaufmann, 2009. ISBN 978-0123745149

A: Aho, Alfred V.; Lam, Monica S.; Sethi, Ravi; Ullman, Jeffrey D.: "Compilers -- Principles, Techniques, & Tools (Second Edition)". Pearson Education, 2007. ISBN 978-0321486813

Learning resources -
Last update: Kubová Petra Ing. (12.07.2019) (Czech translation at

Requirements to the exam - Czech
Last update: Kubová Petra Ing. (12.07.2019)

Zápočet -- praktický projekt na komplexnější aplikace probrané látky

Zkouška -- teoretický test (Python+brainfuck) plus praktická část (Python; komplexnější série úkolů)

Při praktické části je povoleno používat libovolné zdroje.

Syllabus -
Last update: Kubová Petra Ing. (12.07.2019)

1. binary data & image file format PNM

2. introduction to Mercurial and other DVCS

3. unit-tests, doc-tests

4. modules & classes

5. programming language brainfuck

6. regexps

7. decorators

8. generators & iterators

9. image file format PNG

10. more on classes

11. basic data structures - buffer, queue, array, linked list

12. graphs and trees & sorting algorithms

13. applications

14. bytecode of CPython interpreter

Registration requirements -
Last update: Kubová Petra Ing. (12.07.2019)

Programming I (or similar introductory programming course; at least basic knowledge of Python programming language is expected)