Course: Programming Strategies

« Back
Course title Programming Strategies
Course code KIV/PRO
Organizational form of instruction Lecture + Tutorial
Level of course Bachelor
Year of study 3
Semester Winter
Number of ECTS credits 5
Language of instruction Czech
Status of course Compulsory-optional, Optional
Form of instruction Face-to-face
Work placements This is not an internship
Recommended optional programme components None
Lecturer(s)
  • Vocke Jan, Ing.
  • Vejmělková Ivana, Prof. Dr. Ing.
Course content
1. Introduction into algorithms - correctness and efficacy of algorithms, robustness, analyses, problem solving 2.-6. Algorithmical strategies - brute force, greedy, incremental algorithms, divide & conquer, dynamic programmimg, backtracking 7. Randomized algorithms 8. Data stream algorithms 9. In-place and in situ algorithms 10. Heuristics and approximate solutions 11. Algorithmical complexity in real life 12. News and trends 13. Selected interesting "recreational" problems

Learning activities and teaching methods
Interactive lecture, Project-based instruction, Multimedia supported teaching, Students' portfolio, Task-based study method, Individual study, Students' self-study, Self-study of literature, Practicum
  • Contact hours - 52 hours per semester
  • Individual project (40) - 40 hours per semester
  • Presentation preparation (report) (1-10) - 5 hours per semester
  • Preparation for an examination (30-60) - 40 hours per semester
prerequisite
Knowledge
samostatně vytvořit jednoduchý algoritmus
využívat v algoritmizaci datové struktury pole, seznam, strom
Skills
programovat v jazyce Java nebo C nebo C++ nebo C# nebo Pascal/Delphi
samostatně studovat odbornou literaturu z oblasti informatiky
Competences
N/A
N/A
learning outcomes
Knowledge
- fundamental algorithmic strategies andtheir use to solve a particular problem with a particular type of data,
- knowledge of further modern methods, such as randomized, data stream and in-place algorithms,
- brief information about news and trends in the area of algorithmics,
Skills
- design of algorithms to solve particular problems.
- evaluation of suitability of an algorithm for a given problem
- understanding and shortened survey of a computer science text
- analysis of a simpler programming work with documentation
Competences
N/A
N/A
N/A
teaching methods
Knowledge
Lecture
Task-based study method
Individual study
Students' portfolio
Textual studies
Skills
Practicum
Task-based study method
Students' portfolio
Individual study
assessment methods
Knowledge
Written exam
Oral exam
Project
Individual presentation at a seminar
Skills
Project
Individual presentation at a seminar
Recommended literature
  • Dvořák, Stanislav. Dekompozice a rekursivní algoritmy. Praha : Grada, 1992. ISBN 80-85424-76-2.
  • Gonnet, Gaston H.; Baeza-Yates, R. Handbook of algorithms and data structures : in Pascal and C. Wokingham : Addison-Wesley, ----. ISBN 0-201-41607-7.
  • Hromkovič, Juraj. Algorithmics for hard problems : introduction to combinatorial optimization, randomization, approximation, and heuristics. 2nd ed. Berlin : Springer, 2003. ISBN 3-540-44134-4.
  • Michalewicz, Z.; Fogel, D.B. How to solve it: Modern Heuristics. Springer-Verlag, 2000.
  • Moret, Bernard M. E.; Shapiro, H. D. Algorithms from P to NP. Vol. 1, Design & efficiency. Redwood City : Benjamin/Cummings Publishing, 1991. ISBN 0-8053-8008-6.
  • Rawlins, Gregory J. E. Compared to what? : an introduction to the analysis of algorithms. New York : Computer Science Press, 1992. ISBN 0-7167-8243-X.
  • Skiena, Steven S. The algorithm design manual. New York : Springer, 1998. ISBN 0-387-94860-0.


Study plans that include the course
Faculty Study plan (Version) Category of Branch/Specialization Recommended year of study Recommended semester