SubjectsSubjects(version: 953)
Course, academic year 2019/2020
  
Programming II - M143016
Title: Programování II
Guaranteed by: Department of Informatics and Chemistry (143)
Faculty: Faculty of Chemical Technology
Actual: from 2019 to 2022
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
State of the course: taught
Language: Czech
Teaching methods: full-time
Teaching methods: full-time
Level:  
Guarantor: Znamenáček Jiří Ing.
Interchangeability : N143037
Examination dates   Schedule   
Annotation -
Second part of the introductional programming course. Students will gain knowledge of basic programming techniques and algorithms. Programming language of the course is Python.
Last update: Kubová Petra (12.07.2019)
Aim of the course -

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).

Last update: Kubová Petra (12.07.2019)
Literature -

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

Last update: Kubová Petra (12.07.2019)
Learning resources -

http://Python.org

http://DiveIntoPython3.net (Czech translation at http://DiveIntoPython3.py.cz)

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

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.

Last update: Kubová Petra (12.07.2019)
Syllabus -

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

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

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

Last update: Znamenáček Jiří (27.02.2024)
 
VŠCHT Praha