Course detail
Mathematical Principles of Computer Science
FSI-VZIAcad. year: 2018/2019
The course provides students with the introduction to mathematical computer science. Basic mathematical structures of the branch are discussed, their properties and implementation. C# is used as an implementation tool. Practical use of theorems and consequents is demonstrated on the implementation of simple technical applications.
Language of instruction
Number of ECTS credits
Mode of study
Guarantor
Learning outcomes of the course unit
Prerequisites
Co-requisites
Planned learning activities and teaching methods
Assesment methods and criteria linked to learning outcomes
Course curriculum
Work placements
Aims
Specification of controlled education, way of implementation and compensation for absences
Recommended optional programme components
Prerequisites and corequisites
Basic literature
Jungnickel, D: Graphs, networks and algorithms, 4th edition. Springer Berlin, Heidelberg, 2013. (EN)
Meduna, A., Švec, M.: Grammars with context conditions and their applications. Wiley, 2005. (EN)
Recommended reading
Classification of course in study plans
Type of course unit
Lecture
Teacher / Lecturer
Syllabus
2. The list, queue, stack structures, designs of representation and implementation.
3. Generalization of the list; oriented graph, its representation and implementation.
4. Breadth-first and depth-first search of graph, combined search; the use of queue and stack.
5. Approaches to implementation of evaluated graph, search in evaluated graph.
6. Special graph topologies (sp. trees, binary trees), representation and implementation, basics of use. AND/OR graphs.
7. Languages and grammars. Chomsky’s classification of languages.
8. Finite automatons and grammars, representation.
9. Finite automaton without stack, representation.
10. Finite automaton with stack, representation.
11. Turing machine, enumeratibility, algorithm complexity.
12. Basic concepts of fuzzy sets theory.
13. Recapitulation.
Computer-assisted exercise
Teacher / Lecturer
Syllabus
2. Implementation of list.
3. Implementation of queue and stack.
4. Implementation of tree.
5. Implementation of general oriented graph, search in graph I.
6. Implementation of general oriented graph, search in graph II.
7. Approaches to implementation of graph evaluation.
8. Searching in special graph topologies; examples of use.
9. Solution designs of simple problems realized through search in oriented evaluated graph.
10. Object implementation of finite automaton without stack.
11. Object implementation of finite automaton with stack.
12. Linguistic variable implementation, if-then operation.
13. Accreditation.