Course details
Category Theory in Computer Science
TKD Acad. year 2022/2023 Summer semester
Small and large categories, algebraic structures as categories, constructions on categories (free categories, subcategories and dual categories), special types of objects and morphisms, products and sums of objects, categories with products and circuits, categories with sums and flow charts, distributive categories and imperative programs, data types (arithmetics of reals, stacks, arrays, Binary trees, queues pointers, Turing Machines), functors anf functor categories, directed graphs and regular grammars.
Guarantor
Course coordinator
Language of instruction
Completion
Time span
- 26 hrs lectures
Assessment points
- 100 pts final exam
Department
Subject specific learning outcomes and competences
The students will be acquainted with the fundamental principles of the category theory and with possibilities of applying these principles in computer science. They will be able to use the knowledges gained when solving concrete problems in their specializations.
Learning objectives
The aim of the subject is to make students acquainted with fundamentals of the category theory oriented on applications in computer science. Individual categorical concepts and results are discussed from the view point of their meaning and use in computer science.
Prerequisite knowledge and skills
Basic lectures of mathematics at technical universities
Study literature
- J. Adámek, Matematické struktury a kategorie, SNTL, Praha, 1982
- B.C. Pierce: Basic Category Theory for Computer Scientists, The MIT Press, Cambridge, 1991
- R.F.C. Walters, Categories and Computer Science, Cambridge Univ. Press, 1991
Syllabus of lectures
- Small and large categories
- Algebraic structures as categories
- Constructions on categories
- Properties of objects and morphisms
- products and sums of objects
- Categories with products and circuits
- Categories with sums and flow charts
- Distributive categories
- Imperative programs
- Data types stack, array and binyry tree
- Data types queue and pointer, Turing machines
- Functors anf functir categories
- Grammars and automata
Controlled instruction
The subject is evaluated according to the result of the final exam, the minimum for passing the exam is 50/100 points.
Course inclusion in study plans
- Programme DIT, any year of study, Compulsory-Elective group T
- Programme DIT, any year of study, Compulsory-Elective group T
- Programme DIT-EN (in English), any year of study, Compulsory-Elective group T
- Programme DIT-EN (in English), any year of study, Compulsory-Elective group T
- Programme VTI-DR-4, field DVI4, any year of study, Elective
- Programme VTI-DR-4, field DVI4, any year of study, Elective
- Programme VTI-DR-4 (in English), field DVI4, any year of study, Elective
- Programme VTI-DR-4 (in English), field DVI4, any year of study, Elective