Course details

Category Theory in Computer Science

TKD Acad. year 2023/2024 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

Czech, English

Completion

Examination (written)

Time span

  • 26 hrs lectures

Assessment points

  • 100 pts final exam

Department

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.

 
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.

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

  1. Small and large categories
  2. Algebraic structures as categories
  3. Constructions on categories
  4. Properties of objects and morphisms
  5. products and sums of objects
  6. Categories with products and circuits
  7. Categories with sums and flow charts
  8. Distributive categories
  9. Imperative programs
  10. Data types stack, array and binyry tree
  11. Data types queue and pointer, Turing machines
  12. Functors anf functir categories 
  13. Grammars and automata 

Progress assessment

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

Back to top