Course: Fundamentals of programming and data processing 2

» List of faculties » FAV » KIV
Course title Fundamentals of programming and data processing 2
Course code KIV/ZPD2
Organizational form of instruction Lecture + Tutorial
Level of course Bachelor
Year of study not specified
Semester Summer
Number of ECTS credits 5
Language of instruction Czech
Status of course unspecified
Form of instruction Face-to-face
Work placements This is not an internship
Recommended optional programme components None
Lecturer(s)
  • Slánský Vlastimil, doc. Ing. Ph.D.
Course content
1. Algorithmic thinking, abstract data types. Flowchart. Computational complexity. 2. Stack, queue, solving sample tasks. 3. Priority queue, solving sample tasks. 4. List, dictionary, invertex list, solving sample tasks. 5. Sorting, searching, classification, solving sample tasks. Median, quantils. 6. Hash table, hash function, solving sample tasks. 7. Trees and tree-like structures, elementary terms. 8. Solving sample tasks using trees. 9. Graphs and graph structures. 10. Solving sample tasks using graphs. 11. Set algorithms: generating permutations, subsets, solving sample tasks. 12. Text algorithms, solving sample tasks. 13. Recursion, examples, solving sample tasks.

Learning activities and teaching methods
  • Contact hours - 52 hours per semester
  • Preparation for formative assessments (2-20) - 8 hours per semester
  • Preparation for an examination (30-60) - 30 hours per semester
  • Individual project (40) - 39 hours per semester
prerequisite
Knowledge
to understand simple programs written in an imperative programming language (Java, python)
to understand the basic control flow structures of iperative programming (cycles, conditions)
to understand the basics of computer data representation (the concept of a variable, array, data types)
Skills
to write simple programs in an impertaive programming language
Competences
N/A
N/A
learning outcomes
Knowledge
to have basic orientation in elemntary data structures (stack, queue, table, graph, tree)
to describe the interface of elementary data structures
to have a basic orientation in algorithms for processing of sets (permutation generation etc.)
to have a basic orientation in text string processing algorithms (substring searchning etc.)
to understand recursive program notation and execution
Skills
to use elementary data structures for solving common programming tasks
to independently desingn algorithms for solving common programming tasks
to identify basic programming patterns in common programming tasks
to read simple programs that use elementary data structures and to understand their function
Competences
N/A
teaching methods
Knowledge
Lecture
Lecture with visual aids
Lecture supplemented with a discussion
Skills
Practicum
Competences
Lecture
assessment methods
Knowledge
Written exam
Test
Continuous assessment
Skills
Skills demonstration during practicum
Competences
Written exam
Recommended literature
  • Lafore, Robert. Data structures & algorithms in Java. Corte Madera : Waite Group Press, 1998. ISBN 1-57169-095-6.
  • Mareš, Martin; Valla, Tomáš. Průvodce labyrintem algoritmů. 1. vydání. 2017. ISBN 978-80-88168-19-5.
  • Ryant, Ivan. Algoritmy a datové struktury objektově. Vydání první. 2017. ISBN 978-80-270-1660-0.


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