Category Theory is a branch of mathematics that studies the structure of mathematical objects and the relationships between them. Though highly abstract, it has proven to be a powerful tool for examining a wide range of concepts and structures.

In category theory, a category is defined as a collection of objects together with arrows (or morphisms) connecting them. These arrows generalize functions and are used to formalize the relations between objects within the category.

An introduction for programmers by Bartosz Milewski is available on youtube.