Course: Programming Techniques

« Back
Course title Programming Techniques
Course code KIV/PT
Organizational form of instruction Lecture + Tutorial
Level of course Bachelor
Year of study 2
Semester Winter
Number of ECTS credits 5
Language of instruction Czech, English
Status of course Compulsory, Compulsory-optional, Optional
Form of instruction Face-to-face
Work placements This is not an internship
Recommended optional programme components None
Lecturer(s)
  • Kratochvíl Michal, Ing.
  • Prokop Tomáš, Ing.
  • Mautner Pavel, Ing. Ph.D.
  • Majdišová Zuzana, Ing. Bc.
Course content
1. Complexity of algorithms - revision and extension of knowledge. Abstract data types 2. Searching and sorting algorithm - medians, quantils, bucket sort, radix sort, comparison of sorting algorithms 3. Data structures I - stack, queue, list, dictionary, inverted list 4. Data structures II - balanced searching trees (AVL, Red-Black, B), hash tables, graphs, sets 5. Graph algorithms - shortest path (Dijkstra, Floyd-Warshall), minimum spanning tree (Prim-Jarnik, Kruskal), bipartite graphs 6. Sets algorithms - generating of permutations and subsets 7. Text algorithms - string agreement, aproximate agreement, shortest and longest common subsequence 8. Data compression I - lossless algorithms (RLE, LZW, Huffman, arithmetic coding) 9. Data compression II - lossy methods (JPEG, wavelet compression, fractal compression 10. Cryptography - introduction, basic algorithms. 11. Programmer practice - using suitable data structures,effect of cache on program running, effect of floating point implementation of real numbers on calculation

Learning activities and teaching methods
Seminar classes, Lecture
  • Contact hours - 65 hours per semester
  • Undergraduate study programme term essay (20-40) - 30 hours per semester
  • Preparation for an examination (30-60) - 40 hours per semester
prerequisite
professional knowledge
algoritmizovat jednoduché problémy
programovat v některém ze základních programovacích jazyků (Java, C, Pascal)
professional skills
analyzovat zadání jednoduché úlohy
vytvořit jednoduchý program v základním programovacím jazyce
napsat a odladit jednoduchý program ve vývojovém prostředí pro daný jazyk
vytvořit uživatelskou a programátorskou dokumentaci pro vytvořený program
general eligibility
N/A
learning outcomes
professional knowledge
vyjmenovat a použít a implementovat základní datové struktury používané v informatice (zásobník, fronta, speciální vyhledávací stromy, slovníky, hashovací tabulky, množiny, grafy)
používat a implementovat základní algoritmy řazení a vyhledávání, grafové algoritmy (nejkratší cesta, minimální kostra grafu, toky v sítích)
používat a implementovat algoritmy zpracování textů, kombinatorické algoritmy a algoritmy komprese dat
vyjmenovat a vysvětlit základní algoritmy používané v kryptografii
professional skills
analyzovat problém a zvolit vhodné datové struktury a algoritmy
vytvořit program v některém ze základních programovacích jazyků
vytvořit uživatelskou a programátorskou dokumentaci pro řešený problém
zhodnotit řešení problému, popř. navrhnout možné modifikace řešeného problému, které se nepodařilo realizovat
teaching methods
professional knowledge
Lecture
Practicum
professional skills
Practicum
Individual study
general eligibility
Practicum
Individual study
assessment methods
professional knowledge
Written exam
Seminar work
professional skills
Written exam
Skills demonstration during seminar
Seminar work
general eligibility
Skills demonstration during seminar
Seminar work
Quality of a written report
Recommended literature
  • Cormen, Thomas H. Introduction to algorithms. MIT Press, 2009. ISBN 978-0262033848.
  • Goodrich, Michael T.; Tamassia, Roberto. Data structures and algorithms in Java. John Wiley & Sons, 2005. ISBN 0-471-73884-0.
  • McConnell, Steve. Dokonalý kód : umění programování a techniky tvorby software. Vyd. 1. Brno : Computer Press, 2005. ISBN 80-251-0849-X.
  • Sedgewick, Robert. Algorithms in Java. Pts. 1-4, Fundamentals, data structures, sorting, searching. 3rd ed. Boston : Addison-Wesley, 2003. ISBN 0-201-36120-5.
  • Skiena, Steven S. The algorithm design manual. 2nd ed. New York : Springer, 2008. ISBN 978-1-848-00-069-.
  • Töpfer, Pavel. Algoritmy a programovací techniky. 1. vyd. Praha : Prometheus, 1995. ISBN 80-85849-83-6.


Study plans that include the course
Faculty Study plan (Version) Branch of study Category Recommended year of study Recommended semester
Faculty of Applied Sciences Intelligent Man-Machine Communication (2012) Special and interdisciplinary fields 2 Winter
Faculty of Applied Sciences Applied and Engineering Physics (2017) Special and interdisciplinary fields 2 Winter
Faculty of Applied Sciences Computer Control of Systems and Processes (2016) Special and interdisciplinary fields 2 Winter
Faculty of Applied Sciences Systems for Identification, Security and Communication (2016) Special and interdisciplinary fields 2 Winter
Faculty of Applied Sciences Systems for Identification, Security and Communication (2012) Special and interdisciplinary fields 2 Winter
Faculty of Applied Sciences Computer Systems (2016) Electrical engineering, telecommunication and IT 3 Winter
Faculty of Applied Sciences Information Technologies (2016) Informatics courses 2 Winter
Faculty of Applied Sciences Geomatics (2017) Construction industry, geodesy and cartography 2 Winter
Faculty of Applied Sciences Mathematics for Science (2012) Mathematics courses 2 Winter
Faculty of Applied Sciences Mathematics and its Applications (2017) Mathematics courses 2 Winter
Faculty of Applied Sciences Information Technologies (2017) Informatics courses 2 Winter
Faculty of Applied Sciences Computer Systems (2017) Electrical engineering, telecommunication and IT 3 Winter
Faculty of Applied Sciences Information Systems (2016) Informatics courses 2 Winter
Faculty of Applied Sciences Applied and Engineering Physics (2012) Special and interdisciplinary fields 2 Winter
Faculty of Applied Sciences Mathematics and its Applications (2015) Mathematics courses 2 Winter
Faculty of Applied Sciences Geomatics (2014) Construction industry, geodesy and cartography 2 Winter
Faculty of Applied Sciences Geomatics (2014) Construction industry, geodesy and cartography 2 Winter
Faculty of Applied Sciences Financial Informatics and Statistics (2017) Economy 2 Winter
Faculty of Applied Sciences Systems for Identification, Security and Communication (2017) Special and interdisciplinary fields 2 Winter
Faculty of Applied Sciences Financial Informatics and Statistics (2017) Economy 2 Winter
Faculty of Applied Sciences Intelligent Man-Machine Communication (2017) Special and interdisciplinary fields 2 Winter
Faculty of Education Information Technologies in Education (14) Informatics courses 2 Winter
Faculty of Economics Information Systems Management (2015) Economy 2 Winter
Faculty of Applied Sciences Computer Control of Systems and Processes (2015) Special and interdisciplinary fields 2 Winter
Faculty of Applied Sciences Information Technologies (2015) Informatics courses 2 Winter
Faculty of Applied Sciences Intelligent Man-Machine Communication (2016) Special and interdisciplinary fields 2 Winter
Faculty of Applied Sciences Mathematics for Business Studies (2016) Mathematics courses 2 Winter
Faculty of Applied Sciences Geomatics (2016) Construction industry, geodesy and cartography 2 Winter
Faculty of Applied Sciences Geomatics (2017) Construction industry, geodesy and cartography 2 Winter
Faculty of Applied Sciences General Mathematics (2012) Mathematics courses 2 Winter
Faculty of Applied Sciences Computer Control of Systems and Processes (2017) Special and interdisciplinary fields 2 Winter
Faculty of Economics Information Systems Management (1) Economy 2 Winter
Faculty of Education Information Technologies in Education (15) Informatics courses 2 Winter
Faculty of Applied Sciences Information Systems (2015) Informatics courses 2 Winter
Faculty of Applied Sciences Computer Control of Systems and Processes (2012) Special and interdisciplinary fields 2 Winter
Faculty of Applied Sciences Geomatics (2012) Construction industry, geodesy and cartography 2 Winter
Faculty of Applied Sciences Geomatics (2016) Construction industry, geodesy and cartography 2 Winter
Faculty of Applied Sciences Mathematics for Business Studies (2015) Mathematics courses 2 Winter
Faculty of Applied Sciences Mathematics for Business Studies (2011) Mathematics courses 2 Winter
Faculty of Applied Sciences Land-use Planning (2017) Special and interdisciplinary fields 3 Winter
Faculty of Applied Sciences Scientific Computing and Modelling (2011) Mathematics courses 2 Winter
Faculty of Applied Sciences Building Structures (2010) Construction industry, geodesy and cartography 4 Winter
Faculty of Applied Sciences Land-use Planning (2013) Special and interdisciplinary fields 3 Winter
Faculty of Applied Sciences Information Technologies (2012) Informatics courses 2 Winter
Faculty of Applied Sciences Mathematics and its Applications (2016) Mathematics courses 2 Winter
Faculty of Applied Sciences Information Systems (2017) Informatics courses 2 Winter
Faculty of Applied Sciences Mathematics for Business Studies (2016) Mathematics courses 2 Winter
Faculty of Education Information Technologies in Education (16) Informatics courses 2 Winter
Faculty of Education Information Technologies in Education (13) Informatics courses 2 Winter
Faculty of Applied Sciences Intelligent Man-Machine Communication (2015) Special and interdisciplinary fields 2 Winter
Faculty of Applied Sciences Applied and Engineering Physics (2016) Special and interdisciplinary fields 2 Winter
Faculty of Applied Sciences Financial Informatics and Statistics (1) Economy 2 Winter
Faculty of Applied Sciences Land-use Planning (2014) Special and interdisciplinary fields 3 Winter
Faculty of Applied Sciences Information Systems (2014) Informatics courses 2 Winter
Faculty of Applied Sciences Financial Informatics and Statistics (2016) Economy 2 Winter
Faculty of Applied Sciences Information Technologies (2017) Informatics courses 2 Winter
Faculty of Applied Sciences Financial Informatics and Statistics (2007) Economy 2 Winter
Faculty of Applied Sciences Geomatics (2015) Construction industry, geodesy and cartography 2 Winter
Faculty of Applied Sciences Mathematics for Business Studies (2017) Mathematics courses 2 Winter
Faculty of Applied Sciences Mathematics and its Applications (2016) Mathematics courses 2 Winter
Faculty of Applied Sciences Mathematics and its Applications (2015) Mathematics courses 2 Winter
Faculty of Applied Sciences Systems for Identification, Security and Communication (2015) Special and interdisciplinary fields 2 Winter
Faculty of Applied Sciences Information Systems (2012) Informatics courses 2 Winter
Faculty of Applied Sciences Information Technologies (2016) Informatics courses 2 Winter
Faculty of Applied Sciences Information Technologies (2013) Informatics courses 2 Winter
Faculty of Applied Sciences Mathematics for Business Studies (2017) Mathematics courses 2 Winter
Faculty of Applied Sciences Mathematics and its Applications (2017) Mathematics courses 2 Winter
Faculty of Applied Sciences Financial Informatics and Statistics (2016) Economy 2 Winter
Faculty of Applied Sciences Land-use Planning (2016) Special and interdisciplinary fields 3 Winter
Faculty of Applied Sciences Computer Systems (2012) Electrical engineering, telecommunication and IT 3 Winter
Faculty of Applied Sciences General Mathematics (2012) Mathematics courses 2 Winter
Faculty of Economics Information Systems Management (2017) Economy 2 Winter