**Teoria kategorii** bada struktury wspólne dla wielu - czasem nawet bardzo odległych - działów matematyki. Znalazła mnogość zastosowań nie tylko w teoretycznej matematyce, ale też logice, informatyce, fizyce czy lingwistyce. Można ją rozumieć jako język opisu obiektów matematycznych, będący alternatywą dla języka teorii zbiorów. Podstawowym pomysłem jest skupienie się na *własnościach* obiektów, bez konieczności wnikania w to, jak są *skonstruowane* - tworząc rodzaj znanego informatykom podziału na *specyfikację* i *implementację*.
Przedmiot skupia się na zastosowaniach teorii kategorii w informatyce, na przykład w programowaniu i teorii języków programowania. Pojęcia pochodzące z teorii kategorii przeniknęły już dawno do codziennego warsztatu programisty pod postacią konstrukcji takich jak *funktory* czy *monady*. Przedmiot ten pozwoli zrozumieć skąd wzięły się te pojęcia, jakie są ich własności i jak je wykorzystać w praktyce.
Jedynym wymogiem wstępnym jest zdolność operowania podstawowymi pojęciami matematycznymi, ale pobieżna znajomość algebry abstrakcyjnej (np. wiedza co to jest *półgrupa*) i programowania funkcyjnego zdecydowanie pomogą w zrozumieniu motywacji dla wielu abstrakcyjnych i często początkowo nieintuicyjnych definicji.
**Omawiane zagadnienia:**
* Podstawowe pojęcia teorii kategorii: kategorie, funktory, transformacje naturalne,
* Konstrukcje **w** kategoriach (tłumaczenie definicji z języka teorii zbiorów na język teorii kategorii) i konstrukcje **na** kategoriach (np. produkt kategorii, kategorie strzałkowe i przecinkowe),
* Dualność: dwa pojęcia/twierdzenia w cenie jednego,
* Konstrukcje uniwersalne: (ko)końcowość, (ko)produkty, (ko)granice, sprzężenia,
* Lemat Yonedy,
* Domknięte kategorie kartezjańskie jako modele rachunku lambda,
* (Ko)rekurencyjne typy danych definiowane jako algebry (ko)końcowe,
* Monady i ich algebry,
* Wolne monady i semantyka efektów algebraicznych,
* Kwantyfikatory jako sprzężenia.
**Literatura:**
Podstawowy podręcznik:
* Steve Awodey, Category Theory (2nd ed.), Oxford Logic Guides, 2010
Inne podręczniki:
* Saunders Mac Lane, Categories for the Working Mathematician (2nd ed.), Springer, 1998
* Michael Barr, Charles Wells, Category Theory for Computing Science, Prentice Hall,1990
* Harold Simmons, An Introduction to Category Theory, Cambridge University Press, 2011
* David Spivak, Category Theory for the Sciences, MIT Press, 2014
* Tom Leinster, Basic Category Theory, Cambridge University Press, 2014